Esempio n. 1
0
        public IActionResult Index(FilterRulesModel model)
        {
            if (!model.LoadData)
            {
                return(DynamicResult(model));
            }
            FilterContainer <FilterRule> filter = FilterContainerBuilder.Build <FilterRule>();

            if (!model.EntityId.Equals(Guid.Empty))
            {
                filter.And(n => n.EntityId == model.EntityId);
            }

            if (model.GetAll)
            {
                model.Page     = 1;
                model.PageSize = WebContext.PlatformSettings.MaxFetchRecords;
            }
            else if (!model.PageSizeBySeted && CurrentUser.UserSettings.PagingLimit > 0)
            {
                model.PageSize = CurrentUser.UserSettings.PagingLimit;
            }
            model.PageSize = model.PageSize > WebContext.PlatformSettings.MaxFetchRecords ? WebContext.PlatformSettings.MaxFetchRecords : model.PageSize;
            PagedList <FilterRule> result = _filterRuleFinder.QueryPaged(x => x
                                                                         .Page(model.Page, model.PageSize)
                                                                         .Where(filter)
                                                                         .Sort(n => n.OnFile(model.SortBy).ByDirection(model.SortDirection)));

            model.Items      = result.Items;
            model.TotalItems = result.TotalItems;
            return(DynamicResult(model));
        }
Esempio n. 2
0
        public IActionResult Get(FilterRulesModel model)
        {
            FilterContainer <FilterRule> filter = FilterContainerBuilder.Build <FilterRule>();

            //filter.And(n => n.SolutionId == this.solutionId.Value);
            if (!model.EntityId.Equals(Guid.Empty))
            {
                filter.And(n => n.EntityId == model.EntityId);
            }
            if (model.GetAll)
            {
                model.Page     = 1;
                model.PageSize = 25000;
            }
            else if (CurrentUser.UserSettings.PagingLimit > 0)
            {
                model.PageSize = CurrentUser.UserSettings.PagingLimit;
            }
            PagedList <FilterRule> result = _filterRuleFinder.QueryPaged(x => x
                                                                         .Page(model.Page, model.PageSize)
                                                                         .Where(filter)
                                                                         .Sort(n => n.OnFile(model.SortBy).ByDirection(model.SortDirection)));

            model.Items      = result.Items;
            model.TotalItems = result.TotalItems;
            return(JOk(model));
        }