public IActionResult PrikazRezervacija(string sortOrder, int page = 1) { Nalog trenutniNalog = Autentifikacija.GetLogiraniNalog(HttpContext); Data.Models.Klijent klijent = db.Klijenti.FirstOrDefault(x => x.NalogID == trenutniNalog.id); ViewData["brojArtikala"] = db.NarudzbaStavke.Where(x => x.Narudzba.KlijentID == klijent.id).Sum(q => q.Kolicina); ViewBag.ProstorijaSortParm = String.IsNullOrEmpty(sortOrder)? "Prostorija_desc" : ""; ViewBag.DatumSortParm = sortOrder == "Datum" ? "Datum_desc" : "Datum"; RezervacijePrikazRezervacijaVM model = new RezervacijePrikazRezervacijaVM(); model.rows = db.Rezervacije .Include(x => x.Uplata) .Include(x => x.Klijent) .Include(x => x.Termin) .ThenInclude(x => x.Prostorija) .Where(x => x.KlijentID == klijent.id) .Select(x => new RezervacijePrikazRezervacijaVM.Row() { RezervacijaID = x.id, Klijent = x.Klijent.Ime + " " + x.Klijent.Prezime, DatumVrijeme = x.Termin.DatumIVrijeme.ToString("yyyy-MM-dd hh:mm"), Prostorija = x.Termin.Prostorija.Naziv, Uplata = x.Uplata.Iznos.ToString() ?? "0", Odobrena = x.Odobrena }).OrderBy(x => x.RezervacijaID).Skip((page - 1) * PageSize).Take(PageSize).ToList(); model.PagingInfo = new Web.ViewModels.PagingInfo() { CurrentPage = page, ItemsPerPage = PageSize, TotalItems = db.Rezervacije.Count() }; switch (sortOrder) { case "Prostorija_desc": model.rows = model.rows.OrderByDescending(x => x.Prostorija); break; case "Datum": model.rows = model.rows.OrderBy(x => x.DatumVrijeme); break; case "Datum_desc": model.rows = model.rows.OrderByDescending(x => x.DatumVrijeme); break; default: model.rows = model.rows.OrderBy(x => x.Prostorija); break; } return(View(model)); }
public IActionResult Index() { Nalog trenutniNalog = Autentifikacija.GetLogiraniNalog(HttpContext); Data.Models.Klijent klijent = db.Klijenti.FirstOrDefault(x => x.NalogID == trenutniNalog.id); ViewData["brojArtikala"] = db.NarudzbaStavke.Where(x => x.Narudzba.KlijentID == klijent.id).Sum(q => q.Kolicina); return(PartialView()); }
public IActionResult ObrisiKlijenta(int id) { Data.Models.Klijent k = _db.Klijenti.Where(x => x.id == id).Include(q => q.Nalog).First(); _db.Nalozi.Remove(k.Nalog); _db.Klijenti.Remove(k); _db.SaveChanges(); return(Redirect("Klijenti")); }
public FileStreamResult ViewImage(int FajlID) { Nalog trenutniNalog = Autentifikacija.GetLogiraniNalog(HttpContext); Data.Models.Klijent klijent = db.Klijenti.FirstOrDefault(x => x.NalogID == trenutniNalog.id); ViewData["brojArtikala"] = db.NarudzbaStavke.Where(x => x.Narudzba.KlijentID == klijent.id).Sum(q => q.Kolicina); Fajl image = db.Fajlovi.FirstOrDefault(m => m.Id == FajlID); MemoryStream ms = new MemoryStream(image.Podaci); return(new FileStreamResult(ms, image.Tip)); }
public IActionResult Obrisi(int NarudzbaStavkeID) { Nalog trenutniNalog = Autentifikacija.GetLogiraniNalog(HttpContext); Data.Models.Klijent klijent = db.Klijenti.FirstOrDefault(x => x.NalogID == trenutniNalog.id); ViewData["brojArtikala"] = db.NarudzbaStavke.Where(x => x.Narudzba.KlijentID == klijent.id).Sum(q => q.Kolicina); NarudzbaStavke narudzbaStavke = db.NarudzbaStavke.Where(s => s.id == NarudzbaStavkeID).SingleOrDefault(); db.NarudzbaStavke.Remove(narudzbaStavke); db.SaveChanges(); return(RedirectToAction("UvidKorpe")); }
public IActionResult PovecajSmanjiStanje(int NarudzbaStavkeID, int OdabranaKolicina) { Nalog trenutniNalog = Autentifikacija.GetLogiraniNalog(HttpContext); Data.Models.Klijent klijent = db.Klijenti.FirstOrDefault(x => x.NalogID == trenutniNalog.id); ViewData["brojArtikala"] = db.NarudzbaStavke.Where(x => x.Narudzba.KlijentID == klijent.id).Sum(q => q.Kolicina); NarudzbaStavke postojecaNarudzba = db.NarudzbaStavke.Where(s => s.id == NarudzbaStavkeID).SingleOrDefault(); postojecaNarudzba.Kolicina = OdabranaKolicina; db.SaveChanges(); return(RedirectToAction("UvidKorpe")); }
public IActionResult SnimiKlijenta(int id, string username, string lozinka, string ime, string prezime, string spol, string jmbg, string grad) { Data.Models.Klijent k = _db.Klijenti.Where(x => x.id == id).Include(q => q.Grad).Include(w => w.Nalog).FirstOrDefault(); k.Nalog.KorisnickoIme = username; k.Nalog.Lozinka = lozinka; k.Ime = ime; k.Prezime = prezime; k.Spol = spol; k.JBMG = jmbg; k.GradID = int.Parse(grad); _db.SaveChanges(); return(Redirect("Klijenti")); }
public IActionResult PrikazTermina() { List <Termin> listaTermina = db.Termini.Include(w => w.Prostorija).ToList(); List <Rezervacija> listaRezervacija = db.Rezervacije.Include(s => s.Termin).ToList(); List <Termin> slobodniTermini = new List <Termin>(); List <Termin> zauzetiTermini = new List <Termin>(); foreach (var x in listaTermina) { bool nadjen = false; foreach (var y in listaRezervacija) { if (x.id == y.TerminID) { nadjen = true; } } if (nadjen != true) { slobodniTermini.Add(x); } } Nalog trenutniNalog = Autentifikacija.GetLogiraniNalog(HttpContext); Data.Models.Klijent klijent = db.Klijenti.FirstOrDefault(x => x.NalogID == trenutniNalog.id); ViewData["brojArtikala"] = db.NarudzbaStavke.Where(x => x.Narudzba.KlijentID == klijent.id).Sum(q => q.Kolicina); RezervacijePrikazTerminaVM model = new RezervacijePrikazTerminaVM { KlijentID = klijent.id, rows = slobodniTermini.Select(x => new RezervacijePrikazTerminaVM.Row { TerminID = x.id, Prostorija = x.Prostorija.Naziv, DatumVrijeme = x.DatumIVrijeme, Cijena = x.Cijena }).ToList(), }; return(View(model)); }
public IActionResult PrikazNaloga() { Nalog trenutniNalog = Autentifikacija.GetLogiraniNalog(HttpContext); Data.Models.Klijent klijent = db.Klijenti.FirstOrDefault(x => x.NalogID == trenutniNalog.id); ViewData["brojArtikala"] = db.NarudzbaStavke.Where(x => x.Narudzba.KlijentID == klijent.id).Sum(q => q.Kolicina); NalogPrikazNalogaVM model = new NalogPrikazNalogaVM() { KlijentID = klijent.id, Ime = klijent.Ime, KorisnickoIme = trenutniNalog.KorisnickoIme, Prezime = klijent.Prezime, Grad = db.Gradovi.Where(s => s.id == klijent.GradID).Select(s => s.Naziv).SingleOrDefault() }; return(View(model)); }
public IActionResult RezervisiTermin(int TerminID) { Nalog trenutniNalog = Autentifikacija.GetLogiraniNalog(HttpContext); Data.Models.Klijent klijent = db.Klijenti.FirstOrDefault(x => x.NalogID == trenutniNalog.id); ViewData["brojArtikala"] = db.NarudzbaStavke.Where(x => x.Narudzba.KlijentID == klijent.id).Sum(q => q.Kolicina); Rezervacija novaRezervacija = new Rezervacija { Odobrena = false, TerminID = TerminID, KlijentID = klijent.id, }; db.Rezervacije.Add(novaRezervacija); db.SaveChanges(); return(RedirectToAction("PrikazTermina")); }
public IActionResult PraviRacun(int NarudzbaID, bool ZeliDostavu, decimal UkupanIznos) { Nalog trenutniNalog = Autentifikacija.GetLogiraniNalog(HttpContext); Data.Models.Klijent klijent = db.Klijenti.FirstOrDefault(x => x.NalogID == trenutniNalog.id); ViewData["brojArtikala"] = db.NarudzbaStavke.Where(x => x.Narudzba.KlijentID == klijent.id).Sum(q => q.Kolicina); Narudzba odabranaNarudzba = db.Narudzbe.Include(s => s.Dostava) .Where(s => s.id == NarudzbaID).SingleOrDefault(); odabranaNarudzba.ZeliDostavu = ZeliDostavu; Racun noviRacun = new Racun(); noviRacun.NarudzbaID = NarudzbaID; noviRacun.DatumIzdavanja = DateTime.Now; noviRacun.KlijentId = klijent.id; noviRacun.UkupanIznos = UkupanIznos; if (ZeliDostavu) { Dostava novaDostava = new Dostava { Adresa = db.Gradovi.Where(s => s.id == klijent.GradID) .Select(s => s.Naziv).SingleOrDefault(), Cijena = 10 }; db.Dostava.Add(novaDostava); noviRacun.DostavaId = novaDostava.id; odabranaNarudzba.DostavaID = novaDostava.id; if (UkupanIznos < 100) { noviRacun.UkupanIznos += 10; } } db.Racun.Add(noviRacun); List <NarudzbaStavke> sviArtikli = db.NarudzbaStavke .Include(s => s.Artikal) .Where(s => s.NarudzbaID == NarudzbaID) .ToList(); foreach (var x in sviArtikli) { RacunStavke RS = new RacunStavke { Kolicina = x.Kolicina, ArtikalId = x.ArtikalID, RacunId = noviRacun.id }; Artikal artikal = db.Artikli.Where(s => s.id == x.ArtikalID).SingleOrDefault(); artikal.Kolicina -= x.Kolicina; db.RacunStavke.Add(RS); } odabranaNarudzba.KlijentID = null; db.SaveChanges(); RacunPraviRacunVM model = new RacunPraviRacunVM { Dostava = ZeliDostavu }; return(PartialView(model)); }
public IActionResult PrikazArtikala(string sortOrder, int page = 1, string pretragaString = null) { ViewBag.NazivSortParm = String.IsNullOrEmpty(sortOrder) ? "Naziv_desc" : ""; ViewBag.CijenaSortParm = sortOrder == "Cijena" ? "Cijena_desc" : "Cijena"; Nalog trenutniNalog = Autentifikacija.GetLogiraniNalog(HttpContext); Data.Models.Klijent klijent = db.Klijenti.FirstOrDefault(x => x.NalogID == trenutniNalog.id); ViewData["brojArtikala"] = db.NarudzbaStavke.Where(x => x.Narudzba.KlijentID == klijent.id).Sum(q => q.Kolicina); ShopPrikazArtikalaVM model = new ShopPrikazArtikalaVM(); if (string.IsNullOrEmpty(pretragaString)) { model.rows = db.Artikli.Include(x => x.PodKategorija) .Where(s => s.Kolicina > 0) .Select(x => new ShopPrikazArtikalaVM.Row() { ArtikalID = x.id, Naziv = x.Naziv, Cijena = x.Cijena, Kolicina = x.Kolicina, Fajl = db.Fajlovi.FirstOrDefault(w => w.Id == db.ArtikliFajlovi.FirstOrDefault(k => k.ArtikalID == x.id).FajlID), OdabranaKolicina = 1, Podkategorija = x.PodKategorija.Naziv }).OrderBy(x => x.ArtikalID).Skip((page - 1) * PageSize).Take(PageSize).ToList(); model.PagingInfo = new Web.ViewModels.PagingInfo() { CurrentPage = page, ItemsPerPage = PageSize, TotalItems = db.Artikli.Count() }; } else { model.rows = db.Artikli .Include(x => x.PodKategorija) .Where(s => s.Kolicina > 0) .Select(x => new ShopPrikazArtikalaVM.Row() { ArtikalID = x.id, Naziv = x.Naziv, Cijena = x.Cijena, Kolicina = x.Kolicina, Fajl = db.Fajlovi.FirstOrDefault(w => w.Id == db.ArtikliFajlovi.FirstOrDefault(k => k.ArtikalID == x.id).FajlID), OdabranaKolicina = 1, Podkategorija = x.PodKategorija.Naziv }).Where(x => x.Podkategorija.ToLower().Contains(pretragaString.ToLower()) || x.Naziv.ToLower().Contains(pretragaString.ToLower())).ToList(); model.PagingInfo = new Web.ViewModels.PagingInfo() { CurrentPage = page, ItemsPerPage = PageSize, TotalItems = db.Artikli.Where(x => x.PodKategorija.Naziv.ToLower().Contains(pretragaString.ToLower()) || x.Naziv.ToLower().Contains(pretragaString.ToLower())).Count() }; } switch (sortOrder) { case "Naziv_desc": model.rows = model.rows.OrderByDescending(x => x.Naziv); break; case "Cijena": model.rows = model.rows.OrderBy(x => x.Cijena); break; case "Cijena_desc": model.rows = model.rows.OrderByDescending(x => x.Cijena); break; default: model.rows = model.rows.OrderBy(x => x.Naziv); break; } return(View(model)); }
public IActionResult UvidKorpe() { Nalog trenutniNalog = Autentifikacija.GetLogiraniNalog(HttpContext); Data.Models.Klijent klijent = db.Klijenti.FirstOrDefault(x => x.NalogID == trenutniNalog.id); ViewData["brojArtikala"] = db.NarudzbaStavke.Where(x => x.Narudzba.KlijentID == klijent.id).Sum(q => q.Kolicina); Narudzba postojecaNarudzba = db.Narudzbe .Where(s => s.KlijentID == klijent.id) .FirstOrDefault(); if (postojecaNarudzba != null) { List <NarudzbaStavke> sviArtikli = db.NarudzbaStavke .Include(s => s.Artikal) .Where(s => s.NarudzbaID == postojecaNarudzba.id) .ToList(); decimal UkupanIznos = 0; foreach (var x in sviArtikli) { UkupanIznos += x.Kolicina * x.Artikal.Cijena; } ShopUvidKorpeVM model = new ShopUvidKorpeVM(); model.NarudzbaID = postojecaNarudzba.id; model.UkupanIznos = UkupanIznos; model.ZeliDostavu = postojecaNarudzba.ZeliDostavu; model.rows = db.NarudzbaStavke .Include(x => x.Artikal) .Include(x => x.Narudzba) .Include(x => x.Artikal.PodKategorija) .Where(s => s.NarudzbaID == postojecaNarudzba.id) .Select(x => new ShopUvidKorpeVM.Row() { NarudzbaStavkeID = x.id, ArtikalID = x.ArtikalID, Naziv = x.Artikal.Naziv, Cijena = x.Artikal.Cijena, Kolicina = x.Artikal.Kolicina, Fajl = db.Fajlovi.FirstOrDefault(w => w.Id == db.ArtikliFajlovi.FirstOrDefault(k => k.ArtikalID == x.id).FajlID), OdabranaKolicina = x.Kolicina, Podkategorija = x.Artikal.PodKategorija.Naziv, }).OrderBy(x => x.ArtikalID).ToList(); return(View(model)); } else { ShopUvidKorpeVM model = new ShopUvidKorpeVM(); model.NarudzbaID = 0; return(View(model)); } }
public IActionResult StaviUKorpu(int ArtikalID, int Kolicina) { Nalog trenutniNalog = Autentifikacija.GetLogiraniNalog(HttpContext); Data.Models.Klijent klijent = db.Klijenti.FirstOrDefault(x => x.NalogID == trenutniNalog.id); ViewData["brojArtikala"] = db.NarudzbaStavke.Where(x => x.Narudzba.KlijentID == klijent.id).Sum(q => q.Kolicina); Narudzba postojecaNarudzba = db.Narudzbe .Where(s => s.KlijentID == klijent.id) .FirstOrDefault(); if (postojecaNarudzba == null) { Narudzba novaNarudzba = new Narudzba { KlijentID = klijent.id, ZeliDostavu = false, }; db.Narudzbe.Add(novaNarudzba); NarudzbaStavke novaNarudzbaStavke = new NarudzbaStavke { ArtikalID = ArtikalID, Kolicina = Kolicina, NarudzbaID = novaNarudzba.id }; db.NarudzbaStavke.Add(novaNarudzbaStavke); } else { NarudzbaStavke DaLiVecPostoji = this.db.NarudzbaStavke .FirstOrDefault(x => x.ArtikalID == ArtikalID && x.NarudzbaID == postojecaNarudzba.id); if (DaLiVecPostoji != null) { DaLiVecPostoji.Kolicina += Kolicina; db.SaveChanges(); return(RedirectToAction("PrikazArtikala")); } else { NarudzbaStavke novaNarudzbaStavke = new NarudzbaStavke { ArtikalID = ArtikalID, Kolicina = Kolicina, NarudzbaID = postojecaNarudzba.id }; db.NarudzbaStavke.Add(novaNarudzbaStavke); } } db.SaveChanges(); return(RedirectToAction("PrikazArtikala")); }