public async Task <ReplenishmentListModel> PrepareReplenishmentListModel(ReplenishmentSearchModel searchModel) { if (searchModel == null) { throw new ArgumentNullException(nameof(searchModel)); } var replenishments = await _replenishmentService.GetReplenishmentsAsync( storeIds : searchModel.SelectedStoreIds.ToArray(), pageIndex : searchModel.Page - 1, pageSize : searchModel.PageSize); var model = new ReplenishmentListModel { Data = replenishments.Select(replenishment => { var replenishmentsModel = replenishment.ToModel <ReplenishmentModel>(); replenishmentsModel.BufferDays = replenishment.BufferDays; replenishmentsModel.ReplenishmentQty = replenishment.ReplenishmentQty; replenishmentsModel.StoreName = String.Join(", ", replenishment.ReplenishmentStores.Select(store => store.Store.P_BranchNo + " - " + store.Store.P_Name)); replenishmentsModel.CreatedOn = _dateTimeHelper.ConvertToUserTime(replenishment.CreatedOnUtc, DateTimeKind.Utc); replenishmentsModel.LastActivityDate = _dateTimeHelper.ConvertToUserTime(replenishment.ModifiedOnUtc.GetValueOrDefault(DateTime.UtcNow), DateTimeKind.Utc); return(replenishmentsModel); }), Total = replenishments.TotalCount }; // sort if (searchModel.Sort != null && searchModel.Sort.Any()) { foreach (var s in searchModel.Sort) { model.Data = await model.Data.Sort(s.Field, s.Dir); } } // filter if (searchModel.Filter != null && searchModel.Filter.Filters != null && searchModel.Filter.Filters.Any()) { var filter = searchModel.Filter; model.Data = await model.Data.Filter(filter); model.Total = model.Data.Count(); } return(model); }
public async Task <ReplenishmentSearchModel> PrepareReplenishmentSearchModel(ReplenishmentSearchModel searchModel) { if (searchModel == null) { throw new ArgumentNullException(nameof(searchModel)); } //prepare page parameters searchModel.SetGridPageSize(); var stores = await _storeService.GetStores(); searchModel.AvailableStores = stores.Select(store => new SelectListItem { Text = store.P_BranchNo.ToString() + " - " + store.P_Name, Value = store.P_BranchNo.ToString() }).ToList(); return(await Task.FromResult(searchModel)); }