public string GetEntityQuery(string entityName, EntityQueryType queryType, string parentEntityName = "") { if (entityName == "City") { switch (queryType) { case EntityQueryType.FindByKey: return(selectCityByKey); case EntityQueryType.FindByString: return(selectCityByString); default: throw new ArgumentException("No query for this EntityQueryType"); } } else if (entityName == "Order") { switch (queryType) { case EntityQueryType.FindByKey: return(selectOrderByKey); case EntityQueryType.FindByString: return(""); case EntityQueryType.FindByParentKey: if (parentEntityName == "City") { return(selectOrderByCityKey); } else { return(""); } default: throw new ArgumentException("No query for this EntityQueryType"); } } else { throw new ArgumentException($"No query for this EntityName: {entityName}"); } }
private TSetupEntityQuery GetSetupEntityQuery(string entityName, EntityQueryType queryType, IEntityConfig config, string parentEntityName = null) { TSetupEntityQuery res = new TSetupEntityQuery(); res.QueryType = queryType; if (queryType == EntityQueryType.FindByParentKey) { res.ParentEntityName = parentEntityName; res.QuerySql = config.GetEntityQuery(entityName, queryType, parentEntityName); } else if (queryType == EntityQueryType.FindDetailsByKey) { res.SortOrder = 2; res.QuerySql = "select 2 res"; } else { res.QuerySql = config.GetEntityQuery(entityName, queryType); res.SortOrder = 1; } return(res); }
public EntityQueryTypeClass(EntityQueryType queryType) { this.queryType = queryType; }
/// <summary> /// Applies the EntityQueryType<> filter expression against the source /// </summary> /// <param name="source"></param> /// <param name="filter"></param> /// <typeparam name="TSource"></typeparam> /// <returns></returns> public static IEnumerable <TSource> Where <TSource>(this IEnumerable <TSource> source, EntityQueryType <TSource> filter) { if (filter.HasValue) { return(Queryable.Where(source.AsQueryable(), filter.Query)); } return(source); }