示例#1
0
        public override Model.Models.RezervacijaRentanja GetById(int id)
        {
            var rezervacija = _context.RezervacijaRentanja.FirstOrDefault(x => x.RezervacijaRentanjaId == id);
            var klijent     = _context.Klijent.FirstOrDefault(x => x.KlijentId == rezervacija.KlijentId);
            var vozilo      = _context.Automobil.Include(y => y.Model).ThenInclude(z => z.Proizvodjac).FirstOrDefault(x => x.AutomobilId == rezervacija.AutomobilId);

            var result = _mapper.Map <Model.Models.RezervacijaRentanja>(rezervacija);

            result.VoziloInformacije      = vozilo.Model.Proizvodjac.Naziv + " " + vozilo.Model.Naziv;
            result.VoziloProizvodjacModel = vozilo.Model.Proizvodjac.Naziv + " " + vozilo.Model.Naziv;
            result.RezervacijaInformacije = result.DatumKreiranja.ToShortDateString() + " (" + result.VoziloInformacije + ")";
            result.Klijent = klijent.Ime + " " + klijent.Prezime;


            var posljednjaRegistracija = _context.RegistracijaVozila
                                         .FirstOrDefault(x => x.AutomobilId == result.AutomobilId &&
                                                         x.Status);

            if (posljednjaRegistracija != null)
            {
                result.VoziloInformacije = result.VoziloInformacije + "  (" + posljednjaRegistracija.RegistarskeOznake + ")";
            }


            if (vozilo.Slika != null)
            {
                result.SlikaThumb = vozilo.Slika;
            }

            result.CijenaIznajmljivanja = vozilo.CijenaIznajmljivanja;
            result.RezervacijaOdDo      = result.RezervacijaOd.ToString() + " - " + result.RezervacijaDo.ToString();
            result.RezervacijaBrojDana  = (result.RezervacijaDo - result.RezervacijaOd).Days.ToString();
            if (result.RezervacijaBrojDana == "0")
            {
                result.RezervacijaBrojDana = "1";
            }

            Database.Ocjena ocjene = _context.Ocjena.FirstOrDefault(x => x.RezervacijaRentanjaId == result.RezervacijaRentanjaId);
            if (ocjene != null)
            {
                result.IsOcjenjena = true;
                result.Ocjena      = ocjene.Ocjena1;
            }
            else
            {
                result.IsOcjenjena = false;
            }
            if (result.LokacijaPreuzimanja == "")
            {
                result.LokacijaPreuzimanja = "Preuzimanje u poslovnici";
            }

            return(result);
        }
示例#2
0
        public override Model.Models.RezervacijaFilma GetById(int id)
        {
            var rezervacija = _context.RezervacijaFilma.FirstOrDefault(x => x.RezervacijaFilmaId == id);
            var klijent     = _context.Klijent.FirstOrDefault(x => x.KlijentId == rezervacija.KlijentId);
            var film        = _context.Film.Include(y => y.Zanr).FirstOrDefault(x => x.FilmId == rezervacija.FilmId);

            var result = _mapper.Map <Model.Models.RezervacijaFilma>(rezervacija);

            result.FilmInformacije        = film.Naziv + " (" + film.Godina + ") ";
            result.RezervacijaInformacije = result.DatumKreiranja.ToShortDateString() + " (" + result.FilmInformacije + ")";
            result.Klijent = klijent.Ime + " " + klijent.Prezime;



            if (film.Slika != null)
            {
                result.SlikaThumb = film.Slika;
            }

            result.CijenaIznajmljivanja = film.CijenaIznajmljivanja;
            result.RezervacijaOdDo      = result.RezervacijaOd.ToString() + " - " + result.RezervacijaDo.ToString();
            result.RezervacijaBrojDana  = (result.RezervacijaDo - result.RezervacijaOd).Days.ToString();
            if (result.RezervacijaBrojDana == "0")
            {
                result.RezervacijaBrojDana = "1";
            }

            Database.Ocjena ocjene = _context.Ocjena.FirstOrDefault(x => x.RezervacijaFilmaId == result.RezervacijaFilmaId);
            if (ocjene != null)
            {
                result.IsOcjenjena = true;
                result.Ocjena      = ocjene.Ocjena1;
            }
            else
            {
                result.IsOcjenjena = false;
            }

            return(result);
        }
        public Model.Recomender Get(int tjelesniDetaljiId)
        {
            Database.TjelesniDetalji tjelesniDetalji = _context.TjelesniDetalji.Find(tjelesniDetaljiId);

            List <Database.PlanIprogram> recomendedList = new List <Database.PlanIprogram>();
            List <Database.PlanIprogram> otherList      = new List <Database.PlanIprogram>();
            List <Database.PlanIprogram> planList       = _context.PlanIprogram.Include(x => x.Kategorija).ToList();

            foreach (var plan in planList)
            {
                List <int> ocjene = new List <int>();

                List <Database.KorisnikPlanIprogram> korisnikPlanList = _context.KorisnikPlanIprogram.Include(x => x.TjelesniDetalji).Where(x => x.PlanId == plan.Id).ToList();
                foreach (var x in korisnikPlanList)
                {
                    var _tezinaRazlika = tjelesniDetalji.Tezina - x.TjelesniDetalji.Tezina;
                    var _bicepsRazlika = tjelesniDetalji.ObimBicepsa - x.TjelesniDetalji.ObimBicepsa;
                    var _strukRazlika  = tjelesniDetalji.ObimStruka - x.TjelesniDetalji.ObimStruka;
                    var _nogaRazlika   = tjelesniDetalji.ObimNoge - x.TjelesniDetalji.ObimNoge;
                    var _prsaRazlika   = tjelesniDetalji.ObimPrsa - x.TjelesniDetalji.ObimPrsa;
                    if (_tezinaRazlika < 10 && _tezinaRazlika > -10 &&
                        _bicepsRazlika < 10 && _bicepsRazlika > -10 &&
                        _nogaRazlika < 15 && _nogaRazlika > -15 &&
                        _prsaRazlika < 15 && _prsaRazlika > -15 &&
                        _strukRazlika < 15 && _strukRazlika > -15)
                    {
                        Database.Ocjena ocjena = _context.Ocjena.Where(y => y.PlanId == plan.Id && y.KorisnikId == x.KorisnikId).FirstOrDefault();
                        if (ocjena != null)
                        {
                            ocjene.Add(ocjena.Rating);
                        }
                    }
                }
                if (ocjene.Count != 0)
                {
                    if (ocjene.Average() > 3)
                    {
                        recomendedList.Add(plan);
                    }
                    else
                    {
                        otherList.Add(plan);
                    }
                }
                else
                {
                    otherList.Add(plan);
                }
            }
            Model.Recomender model = new Recomender
            {
                Recommended = _mapper.Map <List <Model.PlanIProgram> >(recomendedList),
                Other       = _mapper.Map <List <Model.PlanIProgram> >(otherList)
            };
            foreach (var x in model.Recommended)
            {
                x.Kategorija = _context.PlanKategorija.Where(y => y.Id == x.KategorijaId).Select(y => y.Naziv).SingleOrDefault();
            }
            foreach (var x in model.Other)
            {
                x.Kategorija = _context.PlanKategorija.Where(y => y.Id == x.KategorijaId).Select(y => y.Naziv).SingleOrDefault();
            }
            return(model);
        }
