示例#1
0
        /// <summary>
        /// Returns a SQLExpressionGroup from a supplied DBExpressionGroup
        /// </summary>
        /// <param name="dbGroup">The DBExpressionGroup to return as a SQLExpressionGroup</param>
        /// <returns>A SQLExpressionGroup from a DBExpressionGroup</returns>
        public static SQLExpressionGroup FromDBGroup(IQueryExpressionGroup dbGroup)
        {
            var newGroup = new SQLExpressionGroup()
            {
                Id          = dbGroup.Id,
                Name        = dbGroup.Name,
                Parent      = dbGroup.Parent,
                NotGroup    = dbGroup.NotGroup,
                AndWithNext = dbGroup.AndWithNext
            };

            if ((dbGroup.Children?.Count ?? 0) == 0)
            {
                return(newGroup);
            }
            else
            {
                newGroup.Children = new List <ISQLElement>();
            }
            foreach (var curChild in dbGroup.Children)
            {
                if (curChild.GetType().GetInterface(nameof(IDBExpressionGroup)) is { })
 public static IQueryElement NewItem <TParent>(TParent parent) where TParent : IQueryElement
 {
     return(parent is null ? new DBExpressionItem() : IQueryExpressionGroup.NewItem(parent as IQueryExpressionGroup));
 }