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);
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
        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);
                    }
                }
            }
        }