示例#4
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);
        }
示例#5
0
        public override List <Model.Models.RezervacijaFilma> Get(RezervacijaFilmaSearchRequest search)
        {
            var query = _context.Set <Database.RezervacijaFilma>().Include(x => x.Film)
                        .ThenInclude(y => y.Zanr)
                        .Include(f => f.Klijent)
                        .OrderByDescending(x => x.RezervacijaOd)
                        .AsQueryable();

            #region Search
            if (search.FilmId > 0)
            {
                query = query.Where(x => x.FilmId == search.FilmId);
            }
            if (search.KlijentId > 0)
            {
                query = query.Where(x => x.KlijentId == search.KlijentId);
            }

            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 (search.RezervacijaOd.HasValue)
            {
                query = query.Where(x => x.RezervacijaOd >= search.RezervacijaOd.Value.Date);
            }
            if (search.RezervacijaDo.HasValue)
            {
                query = query.Where(x => x.RezervacijaDo <= search.RezervacijaDo.Value.Date);
            }
            if (search.DatumKreiranja.HasValue)
            {
                query = query.Where(x => x.DatumKreiranja == search.DatumKreiranja.Value.Date);
            }
            if (search.StatusAktivna == true)
            {
                var max = DateTime.MaxValue;
                query = query.Where(x => x.RezervacijaDo >= DateTime.Now.Date);
            }

            if (search.StatusAktivna == false)
            {
                query = query.Where(x => x.RezervacijaDo < DateTime.Now.Date || x.Otkazana == true);
            }
            if (search.Otkazana == true && search.StatusAktivna == false)
            {
                query = query.Where(x => (bool)x.Otkazana == (bool)search.Otkazana);
            }

            if (search.Otkazana == false)
            {
                query = query.Where(x => x.Otkazana == search.Otkazana);
            }


            #endregion

            var list = query.ToList();

            #region ModelPLUS attributes
            List <Model.Models.RezervacijaFilma> result = _mapper.Map <List <Model.Models.RezervacijaFilma> >(list);
            foreach (var item in result)
            {
                var film = _context.Film.Include(y => y.Zanr)
                           .FirstOrDefault(x => x.FilmId == item.FilmId);

                item.FilmInformacije        = film.Naziv + " (" + film.Godina + ") ";
                item.RezervacijaInformacije = item.DatumKreiranja.ToShortDateString() + " (" + item.FilmInformacije + ")";
                var klijent = _context.Klijent.FirstOrDefault(x => x.KlijentId == item.KlijentId);
                item.Klijent = klijent.Ime + " " + klijent.Prezime;



                if (film.Slika != null)
                {
                    item.SlikaThumb = film.Slika;
                }

                item.CijenaIznajmljivanja = film.CijenaIznajmljivanja;
                item.RezervacijaOdDo      = item.RezervacijaOd.ToShortDateString() + " - " + item.RezervacijaDo.ToShortDateString();
                item.RezervacijaBrojDana  = (item.RezervacijaDo - item.RezervacijaOd).Days.ToString();
                if (item.RezervacijaBrojDana == "0")
                {
                    item.RezervacijaBrojDana = "1";
                }
                Database.Ocjena ocjene = _context.Ocjena.FirstOrDefault(x => x.RezervacijaFilmaId == item.RezervacijaFilmaId);
                if (ocjene != null)
                {
                    item.IsOcjenjena = true;
                    item.Ocjena      = ocjene.Ocjena1;
                }
                else
                {
                    item.IsOcjenjena = false;
                }
            }
            #endregion

            return(result);
        }