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