public async Task <OperationDataResult <Paged <FractionModel> > > Index([FromBody] FractionRequestModel requestModel) { return(await _fractionService.Index(requestModel)); }
public async Task <OperationDataResult <Paged <FractionModel> > > Index(FractionRequestModel pnRequestModel) { try { var fractionsModel = new Paged <FractionModel>(); var fractionsQuery = _dbContext.Fractions .Where(x => x.WorkflowState != Constants.WorkflowStates.Removed) .AsQueryable(); //if (!pnRequestModel.NameFilter.IsNullOrEmpty() && pnRequestModel.NameFilter != "") //{ // fractionsQuery = fractionsQuery.Where(x => // x.Name.Contains(pnRequestModel.NameFilter) || // x.Description.Contains(pnRequestModel.NameFilter)); //} fractionsQuery = QueryHelper.AddSortToQuery(fractionsQuery, pnRequestModel.Sort, pnRequestModel.IsSortDsc); fractionsModel.Total = await fractionsQuery.Select(x => x.Id).CountAsync(); fractionsQuery = fractionsQuery .Skip(pnRequestModel.Offset) .Take(pnRequestModel.PageSize); var fractions = await fractionsQuery .Select(x => new FractionModel { Id = x.Id, Name = x.Name, eFormId = x.eFormId, Description = x.Description, LocationCode = x.LocationCode, ItemNumber = x.ItemNumber }) .ToListAsync(); fractionsModel.Entities = fractions; var core = await _coreHelper.GetCore(); var eFormNames = new List <KeyValuePair <int, string> >(); var locale = await _userService.GetCurrentUserLocale(); var language = core.DbContextHelper.GetDbContext().Languages.Single(x => x.LanguageCode == locale); foreach (var fractionModel in fractionsModel.Entities) { if (fractionModel.eFormId > 0) { if (eFormNames.Any(x => x.Key == fractionModel.eFormId)) { fractionModel.SelectedTemplateName = eFormNames.First(x => x.Key == fractionModel.eFormId).Value; } else { try { var eFormName = core.TemplateItemRead(fractionModel.eFormId, language).Result.Label; fractionModel.SelectedTemplateName = eFormName; var kvp = new KeyValuePair <int, string>(fractionModel.eFormId, eFormName); eFormNames.Add(kvp); } catch { var kvp = new KeyValuePair <int, string>(fractionModel.eFormId, ""); eFormNames.Add(kvp); } } } } return(new OperationDataResult <Paged <FractionModel> >(true, fractionsModel)); } catch (Exception e) { Trace.TraceError(e.Message); _coreHelper.LogException(e.Message); return(new OperationDataResult <Paged <FractionModel> >(false, _trashInspectionLocalizationService.GetString("ErrorObtainingFractions"))); } }