// Zavrsava narudzbu, tako sto dodaje svaku narudzbu na stavku racuna, ali trenutno ne radi // razmisliti o drugom pristupu ovom problemu public ActionResult ZakljuciNarudzbu() { if (Session["korpa"] != null) { List <KorpaViewModel> korpa = (List <KorpaViewModel>)Session["korpa"]; double ukupnaCijena = 0; for (int i = 0; i < korpa.Count; i++) { ukupnaCijena += korpa[i].Korpa.UkupnaCijenaProizvoda; } Narudzba narudzbe = new Narudzba(); Racun racun = new Racun(); racun.DatumRacuna = DateTime.Now.Date; racun.VrijemeRacuna = DateTime.Now; racun.Popust = 0; racun.StolId = 181; racun.Ukupno = float.Parse(ukupnaCijena.ToString()); narudzbe.KorisnikId = korpa[1].Korpa.KorisnikId; narudzbe.IsDeleted = false; narudzbe.OnlineNarudzba = true; narudzbe.Prihvacena = false; narudzbe.VrijemeNarudzbe = korpa[1].Korpa.VrijemeNarudzbe; narudzbe.DatumNarudzbe = korpa[1].Korpa.DatumNarudzbe; narudzbe.UkupnaCijena = float.Parse(ukupnaCijena.ToString()); narudzbe.RacunId = racun.Id; ctx.Racuni.Add(racun); ctx.SaveChanges(); narudzbe.RacunId = racun.Id; ctx.Narudzbe.Add(narudzbe); for (int i = 0; i < korpa.Count; i++) { StavkaNarudzbe stavke = new StavkaNarudzbe(); stavke.IsDeleted = false; stavke.Kolicina = korpa[i].Korpa.Kolicina; stavke.ProizvodId = korpa[i].Korpa.ProizvodId; stavke.NarudzbaId = narudzbe.Id; ctx.StavkeNarudzbe.Add(stavke); ctx.SaveChanges(); } Session["korpa"] = null; ViewData["uspjesnaKupovina"] = "Uspjesno ste zavrsili kupovinu. Hvala Vam!"; } return(View("KorpaZavrsi")); }
public IActionResult Index(NaruzbaViewModel model) { NaruzbaViewModel returnModel = new NaruzbaViewModel(); PopulateModel(ref returnModel); if (!ModelState.IsValid) { return(View(returnModel)); } Narudzba narudzba = new Narudzba { Datum = DateTime.UtcNow, Kanton = model.Kanton, Ulica = model.Ulica, KontaktTelefon = model.KontaktTelefon, PostanskiBroj = model.PostanskiBroj, UkupnaCijena = returnModel.Detalji.TotalPrice, Stanje = 1, KupacId = kupacService.GetKupacByAspUserId(_userManager.GetUserId(HttpContext.User)), Opcina = model.Opcina }; List <StavkaNarudzbe> listaStavki = new List <StavkaNarudzbe>(); foreach (var item in returnModel.Detalji.Items) { var stavka = new StavkaNarudzbe { MobitelId = item.Product.Id, Kolicina = item.Quantity, Cijena = item.Product.mobitel.Cijena }; listaStavki.Add(stavka); } narudzbaService.InsertNarudzba(narudzba, listaStavki); // posalji sms zahvale kupcu string poruka = "Hvala vam na naruzbi sa webshopmobitela, " + model.Ime + ".Vasa naruzba ce ubrzo biti dostavljena u ulicu " + model.Ulica + "."; smsService.SendSms(new SmsModel { To = model.FullPhone, Text = poruka }); // nakon uspjesne narudzbe ukloni sve iz kosarice. List <Item> cart = SessionHelper.GetObjectFromJson <List <Item> >(HttpContext.Session, CartName); cart.RemoveAll(x => x.Quantity > 0); SessionHelper.SetObjectAsJson(HttpContext.Session, CartName, cart); return(RedirectToAction("Narudzbe")); }
public IActionResult Index(NarudzbaViewModel model) { NarudzbaViewModel returnModel = new NarudzbaViewModel(); PopulateModel(ref returnModel); if (!ModelState.IsValid) { return(View(returnModel)); } Narudzba narudzba = new Narudzba { DatumNarudzbe = DateTime.UtcNow, Kontakt = model.KontaktTelefon, UkupnaCijena = returnModel.Detalji.TotalPrice, Status = 1, KupacId = KupacService.GetKupacByAspUserId(UserManager.GetUserId(HttpContext.User)) }; List <StavkaNarudzbe> listaStavki = new List <StavkaNarudzbe>(); foreach (var item in returnModel.Detalji.Items) { var stavka = new StavkaNarudzbe { ArtikalId = item.Product.Id, Kolicina = item.Quantity, Cijena = item.Product.artikal.Cijena }; listaStavki.Add(stavka); } NarudzbaService.InsertNarudzba(narudzba, listaStavki); var VONAGE_API_KEY = Configuration["VONAGE_API_KEY"]; var VONAGE_API_SECRET = Configuration["VONAGE_API_SECRET"]; var credentials = Credentials.FromApiKeyAndSecret(VONAGE_API_KEY, VONAGE_API_SECRET); var client = new SmsClient(credentials); var request = new SendSmsRequest { To = model.KontaktTelefon, From = model.KontaktTelefon, Text = "Uspjesno ste narucili artikal!" }; var response = client.SendAnSms(request); ViewBag.MessageId = response.Messages[0].MessageId; // Delete sve iz kosarice nakon uspjesne narudzbe List <Item> cart = SessionHelper.GetObjectFromJson <List <Item> >(HttpContext.Session, CartName); cart.RemoveAll(x => x.Quantity > 0); SessionHelper.SetObjectAsJson(HttpContext.Session, CartName, cart); return(View("NarudzbaConfirmation")); }
//pravimo objekt StavkaNarudzbe i vraćamo je(formi) public StavkaNarudzbe DajStavku() { stavka = new StavkaNarudzbe(); Lijek lijek = (Lijek)cbxNaziv.SelectedItem; stavka.IdLijeka = lijek.ID; stavka.Kolicina = int.Parse(tbxKolicina.Text); return(stavka); }
public static void seed(ApplicationContext ctx) { ctx.Database.Migrate(); Narudzba narudzba = new Narudzba { Datum = DateTime.Now, Kanton = "Hercegovacko-Neretvanski", KontaktTelefon = "063513758", KupacId = 1, PostanskiBroj = "88260", StanjeNarudzbeId = 1, Opcina = "Citluk", UkupnaCijena = 1500d, Ulica = "Markovac 36" }; ctx.Narudzbe.Add(narudzba); ctx.SaveChanges(); StavkaNarudzbe stavka = new StavkaNarudzbe { MobitelId = 1, Cijena = 1500, Kolicina = 1, NarudzbaId = narudzba.Id }; ctx.StavkeNarudzbe.Add(stavka); ctx.SaveChanges(); Narudzba narudzba1 = new Narudzba { Datum = DateTime.Now, Kanton = "Hercegovacko-Neretvanski", KontaktTelefon = "063513758", KupacId = 1, PostanskiBroj = "88260", StanjeNarudzbeId = 4, Opcina = "Citluk", UkupnaCijena = 1500d, Ulica = "Markovac 36" }; ctx.Narudzbe.Add(narudzba1); ctx.SaveChanges(); StavkaNarudzbe stavka1 = new StavkaNarudzbe { MobitelId = 1, Cijena = 1500, Kolicina = 1, NarudzbaId = narudzba1.Id }; ctx.StavkeNarudzbe.Add(stavka1); ctx.SaveChanges(); }
public IActionResult DodajStavkuNarudzbe(IFormCollection forma) { if (!string.IsNullOrEmpty(forma["fldKolicina"])) { StavkaNarudzbe sn = _context.StavkaNarudzbe.Find(Int32.Parse(forma["dlStavkeNarudzbe"])); sn.Kolicina = Int32.Parse(forma["fldKolicina"]); sn.StavkaNarudzbeId = 0; StavkeNarudzbe.Add(sn); } return(RedirectToAction("ZahtjevZaNabavkuNamirnica", "Restoran")); }
public IActionResult Uredi(int VoziloId, int NarudzbaId) { StavkaNarudzbe sn = _context.StavkaNarudzbe.Where(w => w.NarudzbaID == NarudzbaId && w.VoziloID == VoziloId).Include(i => i.Vozilo).ThenInclude(t => t.Proizvodjac).SingleOrDefault(); NarudzbeStavkeUrediVM model = new NarudzbeStavkeUrediVM { VoziloId = sn.VoziloID, NarudzbaId = sn.NarudzbaID, Vozilo = sn.Vozilo.Proizvodjac.Naziv + " / " + sn.Vozilo.Model + " / " + sn.Vozilo.Godinaproizvodnje, Cijena = _context.Vozilo.Where(w => w.VoziloID == sn.VoziloID).Select(s => s.Cijena).SingleOrDefault(), Kolicina = sn.Kolicina }; return(PartialView(model)); }
public IActionResult SnimiUredi(NarudzbeStavkeUrediVM input) { if (!ModelState.IsValid) { return(View("Uredi", input)); } StavkaNarudzbe snUredi = _context.StavkaNarudzbe.Where(w => w.NarudzbaID == input.NarudzbaId && w.VoziloID == input.VoziloId).SingleOrDefault(); snUredi.CijenaPoKomadu = input.Cijena; snUredi.Kolicina = input.Kolicina; _context.SaveChanges(); return(Redirect("/Prodaja/NarudzbeStavke/Index?id=" + input.NarudzbaId)); }
public void GetUkupnaCijenaTest() { StavkaNarudzbe p1 = new StavkaNarudzbe(); p1.Kolicina = 0; p1.Cijena = 5; Decimal r1 = p1.GetUkupnaCijena(); Assert.AreEqual(0, r1, "Vrijednosti nisu nula"); StavkaNarudzbe p2 = new StavkaNarudzbe(); p2.Kolicina = -1; p2.Cijena = 5; Decimal r2 = p2.GetUkupnaCijena(); Assert.IsTrue(r2 < 0, "Vrijednosti nisu negativne"); }
/// <summary> /// Provjerava da li se trazeni artikl već nalazi u stavkama narudzbe, ako se vec nalazi onda kolicinu toga artikla u stavki inkrementira za 1, a ukoliko ne postoji onda kreira novu stavku sa inicijalnom kolicinom 1. /// </summary> public void ProvjeriStavkeNarudzbe(Artikl odabraniArtikl) { bool postojiArtikl = false; foreach (var stavka in stavkaNarudzbe) { if (stavka.IdArtikla == odabraniArtikl.IdArtikla) { stavka.Kolicina += 1; postojiArtikl = true; } } if (postojiArtikl == false) { StavkaNarudzbe novaStavka = new StavkaNarudzbe(odabraniArtikl.IdArtikla); stavkaNarudzbe.Add(novaStavka); } }
public IActionResult Obrisi(int VoziloId, int NarudzbaId) { StavkaNarudzbe sn = _context.StavkaNarudzbe.Where(w => w.NarudzbaID == NarudzbaId && w.VoziloID == VoziloId).SingleOrDefault(); Narudzba n = _context.Narudzba.Find(sn.NarudzbaID); _context.StavkaNarudzbe.Remove(sn); _context.SaveChanges(); var stavke = _context.StavkaNarudzbe.Where(w => w.NarudzbaID == sn.NarudzbaID).ToList(); double cijena = 0; foreach (var x in stavke) { cijena += x.CijenaPoKomadu * x.Kolicina; } n.Cijena = cijena; _context.SaveChanges(); return(Redirect("/Prodaja/NarudzbeStavke/Index?id=" + NarudzbaId)); }
public IActionResult Snimi(NarudzbeStavkeDodajVM input) { if (!ModelState.IsValid || input.VoziloId == 0) //ako nije odabrano vozilo jer ih nema više na stanju { GenerisiCmb(input, input.NarudzbaId); if (input.VoziloId == 0) { input.Vozila.Add(new SelectListItem { Value = "0", Text = "Nije pronađen nijedan zapis" }); } return(View("Dodaj", input)); } StavkaNarudzbe sn = new StavkaNarudzbe { VoziloID = input.VoziloId, NarudzbaID = input.NarudzbaId, CijenaPoKomadu = _context.Vozilo.Where(w => w.VoziloID == input.VoziloId).Select(s => s.Cijena).SingleOrDefault(), Kolicina = input.Kolicina }; _context.StavkaNarudzbe.Add(sn); _context.SaveChanges(); Narudzba n = _context.Narudzba.Find(sn.NarudzbaID); var stavke = _context.StavkaNarudzbe.Where(w => w.NarudzbaID == sn.NarudzbaID).ToList(); double cijena = 0; foreach (var x in stavke) { cijena += x.CijenaPoKomadu * x.Kolicina; } n.Cijena = cijena; _context.SaveChanges(); return(Redirect("/Prodaja/NarudzbeStavke/Index?id=" + input.NarudzbaId)); }
public IActionResult Detalji(int id) { Narudzba n = _context.Narudzba.Where(w => w.NarudzbaID == id).Include(i => i.Klijent).Include(i => i.StatusNarudzbe).SingleOrDefault(); NarudzbeDetaljiVM model = new NarudzbeDetaljiVM { BrojNarudzbe = n.NarudzbaID, DatumNarudzbe = n.Datum.ToString("dd/MM/yyyy"), Status = n.StatusNarudzbe.Naziv, KlijentImePrezime = n.Klijent.Ime + " " + n.Klijent.Prezime, StatusNarudzbeId = n.StatusNarudzbeID, }; StavkaNarudzbe ns = _context.StavkaNarudzbe.Where(w => w.NarudzbaID == n.NarudzbaID).FirstOrDefault(); if (ns != null) { model.Provjera = true; } return(View(model)); }
/// <summary> /// Prilikom brisanja artikla sa narudzbe provjerava da li je kolicina tog artikla veća ili jednaka 2, ako je onda ju dekrementira za 1, a ukoliko nije onda uklanja artikl sa stavki narudzbe. /// </summary> public void MakniStavkuNarudzbe(Artikl odabraniArtikl) { bool artiklPronaden = false; StavkaNarudzbe nadeniArtikl = null; foreach (var item in stavkaNarudzbe) { if (item.IdArtikla == odabraniArtikl.IdArtikla) { if (item.Kolicina >= 2) { item.Kolicina -= 1; artiklPronaden = true; nadeniArtikl = item; } } } if (artiklPronaden == false) { stavkaNarudzbe.Remove(nadeniArtikl); } }
// Zavrsava narudzbu, tako sto dodaje svaku narudzbu na stavku racuna, ali trenutno ne radi // razmisliti o drugom pristupu ovom problemu public ActionResult ZakljuciNarudzbu(int?stolId, int?korisnikId) { if (UposlenikStolNarudzba.UposlenikKorpaViewModels != null) { List <UposlenikKorpaViewModel> korpa = UposlenikStolNarudzba.UposlenikKorpaViewModels.Where(x => x.Korpa.StolID == stolId.Value && x.Korpa.KorisnikId == korisnikId.Value).ToList(); double ukupnaCijena = 0; for (int i = 0; i < korpa.Count; i++) { ukupnaCijena += korpa[i].Korpa.UkupnaCijenaProizvoda; } Narudzba narudzbe = new Narudzba(); Racun racun = new Racun(); racun.DatumRacuna = DateTime.Now.Date; racun.VrijemeRacuna = DateTime.Now; racun.Popust = 0; racun.StolId = stolId.Value; racun.Ukupno = float.Parse(ukupnaCijena.ToString()); narudzbe.KorisnikId = korpa[1].Korpa.KorisnikId; narudzbe.IsDeleted = false; narudzbe.OnlineNarudzba = true; narudzbe.Prihvacena = false; narudzbe.VrijemeNarudzbe = korpa[1].Korpa.VrijemeNarudzbe; narudzbe.DatumNarudzbe = korpa[1].Korpa.DatumNarudzbe; narudzbe.RacunId = racun.Id; ctx.Racuni.Add(racun); ctx.SaveChanges(); narudzbe.RacunId = racun.Id; ctx.Narudzbe.Add(narudzbe); for (int i = 0; i < korpa.Count; i++) { StavkaNarudzbe stavke = new StavkaNarudzbe(); stavke.IsDeleted = false; stavke.Kolicina = korpa[i].Korpa.Kolicina; stavke.ProizvodId = korpa[i].Korpa.ProizvodId; stavke.NarudzbaId = narudzbe.Id; ctx.StavkeNarudzbe.Add(stavke); ctx.SaveChanges(); } foreach (var x in korpa) { UposlenikStolNarudzba.UposlenikKorpaViewModels.Remove(x); } ViewData["uspjesnaKupovina"] = "Uspjesno ste zavrsili kupovinu. Hvala Vam!"; if (UposleniciZauzetiStolViewModel.stolId != null) { while (UposleniciZauzetiStolViewModel.stolId.Contains("stolID-" + stolId.Value)) { UposleniciZauzetiStolViewModel.stolId.Remove("stolID-" + stolId.Value); } } } return(View("KorpaZavrsi")); }