예제 #1
0
        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));
        }
예제 #3
0
        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));
        }