Files
Disco/Disco.Web/Areas/API/Models/Expressions/ValidateExpressionModel.cs
T
2013-02-28 17:15:46 +11:00

37 lines
1.3 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using Disco.BI.Expressions;
namespace Disco.Web.Areas.API.Models.Expressions
{
public class ValidateExpressionModel
{
public string Expression { get; set; }
public bool ExpressionValid { get; set; }
public int PositionRow { get; set; }
public int PositionColumn { get; set; }
public string Message { get; set; }
public string MessageHtmlEncoded { get; set; }
public static ValidateExpressionModel FromEvaluateExpressionPart(EvaluateExpressionPart part)
{
var parseException = part.ParseException;
if (parseException != null)
{
return new ValidateExpressionModel()
{
Expression = part.Source,
ExpressionValid = false,
Message = parseException.Message,
MessageHtmlEncoded = HttpUtility.HtmlEncode(parseException.Message),
PositionRow = parseException.PositionRow,
PositionColumn = parseException.PositionColumn
};
}
else
return new ValidateExpressionModel() { Expression = part.Source, ExpressionValid = true };
}
}
}