public async Task <IActionResult> CoreItems() { CoreItemListModel model = new CoreItemListModel(); ///Dropdownlist var costCenters = await _costCenterService.SelectCostCenter((int)_workContext.CurrentCustomer.ClientId, (int)_workContext.CurrentCustomer.UserType, (int)_workContext.CurrentCustomer.LogonId); foreach (var item in costCenters) { model.AvailableCostCenter.Add(new SelectListItem { Text = item.Both, Value = item.Sid.ToString() }); } model.AvailableCategory.Add(new SelectListItem { Text = "All", Value = "0" }); foreach (var item in (await _selectItemsServices.GetCoreItemCategories())) { model.AvailableCategory.Add(new SelectListItem { Text = item.Category1, Value = item.Category1 }); } return(View(model)); }
public async Task <IActionResult> CoreItems(DataSourceRequest command, CoreItemListModel model) { var(coreItemsListModel, totalCount) = await _selectItemsServices.PrepareCoreItemListModel(model, command.Page, command.PageSize); var gridModel = new DataSourceResult { Data = coreItemsListModel.ToList(), Total = totalCount }; return(Json(gridModel)); }
public async Task <(IEnumerable <CoreItemModel> coreItemsModel, int totalCount)> PrepareCoreItemListModel(CoreItemListModel model, int pageIndex, int pageSize) { var query = from c in _coreRepository.Table join i in _itemRepository.Table on c.VitemId equals i.VitemId join v in _vendorRepository.Table on i.VendorId equals v.VendorId where c.ClientId == (int)_workContext.CurrentCustomer.ClientId && v.ClientId == (int)_workContext.CurrentCustomer.ClientId select new CoreItemModel { Category = c.Category, vitemid = i.VitemId, Item = i.Vitem, Description = i.Vdescription, Unit = i.Uom, Pkg = i.Pkg, Price = i.SellingPrice, Vendor = c.Vname, GL = c.Gl }; //Searching if (!string.IsNullOrWhiteSpace(model.SearchByCriteria)) { query = query.Where(c => c.Item.Trim().ToLower().Contains(model.SearchByCriteria.Trim().ToLower()) || c.Description.Trim().ToLower().Contains(model.SearchByCriteria.Trim().ToLower())); } if (model.SearchByCategory != "0") { query = query.Where(c => c.Category.Trim().ToLower() == model.SearchByCategory.Trim().ToLower()); } //Sorting if (model.SortBy == 4) { query = query.OrderBy(c => c.Category); } if (model.SortBy == 2) { query = query.OrderBy(c => c.Description); } if (model.SortBy == 1) { query = query.OrderBy(c => c.Item); } if (model.SortBy == 3) { query = query.OrderBy(c => c.Vendor); } var coreItemsListModel = query.ToList(); int totalCount = coreItemsListModel.Count; int pageOffSet = (Convert.ToInt32(pageIndex) - 1) * 10; coreItemsListModel = coreItemsListModel.Skip(pageOffSet).Take(Convert.ToInt32(pageSize)).ToList(); return(coreItemsListModel, totalCount); }