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); }
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); }
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); }
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); }