Example #1
0
        public async Task <OperationDataResult <ItemsListsModel> > Index(ItemsListRequestModel pnRequestModel)
        {
            try
            {
                var listsModel = new ItemsListsModel();

                var itemListsQuery = _dbContext.ItemLists
                                     .Where(x => x.WorkflowState != Constants.WorkflowStates.Removed)
                                     .AsQueryable();

                itemListsQuery =
                    QueryHelper.AddSortToQuery(itemListsQuery, pnRequestModel.Sort, pnRequestModel.IsSortDsc);

                if (!string.IsNullOrEmpty(pnRequestModel.NameFilter))
                {
                    itemListsQuery = itemListsQuery.Where(x => x.Name.Contains(pnRequestModel.NameFilter));
                }

                listsModel.Total = await itemListsQuery.Select(x => x.Id).CountAsync();

                itemListsQuery
                    = itemListsQuery
                      .Skip(pnRequestModel.Offset)
                      .Take(pnRequestModel.PageSize);

                listsModel.Lists = await itemListsQuery
                                   .Select(x => new ItemsListPnModel
                {
                    Id               = x.Id,
                    Name             = x.Name,
                    Description      = x.Description,
                    RepeatEvery      = x.RepeatEvery,
                    RepeatType       = x.RepeatType,
                    RepeatUntil      = x.RepeatUntil,
                    DayOfWeek        = x.DayOfWeek,
                    DayOfMonth       = x.DayOfMonth,
                    RelatedEFormId   = x.RelatedEFormId,
                    RelatedEFormName = x.RelatedEFormName,
                }).ToListAsync();

                return(new OperationDataResult <ItemsListsModel>(true, listsModel));
            }
            catch (Exception e)
            {
                Trace.TraceError(e.Message);
                return(new OperationDataResult <ItemsListsModel>(false,
                                                                 _itemsPlanningLocalizationService.GetString("ErrorObtainingLists")));
            }
        }
 public async Task <OperationDataResult <ItemsListsModel> > Index([FromBody] ItemsListRequestModel requestModel)
 {
     return(await _listService.Index(requestModel));
 }