public async Task <IActionResult> ManageFavouriteItems() { var model = new ManageFavoriteListModel(); //vendor model.AvailableVendor.Add(new SelectListItem { Text = "All", Value = "0" }); foreach (var item in (await _selectItemsServices.GetVendorList((int)_workContext.CurrentCustomer.ClientId))) { model.AvailableVendor.Add(new SelectListItem { Text = item.Vname, Value = item.VendorId.ToString() }); } //username model.AvailableUsername.Add(new SelectListItem { Text = "All", Value = "0" }); foreach (var item in (await _selectItemsServices.GetLogons((int)_workContext.CurrentCustomer.ClientId))) { model.AvailableUsername.Add(new SelectListItem { Text = item.UserName, Value = item.LogonId.ToString() }); } return(View(model)); }
public async Task <IActionResult> ManageFavouriteItems(DataSourceRequest command, ManageFavoriteListModel model) { var(favoriteModel, totalCount) = await _selectItemsServices.PrepareManageFavoriteListModel(model, command.Page, command.PageSize); var gridModel = new DataSourceResult { Data = favoriteModel, Total = totalCount }; return(Json(gridModel)); }
public async Task <(IEnumerable <ManageFavoriteModel> favoriteModel, int totalCount)> PrepareManageFavoriteListModel(ManageFavoriteListModel model, int pageIndex, int pageSize) { var query = from b in _bosoRepository.Table join l in _logonRepository.Table on b.LogonId equals l.LogonId join v in _itemRepository.Table on b.VitemId equals v.VitemId join ve in _vendorRepository.Table on b.ClientId equals ve.ClientId where (v.VendorId == ve.VendorId && b.ClientId == (int)_workContext.CurrentCustomer.ClientId && v.Hide != true) select new ManageFavoriteModel { ClientID = b.ClientId, BOSOID = b.Bosoid, LogonID = b.LogonId, Category = b.Category, AutoVendorID = b.AutoVendorId, VName = ve.Vname, UserName = l.UserName, VItemID = v.VitemId, VItem = v.Vitem, VDescription = v.Vdescription }; if (model.txtUserName != "0") { query = query.Where(c => c.UserName.Contains(_logonRepository.Table.Where(l => l.LogonId == Convert.ToInt32(model.txtUserName)).FirstOrDefault().UserName)); } if (!string.IsNullOrEmpty(model.txtVItem)) { query = query.Where(c => c.VItem.Contains(model.txtVItem)); } if (model.txtVendor != "0") { query = query.Where(c => c.VName.Contains(_vendorRepository.Table.Where(l => l.VendorId == Convert.ToInt32(model.txtVendor)).FirstOrDefault().Vname)); } //Sorting if (model.intSort == 1) { query = query.OrderBy(c => c.UserName); } if (model.intSort == 2) { query = query.OrderBy(c => c.VItem); } if (model.intSort == 3) { query = query.OrderBy(c => c.VName); } var favoriteList = query.ToList(); int totalCount = favoriteList.Count; int pageOffSet = (Convert.ToInt32(pageIndex) - 1) * 10; favoriteList = favoriteList.Skip(pageOffSet).Take(Convert.ToInt32(pageSize)).ToList(); return(favoriteList, totalCount); }