public async Task Init() { if (KlijentID > 0) { RezervacijaRentanjaSearchRequest searchRequest = new RezervacijaRentanjaSearchRequest(); searchRequest.KlijentId = KlijentID; searchRequest.Otkazana = false; var list = await _rezervacijeService.Get <IEnumerable <Model.Models.RezervacijaRentanja> >(searchRequest); int brojRezervacija = 0, uToku = 0, Zavrsene = 0; decimal ukupno = 0; RezervacijeRetanjaList.Clear(); RezervacijeRetanjaListZavrsene.Clear(); foreach (var item in list) { if (item.RezervacijaOd > DateTime.Now) { RezervacijeRetanjaList.Add(item); uToku++; } else { RezervacijeRetanjaListZavrsene.Add(item); Zavrsene++; } ukupno += item.IznosSaPopustom; brojRezervacija++; } UkupnoRezervacija = brojRezervacija; UkupnoRezervacijaUToku = uToku; UkupnoRezervacijaZavrsenih = Zavrsene; UkupnoUtroseno = ukupno; } }
public override List <Model.Models.RezervacijaRentanja> Get(RezervacijaRentanjaSearchRequest search) { var query = _context.Set <Database.RezervacijaRentanja>().Include(x => x.Automobil) .ThenInclude(y => y.Model) .ThenInclude(k => k.Proizvodjac) .Include(f => f.Klijent) .OrderByDescending(x => x.RezervacijaOd) .AsQueryable(); #region Search if (search.AutomobilId > 0) { query = query.Where(x => x.AutomobilId == search.AutomobilId); } if (search.KlijentId > 0) { query = query.Where(x => x.KlijentId == search.KlijentId); } if (search.ModelId > 0) { query = query.Where(x => x.Automobil.ModelId == search.ModelId); } if (search.ProizvodjacId > 0) { query = query.Where(x => x.Automobil.Model.ProizvodjacId == search.ProizvodjacId); } if (!string.IsNullOrWhiteSpace(search.Ime)) { var klijent = _context.Klijent.Where(y => y.Ime.StartsWith(search.Ime)).FirstOrDefault(); if (klijent != null) { query = query.Where(x => x.Klijent.Ime.StartsWith(search.Ime)); } } if (!string.IsNullOrWhiteSpace(search.Prezime)) { var klijent = _context.Klijent.Where(y => y.Prezime.StartsWith(search.Prezime)).FirstOrDefault(); if (klijent != null) { query = query.Where(x => x.Klijent.Prezime.StartsWith(search.Prezime)); } } if (!string.IsNullOrWhiteSpace(search.Username)) { var klijent = _context.Klijent.Where(y => y.UserName.StartsWith(search.Username)).FirstOrDefault(); if (klijent != null) { query = query.Where(x => x.Klijent.UserName.StartsWith(search.Username)); } } if (!string.IsNullOrWhiteSpace(search.RegistarskaOznaka)) { var registracija = _context.RegistracijaVozila.Where(y => y.RegistarskeOznake.ToLower().StartsWith(search.RegistarskaOznaka) && y.Status == true).FirstOrDefault(); if (registracija != null) { query = query.Where(x => x.AutomobilId == registracija.AutomobilId); } else { query = query.Where(x => x.AutomobilId == 0); } } if (search.RezervacijaOd.HasValue) { query = query.Where(x => x.RezervacijaOd.Date >= search.RezervacijaOd.Value.Date); } if (search.RezervacijaDo.HasValue) { query = query.Where(x => x.RezervacijaDo.Date <= search.RezervacijaDo.Value.Date); } if (search.DatumKreiranja.HasValue) { query = query.Where(x => x.DatumKreiranja.Date == search.DatumKreiranja.Value.Date); } if (search.StatusAktivna != null) { query = query.Where(x => x.RezervacijaDo.Date >= DateTime.Now.Date); } if (search.Otkazana != null) { query = query.Where(x => x.Otkazana == search.Otkazana); } if (search.VracanjeUposlovnicu != null) { query = query.Where(x => x.VracanjeUposlovnicu == search.VracanjeUposlovnicu); } if (search.KaskoOsiguranje != null) { query = query.Where(x => x.KaskoOsiguranje == search.KaskoOsiguranje); } #endregion var list = query.ToList(); #region ModelPLUS attributes List <Model.Models.RezervacijaRentanja> result = _mapper.Map <List <Model.Models.RezervacijaRentanja> >(list); foreach (var item in result) { item.RezervacijaInformacije = item.DatumKreiranja.ToShortDateString() + " (" + item.VoziloInformacije + ")"; var klijent = _context.Klijent.FirstOrDefault(x => x.KlijentId == item.KlijentId); item.Klijent = klijent.Ime + " " + klijent.Prezime; var vozilo = _context.Automobil.Include(y => y.Model) .ThenInclude(p => p.Proizvodjac) .FirstOrDefault(x => x.AutomobilId == item.AutomobilId); var posljednjaRegistracija = _context.RegistracijaVozila .FirstOrDefault(x => x.AutomobilId == item.AutomobilId && x.Status); item.VoziloInformacije = vozilo.Model.Proizvodjac.Naziv + " " + vozilo.Model.Naziv; item.VoziloProizvodjacModel = vozilo.Model.Proizvodjac.Naziv + " " + vozilo.Model.Naziv; if (posljednjaRegistracija != null) { item.VoziloInformacije = item.VoziloInformacije + " (" + posljednjaRegistracija.RegistarskeOznake + ")"; } if (vozilo.Slika != null) { item.SlikaThumb = vozilo.Slika; } item.CijenaIznajmljivanja = vozilo.CijenaIznajmljivanja; item.RezervacijaOdDo = item.RezervacijaOd.ToString() + " - " + item.RezervacijaDo.ToString(); item.RezervacijaBrojDana = (item.RezervacijaDo - item.RezervacijaOd).Days.ToString(); if (item.RezervacijaBrojDana == "0") { item.RezervacijaBrojDana = "1"; } Database.Ocjena ocjene = _context.Ocjena.FirstOrDefault(x => x.RezervacijaRentanjaId == item.RezervacijaRentanjaId); if (ocjene != null) { item.IsOcjenjena = true; item.Ocjena = ocjene.Ocjena1; } else { item.IsOcjenjena = false; } if (item.LokacijaPreuzimanja == "") { item.LokacijaPreuzimanja = "Preuzimanje u poslovnici"; } } #endregion return(result); }
private async Task PretragaRezervacija() { var search = new RezervacijaRentanjaSearchRequest(); var ModelidObj = cmbSearchModel.SelectedValue; var ProizvodjaciObj = cmbSearchProizvodjac.SelectedValue; if (int.TryParse(ModelidObj.ToString(), out int ModelId)) { search.ModelId = ModelId; } if (int.TryParse(ProizvodjaciObj.ToString(), out int ProizvodjacId)) { search.ProizvodjacId = ProizvodjacId; } if (txtSearchIme.Text != "") { search.Ime = txtSearchIme.Text; } if (txtSearchPrezime.Text != "") { search.Prezime = txtSearchPrezime.Text; } if (txtSearchUsername.Text != "") { search.Username = txtSearchUsername.Text; } if (txtRegOznaka.Text != "") { search.RegistarskaOznaka = txtRegOznaka.Text.ToLower(); } if (chBDK.Checked) { search.DatumKreiranja = dtpDatumKreiranja.Value; } if (chbDo.Checked) { search.RezervacijaDo = dtpDo.Value; } if (chBOd.Checked) { search.RezervacijaOd = dtpOd.Value; } if (!cbSveRezervacije.Checked) { if (chBoxKasko.Checked) { search.KaskoOsiguranje = chBoxKasko.Checked; } if (chBoxVracanjeUPoslovnicu.Checked) { search.VracanjeUposlovnicu = chBoxVracanjeUPoslovnicu.Checked; } if (chbAktivan.Checked) { search.StatusAktivna = chbAktivan.Checked; } if (cbOtkazane.Checked) { search.Otkazana = cbOtkazane.Checked; } } var result = await _RezervacijeService.Get <List <Model.Models.RezervacijaRentanja> >(search); dgvRezervacije.AutoGenerateColumns = false; dgvRezervacije.DataSource = result; }