private NamedExpressionsListModel GetNamedExpressionsList(String name, XElement logicXElem) { var expressionsByXElem = logicXElem.Element(name); if (expressionsByXElem == null) { return(null); } var expressionsModel = new NamedExpressionsListModel { Expressions = new List <NamedExpressionModel>() }; foreach (var itemXElem in expressionsByXElem.Elements("Item")) { var model = new NamedExpressionModel { Key = (Guid?)itemXElem.Element("Key"), Name = (String)itemXElem.Element("Name"), Expression = (String)itemXElem.Element("Expression"), OutputType = (String)itemXElem.Element("OutputType") }; expressionsModel.Expressions.Add(model); } return(expressionsModel); }
private XElement GetExpressionsXElem(String name, NamedExpressionsListModel model) { if (model == null || model.Expressions == null) { return(null); } var expressionsByXElem = new XElement(name); foreach (var item in model.Expressions) { var itemXElem = new XElement("Item", new XElement("Key", item.Key), new XElement("Name", item.Name), new XElement("Expression", item.Expression), new XElement("OutputType", item.OutputType)); expressionsByXElem.Add(itemXElem); } return(expressionsByXElem); }
private IEnumerable <String> GetExpressions(NamedExpressionsListModel model) { if (model == null || model.Expressions == null) { yield break; } foreach (var exp in model.Expressions) { if (exp != null && !String.IsNullOrWhiteSpace(exp.Expression)) { if (!String.IsNullOrWhiteSpace(exp.Name)) { var name = GetCorrectName(exp.Name); yield return(String.Format("{0} AS {1}", exp.Expression, name)); } else { yield return(exp.Expression); } } } }