示例#1
0
        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);
        }
示例#2
0
 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);
        }