Esempio n. 1
0
        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));
        }
Esempio n. 2
0
        //
        // 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));
        }