public IActionResult Index() { NaruzbaViewModel returnModel = new NaruzbaViewModel(); PopulateModel(ref returnModel); return(View(returnModel)); }
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")); }
private void PopulateModel(ref NaruzbaViewModel returnModel) { KosaricaIndexViewModel model = new KosaricaIndexViewModel(); model.TotalPrice = 0; List <Item> cart = SessionHelper.GetObjectFromJson <List <Item> >(HttpContext.Session, CartName); // get all of the data for display view and calculate the total price of the phone foreach (var item in cart) { var mobitel = mobitelService.GetMobitel(item.Product.Id); item.Product.mobitel = MobitelViewModel.ConvertToMobitelViewModel(mobitel); model.TotalPrice += Converter.RoundToTwoDecimal(item.Product.mobitel.Cijena * item.Quantity); } model.Items = cart; returnModel.Detalji = model; }