/// <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)); }