public async Task <IActionResult> Index(int?page, bool OnlyMe, string ContractNo = "", string ContractName = "") { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var user = await _userManager.GetUserAsync(User); var linqVar = _contractService.GetContractIndexlinqVar(ContractNo, ContractName); if (OnlyMe == true) { linqVar = linqVar.Where(x => x.UserId == user.Id); } var pageNumber = page ?? 1; // if no page was specified in the querystring, default to the first page (1) var onePageOflinqVar = await linqVar.OrderByDescending(x => x.No).ToPagedList(pageNumber, 10).ToListAsync(); // will only contain 25 products max because of the pageSize var model = new ContractIndexViewModel { ContractNo = ContractNo, ContractName = ContractName, StatusMessage = StatusMessage, ContractViewModels = onePageOflinqVar, }; return(View(model)); }
// // GET: /AdminArea/Freeways/ public ActionResult Index() { var dbContracts = db.Contracts.OrderBy(p => p.Contractor.ContractCompanyName).ToList(); var dbBeats = db.vBeats.OrderBy(p => p.BeatNumber).ToList(); var dbContractsBeats = db.ContractsBeats.ToList(); var model = new ContractIndexViewModel(); model.Contracts = new List <ContractIndex>(); foreach (var dbContract in dbContracts) { var selectedBeats = (from q in dbContractsBeats join b in dbBeats on q.BeatID equals b.BeatID where q.ContractID == dbContract.ContractID orderby b.BeatNumber select b.BeatNumber).ToList(); model.Contracts.Add(new ContractIndex { Contract = dbContract, SelectedBeats = selectedBeats.OrderBy(p => p).ToList() }); } model.Contracts = model.Contracts.OrderBy(p => p.Contract.Contractor.ContractCompanyName).ThenBy(p => p.SelectedBeats.FirstOrDefault()).ToList(); return(View(model)); }