public ActionResult Index(int smjenaId) { List <TerminiIndexVM.TerminiInfo> Termini = ctx.Termins.Include(x => x.Smjena).Where(x => x.SmjenaId == smjenaId).Select(x => new TerminiIndexVM.TerminiInfo { Id = x.Id, Sati = x.Sati, Minuti = x.Minuti, SmjenaId = x.SmjenaId, SmjenaNaziv = x.Smjena.Naziv, Valid = x.Valid }).ToList(); TerminiIndexVM Model = new TerminiIndexVM { TerminiList = Termini, SmjID = smjenaId }; return(View("Index", Model)); }
public IActionResult Index(string sortOrder, int page = 1, string pretragaString = null) { ViewBag.ProstorijaSortParm = String.IsNullOrEmpty(sortOrder) ? "Prostorija_desc" : ""; ViewBag.DatumSortParm = sortOrder == "Datum" ? "Datum_desc" : "Datum"; TerminiIndexVM vm = new TerminiIndexVM(); if (string.IsNullOrEmpty(pretragaString)) { vm.Rows = db.Rezervacije.Include(x => x.Uplata).Include(x => x.Klijent).Include(x => x.Termin).ThenInclude(x => x.Prostorija).Where(x => x.Odobrena == false).Select(x => new TerminiIndexVM.Row() { RezervacijaID = x.id, Klijent = x.Klijent.Ime + " " + x.Klijent.Prezime, DatumVrijeme = x.Termin.DatumIVrijeme.ToString("yyyy-MM-dd hh:mm"), Prostorija = x.Termin.Prostorija.Naziv, Uplata = x.Uplata.Iznos.ToString() ?? "0", Odobrena = "Ne" }).OrderBy(x => x.RezervacijaID).Skip((page - 1) * PageSize).Take(PageSize).ToList(); vm.PagingInfo = new Web.ViewModels.PagingInfo() { CurrentPage = page, ItemsPerPage = PageSize, TotalItems = db.Rezervacije.Where(x => x.Odobrena == false).Count() }; } else { vm.Rows = db.Rezervacije.Include(i => i.Uplata).Include(u => u.Klijent).Include(j => j.Termin).ThenInclude(k => k.Prostorija).Where(x => x.Odobrena == false).Select(x => new TerminiIndexVM.Row() { RezervacijaID = x.id, Klijent = x.Klijent.Ime + " " + x.Klijent.Prezime, DatumVrijeme = x.Termin.DatumIVrijeme.ToString("yyyy-MM-dd hh:mm"), Prostorija = x.Termin.Prostorija.Naziv, Uplata = x.Uplata.Iznos.ToString() ?? "0", Odobrena = "Ne" }).Where(y => y.Klijent.ToLower().Contains(pretragaString.ToLower()) || y.Prostorija.ToLower().Contains(pretragaString.ToLower())).ToList(); vm.PagingInfo = new Web.ViewModels.PagingInfo() { CurrentPage = page, ItemsPerPage = PageSize, TotalItems = db.Rezervacije.Where(x => (x.Klijent.Ime + " " + x.Klijent.Prezime).ToLower().Contains(pretragaString.ToLower()) || x.Termin.Prostorija.Naziv.ToLower().Contains(pretragaString.ToLower())).Count() }; } switch (sortOrder) { case "Prostorija_desc": vm.Rows = vm.Rows.OrderByDescending(x => x.Prostorija); break; case "Datum": vm.Rows = vm.Rows.OrderBy(x => x.DatumVrijeme); break; case "Datum_desc": vm.Rows = vm.Rows.OrderByDescending(x => x.DatumVrijeme); break; default: vm.Rows = vm.Rows.OrderBy(x => x.Prostorija); break; } return(View(vm)); }