public async Task <DetailsFormLookupResponse> GetCaseDetailsFormLookupAsync() { var result = new DetailsFormLookupResponse(); var predicate = new ViewPredicate(); predicate.StartRow = 0; predicate.EndRow = 10000; predicate.Sort = new SortModel(); //case type var condition = new SortCondition { ColumnName = "CaseType", SortType = "Asc" }; predicate.Sort.SortConditions = new List <SortCondition>(); predicate.Sort.SortConditions.Add(condition); var caseTypeResult = await _caseTypeManager.GetAllAsync(new CaseTypeGetAllRequest { Predicate = predicate }); if (caseTypeResult != null && caseTypeResult.Result.Any()) { result.CaseTypes = caseTypeResult.Result; } //Zone Area condition.ColumnName = "[Zone]"; var zoneAreaResult = await _zoneAreaManager.GetAllAsync(new ZoneAreaGetAllRequest { Predicate = predicate }); if (zoneAreaResult != null && zoneAreaResult.Result.Any()) { result.ZoneAreas = zoneAreaResult.Result; } //agency condition.ColumnName = "[Name]"; var agencyResult = await _agencyManager.GetAllAsync(new Common.Request.Agency.AgencyGetAllRequest { Predicate = predicate }); if (agencyResult != null && agencyResult.Result.Any()) { result.Agencies = agencyResult.Result; } //planning office condition.ColumnName = "[Name]"; var planningOfficeResult = await _planningOfficeManager.GetAllAsync(new PlanningOfficeGetAllRequest { Predicate = predicate }); if (planningOfficeResult != null && planningOfficeResult.Result.Any()) { result.PlanningOffices = planningOfficeResult.Result; } return(result); }
internal View(ComponentTable <T> table, ViewPredicate predicate) => (_predicate, Table) = (predicate, table);
public static string ConvertToString(this ViewPredicate obj) { string query = string.Empty; if (obj == null) { return(query); } if (obj.Filter != null) { if (obj.Filter.FilterQueries != null && obj.Filter.FilterQueries.Any()) { int totalfilterQueries = obj.Filter.FilterQueries.Count; //query = " AND "; foreach (var filterQuery in obj.Filter.FilterQueries) { totalfilterQueries--; string item = string.Empty; string startDelimiter = string.Empty; string endDelimiter = string.Empty; if (filterQuery.Conditions != null && filterQuery.Conditions.Any()) { switch (filterQuery.DataType.ToUpper()) { case "STRING": startDelimiter = "'"; endDelimiter = "'"; break; case "DATETIME": startDelimiter = "'"; endDelimiter = "'"; break; } string filterType = string.Empty; switch (filterQuery.Conditions[0].FilterType.ToUpper()) { case "EQUALS": filterType = " = "; break; case "STARTWITH": filterType = " LIKE "; startDelimiter = "'"; endDelimiter = "%'"; break; case "ENDWITH": filterType = " LIKE "; startDelimiter = "'%"; endDelimiter = "'"; break; case "CONTAINS": filterType = " LIKE "; startDelimiter = "'%"; endDelimiter = "%'"; break; case "GREATERTHAN": filterType = " > "; break; case "LESSTHAN": filterType = " < "; break; } item = string.Format(" ( {0} {1} {2}{3}{4} ) ", filterQuery.ColumnName, filterType, startDelimiter, filterQuery.Conditions[0].SearchKey, endDelimiter); } if (totalfilterQueries > 0) { if (item != string.Empty && filterQuery.FilterOperator.ToUpper() == "AND") { item = item + " AND "; } else if (item != string.Empty) { item = item + " OR "; } } query = query + item; } if (!string.IsNullOrEmpty(query)) { query = " AND (" + query + ") "; } } } if (obj.Sort != null) { if (obj.Sort.SortConditions != null && obj.Sort.SortConditions.Any()) { query = string.Format("{0} {1} {2} {3}", query, " ORDER BY ", obj.Sort.SortConditions[0].ColumnName, obj.Sort.SortConditions[0].SortType); } } return(query); }