public IActionResult Index(RezervacijePretragaVM VM) { var model = new NarudzbeViewModel { DatumOd = VM?.DatumOd ?? DateTime.Now.Date.AddMonths(-1), DatumDo = VM?.DatumDo ?? DateTime.Now.Date, }; IQueryable <Rezervacija> query = db.Rezervacija .Include(x => x.RezervacijaIznajmljenaBicikla) .Include(x => x.RezervacijaProdajaBicikla) .Include(x => x.RezervacijaProdajaDio) .Include(x => x.RezervacijaProdajaOprema) .Include(x => x.RezervacijaServis); if (model.DatumOd.HasValue && model.DatumDo.HasValue) { query = query.Where(x => model.DatumOd <= x.DatumRezervacije.Date && x.DatumRezervacije.Date <= model.DatumDo.Value); } query = query.Where(x => x.RezervacijaProdajaBicikla.Any() || x.RezervacijaProdajaDio.Any() || x.RezervacijaProdajaOprema.Any()); model.Rezervacije = query.OrderByDescending(x => x.RezervacijaId).ToList(); return(View(model)); }
public IActionResult Pretraga(RezervacijePretragaVM model) { model.Dvorane = GetDvorane(); var imeLowercase = model.ImeKlijenta?.ToLower(); var prezimeLowercase = model.PrezimeKlijenta?.ToLower(); model.RezultatPretrage = context.Rezervacije .OrderByDescending(x => x.Termin.DatumIVrijeme) .Where(x => model.OdabranaDvorana == null || x.Termin.DvoranaID == model.OdabranaDvorana) .Where(x => string.IsNullOrEmpty(imeLowercase) || x.Klijent.Ime.ToLower().Contains(imeLowercase)) .Where(x => string.IsNullOrEmpty(prezimeLowercase) || x.Klijent.Prezime.ToLower().Contains(prezimeLowercase)) .Select(x => new RezervacijeIndexVM() { ID = x.ID, TerminID = x.TerminID, DatumIVrijemeTermina = x.Termin.DatumIVrijeme, Ime = x.Klijent.Ime, Prezime = x.Klijent.Prezime, NazivDvorane = x.Termin.Dvorana.Naziv, OdobrenaRezervacija = x.OdobrenaRezervacija, Placeno = x.UplataID != null }) .ToList(); return(View("Index", model)); }
public IActionResult Index(RezervacijePretragaVM VM) { var Klijent = HttpContext.GetLogiraniKorisnik().Klijent; var model = new RezervacijePretragaVM { DatumOd = VM?.DatumOd ?? DateTime.Now.Date.AddMonths(-1), DatumDo = VM?.DatumDo ?? DateTime.Now.Date, VrstaRezervacije = VM.VrstaRezervacije }; IQueryable <Rezervacija> query = db.Rezervacija .Where(x => x.KlijentId == Klijent.Id) .Include(x => x.RezervacijaIznajmljenaBicikla) .Include(x => x.RezervacijaProdajaBicikla) .Include(x => x.RezervacijaProdajaDio) .Include(x => x.RezervacijaProdajaOprema) .Include(x => x.RezervacijaServis); if (model.DatumOd.HasValue && model.DatumDo.HasValue) { query = query.Where(x => model.DatumOd <= x.DatumRezervacije.Date && x.DatumRezervacije.Date <= model.DatumDo.Value); } if (model.VrstaRezervacije.HasValue) { switch (model.VrstaRezervacije.Value) { case VrstaRezervacije.Kupovina: query = query.Where(x => x.RezervacijaProdajaBicikla.Any() || x.RezervacijaProdajaDio.Any() || x.RezervacijaProdajaOprema.Any()); break; case VrstaRezervacije.Servis: query = query.Where(x => x.RezervacijaServis.Any()); break; case VrstaRezervacije.Iznajmljivanje: query = query.Where(x => x.RezervacijaIznajmljenaBicikla.Any()); break; default: break; } } model.Rezervacije = query.OrderByDescending(x => x.RezervacijaId).ToList(); return(View(model)); }
public IActionResult Index() { var model = new RezervacijePretragaVM(); model.Dvorane = GetDvorane(); model.RezultatPretrage = context.Rezervacije .OrderByDescending(x => x.Termin.DatumIVrijeme) .Select(x => new RezervacijeIndexVM() { ID = x.ID, TerminID = x.TerminID, DatumIVrijemeTermina = x.Termin.DatumIVrijeme, Ime = x.Klijent.Ime, Prezime = x.Klijent.Prezime, NazivDvorane = x.Termin.Dvorana.Naziv, OdobrenaRezervacija = x.OdobrenaRezervacija, Placeno = x.UplataID != null }) .ToList(); return(View(model)); }