コード例 #1
0
        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;
            }
        }
コード例 #2
0
        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);
        }
コード例 #3
0
        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;
        }