public async Task <IActionResult> Edit(int id, [Bind("RacunId,LijekId,Kolicina,Iznos")] Kupovina kupovina) { if (id != kupovina.RacunId) { return(NotFound()); } if (ModelState.IsValid) { try { _context.Update(kupovina); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!KupovinaExists(kupovina.RacunId)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } ViewData["LijekId"] = new SelectList(_context.Lijek, "LijekId", "Naziv", kupovina.LijekId); ViewData["RacunId"] = new SelectList(_context.Racun, "RacunId", "RacunId", kupovina.RacunId); return(View(kupovina)); }
public async Task <IActionResult> Edit(int id, [Bind("DatumTransakcije,Iznos")] Kupovina kupovina) { if (id != kupovina.Id) { return(NotFound()); } if (ModelState.IsValid) { try { _context.Update(kupovina); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!KupovinaExists(kupovina.Id)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } return(View(kupovina)); }
public ActionResult BuyCar(Vozilo vozilo, string submit) { List <Vozilo> vozila = (List <Vozilo>)HttpContext.Application["vozila"]; Korisnik kor = (Korisnik)Session["korisnik"]; if (kor == null || kor.Uloga.Equals(Role.ADMINISTRATOR)) { ViewBag.Vozila = vozila; ViewBag.Message = "Nemate prava pristupa ovoj stranici!"; ucitajOpcije(); return(View("Cars")); } Kupovina kupovina = new Kupovina(); if (submit.Equals("Otkazi")) { ViewBag.Vozila = vozila; ucitajOpcije(); return(View("Cars")); } else { try { int index = vozila.FindIndex(x => x.Id == vozilo.Id); vozilo.NaStanju = false; vozila[index] = vozilo; if (!CitanjePodataka.izmeniVozilo(vozila)) { throw new Exception(); } HttpContext.Application["vozila"] = vozila; List <Kupovina> k = CitanjePodataka.citajKupovinu(); kupovina.Id = k.Count == 0 ? 1 : k.Select(x => x.Id).Max() + 1; kupovina.Kupac = (Korisnik)Session["korisnik"]; kupovina.DatumKupovine = DateTime.Now.Date; kupovina._Vozilo = vozila[index]; kupovina.NaplacenaCena = vozila[index].Cena; if (!CitanjePodataka.pisiKupovinu(kupovina)) { throw new Exception(); } } catch (Exception ex) { Debug.WriteLine(ex); ViewBag.Message = "Desila se greska pri kupovini vozila vozila!"; } } ViewBag.Vozila = vozila; ucitajOpcije(); return(RedirectToAction("Cars")); }
public void TestDohvaćanjaProizvoda() { Kupac kupac = new Kupac { IdKupca = 1, Ime = "Ivo", Prezime = "Ivić", Adresa = "Ivana Meštrovica 26" }; Kupovina kupovina = new Kupovina { IdKupca = 1, IdKupljenihProizvoda = new List <int>() { 1, 2, 3 }, IdKupovine = 2 }; Proizvod proizvod1 = new Proizvod { IdProizvoda = 1, ImeProizvoda = "cipele", CijenaProizvoda = 100 }; Proizvod proizvod2 = new Proizvod { IdProizvoda = 2, ImeProizvoda = "badekostim", CijenaProizvoda = 100 }; Proizvod proizvod3 = new Proizvod { IdProizvoda = 3, ImeProizvoda = "ručnik", CijenaProizvoda = 100 }; List <Proizvod> proizvodi = new List <Proizvod>() { proizvod1, proizvod2, proizvod3 }; FacadePotvrdaOKupovini potvrda = new FacadePotvrdaOKupovini(kupac, kupovina, proizvodi); List <string> imenaProizvoda = new List <string>() { "cipele", "badekostim", "ručnik" }; CollectionAssert.AreEqual(imenaProizvoda, potvrda.DohvatiProizvode()); }
public async Task <IActionResult> Create([Bind("DatumTransakcije,Iznos")] Kupovina kupovina) { if (ModelState.IsValid) { _context.Add(kupovina); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } return(View(kupovina)); }
public void TestDohvaćanjaSvega() { Kupac kupac = new Kupac { IdKupca = 1, Ime = "Ivo", Prezime = "Ivić", Adresa = "Ivana Meštrovica 26" }; Kupovina kupovina = new Kupovina { IdKupca = 1, IdKupljenihProizvoda = new List <int>() { 1, 2, 3 }, IdKupovine = 2 }; Proizvod proizvod1 = new Proizvod { IdProizvoda = 1, ImeProizvoda = "cipele", CijenaProizvoda = 100 }; Proizvod proizvod2 = new Proizvod { IdProizvoda = 2, ImeProizvoda = "badekostim", CijenaProizvoda = 100 }; Proizvod proizvod3 = new Proizvod { IdProizvoda = 3, ImeProizvoda = "ručnik", CijenaProizvoda = 100 }; List <Proizvod> proizvodi = new List <Proizvod>() { proizvod1, proizvod2, proizvod3 }; FacadePotvrdaOKupovini potvrda = new FacadePotvrdaOKupovini(kupac, kupovina, proizvodi); string svipodatci = potvrda.DohvatiPodatkeOKupcu().ToString() + potvrda.DohvatiProizvode().ToString() + potvrda.DohvatiUkupnuCijenu(); Assert.AreEqual(svipodatci, potvrda.DobaviSvePodatke(2)); Assert.AreEqual("Unjeli ste krivi ID, pokušajte ponovo", potvrda.DobaviSvePodatke(1)); }
public static void SacuvajKupovinuUDatoteku(Kupovina kup) { if (File.Exists(putanja)) { using (StreamWriter sw = new StreamWriter(putanja, true)) { //foreach(Korisnik kor in korisnici) //// { sw.WriteLine(kup.ToString()); //} } } }
public static Kupovina PretvoriUObjekat(string linija) { CultureInfo MyCultureInfo = new CultureInfo("de-DE"); string[] str = linija.Split(';'); Kupovina kup = new Kupovina() { Id = Int32.Parse(str[0]), KorisnickoImeKupca = str[1], Proizvod = str[2], ProizvodId = Int32.Parse(str[3]), DatumKupovine = DateTime.Parse(str[4], MyCultureInfo), BrojNarucenihTegli = Int32.Parse(str[5]), UkupnaCena = Double.Parse(str[6]) }; return(kup); }
public static void UcitajKupovineIzDatoteke() { if (File.Exists(putanja)) { string linija; using (StreamReader sr = new StreamReader(putanja)) { while ((linija = sr.ReadLine()) != null) { Kupovina kupovina = PretvoriUObjekat(linija); kupovine.Add(kupovina); } } } }
public static bool pisiKupovinu(Kupovina kupovina) { using (System.IO.StreamWriter sw = System.IO.File.AppendText(pathKupovina)) { try { sw.WriteLine(kupovina.ToString()); return(true); } catch (Exception e) { //neka greska return(false); } } }
public void TestKupovine() { Kupovina kupovina = new Kupovina { IdKupca = 1, IdKupljenihProizvoda = new List <int>() { 1, 2, 3 }, IdKupovine = 2 }; Proizvod proizvod1 = new Proizvod { IdProizvoda = 1, ImeProizvoda = "cipele", CijenaProizvoda = 100 }; Proizvod proizvod2 = new Proizvod { IdProizvoda = 2, ImeProizvoda = "badekostim", CijenaProizvoda = 100 }; Proizvod proizvod3 = new Proizvod { IdProizvoda = 3, ImeProizvoda = "ručnik", CijenaProizvoda = 100 }; Assert.AreEqual(2, kupovina.IdKupovine); Assert.AreEqual(1, kupovina.IdKupca); List <int> idproizvoda = new List <int>() { proizvod1.IdProizvoda, proizvod2.IdProizvoda, proizvod3.IdProizvoda }; CollectionAssert.AreEqual(idproizvoda, kupovina.IdKupljenihProizvoda); }
//GET: Kupi/5&4 public ActionResult Kupi(int id, int?kolicina, string forma) { Korisnik korisnik = (Korisnik)Session["korisnik"]; if (korisnik != null && korisnik.Uloga.Equals(Uloga.KUPAC)) { List <Proizvod> pr = (List <Proizvod>)HttpContext.Application["proizvodi"]; Proizvod proizvod = pr.FirstOrDefault(p => p.Id == id); if (kolicina == null) { TempData["greska"] = "Unesite zeljenu kolicinu"; TempData["forma"] = forma; return(View("Detalji", proizvod)); } else if (proizvod.BrojTegli < kolicina || kolicina <= 0) { TempData["greska"] = "Na stanju nema " + kolicina + " proizvoda"; TempData["forma"] = forma; return(View("Detalji", proizvod)); } //update proizvodi i upis u kupovine proizvod.BrojTegli -= (int)kolicina; ProizvodiController.Update(proizvod, pr); List <Kupovina> ku = (List <Kupovina>)HttpContext.Application["kupovine"]; Kupovina kupovina = new Kupovina() { Id = ku.Last().Id + 1, KorisnickoImeKupca = korisnik.KorisnickoIme, Proizvod = proizvod.Naziv, ProizvodId = proizvod.Id, DatumKupovine = DateTime.Now, BrojNarucenihTegli = (int)kolicina, UkupnaCena = proizvod.CenaPoTegli * (int)kolicina }; ku.Add(kupovina); KupovinePodaci.SacuvajKupovinuUDatoteku(kupovina); return(RedirectToAction("Index")); } else { return(RedirectToAction("Index", "Authentication")); } }
public static List <Kupovina> citajKupovinu() { List <Kupovina> kupovina = new List <Kupovina>(); if (!System.IO.File.Exists(pathKupovina)) { var file = System.IO.File.Create(pathKupovina); file.Close(); return(kupovina); } using (System.IO.StreamReader sr = System.IO.File.OpenText(pathKupovina)) { try { string line = ""; int brojac = 0; while ((line = sr.ReadLine()) != null) { string[] kup = line.Split('|'); Kupovina kupac = new Kupovina(); kupovina.Add(new Kupovina { Id = ++brojac, Kupac = citajKorisnike().Values.Where(k => k.Id == Int32.Parse(kup[0])).Select(k => k).SingleOrDefault(), _Vozilo = citajVozila().Where(v => v.Id == Int32.Parse(kup[1])).Select(v => v).SingleOrDefault(), DatumKupovine = DateTime.ParseExact(kup[2], "d/M/yyyy", System.Globalization.CultureInfo.InvariantCulture), NaplacenaCena = double.Parse(kup[3]) }); } } catch (Exception e) { //neka greska } } return(kupovina); }
public async Task <IActionResult> Create(int racunId, [Bind("LijekId,Kolicina,Iznos")] Kupovina kupovina) { if (ModelState.IsValid) { var staraKupovina = await _context.Kupovina.FindAsync(racunId, kupovina.LijekId); var lijek = await _context.Lijek.FindAsync(kupovina.LijekId); var racun = await _context.Racun.FindAsync(racunId); var osiguranikJmbg = _context.Osiguranik .Where(x => x.Jmbg == racun.Jmbg) .Select(x => x.Jmbg) .FirstOrDefault(); if (staraKupovina != null) { if (lijek.Kolicina >= kupovina.Kolicina) { decimal cijena = (decimal)(kupovina.Kolicina * lijek.Cijena); if (lijek.NaRecept != 0 && osiguranikJmbg != null) { staraKupovina.Iznos += cijena - cijena * popust; racun.Iznos += (cijena - cijena * popust); _context.Update(racun); } else { staraKupovina.Iznos += cijena; racun.Iznos += cijena; _context.Update(racun); } staraKupovina.Kolicina += kupovina.Kolicina; _context.Update(staraKupovina); lijek.Kolicina -= kupovina.Kolicina; _context.Update(lijek); await _context.SaveChangesAsync(); return(RedirectToAction("Cart", "Kupovina", new { racunId = staraKupovina.RacunId })); } else { ModelState.AddModelError("Error", $"Broj lijekova na stanju je: {lijek.Kolicina}"); } } else { kupovina.RacunId = racunId; if (lijek.Kolicina >= kupovina.Kolicina) { decimal cijena = (decimal)(kupovina.Kolicina * lijek.Cijena); if (lijek.NaRecept != 0 && osiguranikJmbg != null) { kupovina.Iznos = cijena - cijena * popust; racun.Iznos += (cijena - cijena * popust); _context.Update(racun); } else { kupovina.Iznos = cijena; racun.Iznos += cijena; _context.Update(racun); } _context.Add(kupovina); lijek.Kolicina -= kupovina.Kolicina; _context.Update(lijek); await _context.SaveChangesAsync(); return(RedirectToAction("Cart", "Kupovina", new { racunId = kupovina.RacunId })); } else { ModelState.AddModelError("Error", $"Broj lijekova na stanju je: {lijek.Kolicina}"); } } } ViewData["LijekId"] = new SelectList(_context.Lijek, "LijekId", "Naziv", kupovina.LijekId); ViewData["RacunId"] = new SelectList(_context.Racun, "RacunId", "RacunId", kupovina.RacunId); return(View(kupovina)); }
public FacadePotvrdaOKupovini(Kupac kupac, Kupovina kupovina, List <Proizvod> proizvodi) { this.kupac = kupac; this.kupovina = kupovina; this.proizvodi = proizvodi; }