public NarudzbaDetailsVM Insert(NarudzbaDetailsVM request) { var temp = _mapper.Map <Database.NarudzbaDetails>(request); _db.NarudzbaDetails.Add(temp); _db.SaveChanges(); return(request); }
public void AddTocart() { NarudzbaDetailsVM narudzba = new NarudzbaDetailsVM() { Kolicina = 1, ProizvodId = _poklonId }; KorpaViewModel.AddToCart(narudzba, proizvodCart); }
public NarudzbaDetailsVM Update(NarudzbaDetailsVM request, int id) { var temp = _db.NarudzbaDetails.Find(id) ?? throw new ServerException(Constants.NotFoundErrorMessage + id); _mapper.Map(request, temp); _db.NarudzbaDetails.Update(temp); _db.SaveChanges(); return(request); }
public void DodajUKorpu(ProizvodVM model = null) { if (model == null) { return; } NarudzbaDetailsVM temp = new NarudzbaDetailsVM() { Kolicina = 1, ProizvodId = model.ProizvodId, }; KorpaViewModel.AddToCart(temp, model); }
public static void AddToCart(NarudzbaDetailsVM model, ProizvodVM poklon) { foreach (var item in ListaKorpe) { if (item.Proizvod.ProizvodId.Equals(model.ProizvodId)) { item.Narudzba.Kolicina++; item.CijenaProizvoda += item.Proizvod.Cijena; return; } } ListaKorpe.Add(new KorpaModel() { Narudzba = model, Proizvod = poklon, CijenaProizvoda = poklon.Cijena }); }
public async void Zavrsi() { #region ProvjeraDaLiJeKorpaPrazna if (!_ListaKorpe.Any()) { await PopupNavigation.Instance.PushAsync(new NotAuthorisedPopupView("Vaša korpa je prazna!")); return; } #endregion Dostava dostavaModel = new Dostava(); try { IsBusy = true; NarudzbaVM model = new NarudzbaVM() { KorisnikId = APIService.UserId, StatusPoruka = "Aktivno", DatumNarudzbe = DateTime.Now, }; List <NarudzbaDetailsVM> narudzbaDetailsList = new List <NarudzbaDetailsVM>(); foreach (var item in ListaKorpe) { #region ProvjeraValidacijeNarudzbe var tempProizvod = await _apiServiceProizvodi.GetbyId <ProizvodVM>(item.Proizvod.ProizvodId); if (tempProizvod.StanjeNaLageru < item.Narudzba.Kolicina) { narudzbaDetailsList.Clear(); await PopupNavigation.Instance.PushAsync(new NotAuthorisedPopupView("Nažalost poklon: " + item.Proizvod.Naziv + ", nemamo u toj količini, trenutno na lageru: " + tempProizvod.StanjeNaLageru.ToString())); return; } var korisnikDetails = await _apiServiceKorisnikDetails.GetbyId <KorisniciDetailsGetRequest>(APIService.UserDetailsId); if (korisnikDetails.AdresaStanovanja.Length < 3 || korisnikDetails.BrojTelefona.Length < 3 || korisnikDetails.DrzavaStanovanja.Length < 3 || korisnikDetails.GradStanovanja.Length < 3 || korisnikDetails.Ime.Length < 3 || korisnikDetails.Prezime.Length < 3 || korisnikDetails.PostalCode.Length < 3) { narudzbaDetailsList.Clear(); await PopupNavigation.Instance.PushAsync(new NotAuthorisedPopupView("Molimo popunite sve informacije na vašem profilu!")); return; } Dostava dost = new Dostava() { AdresaDostave = korisnikDetails.AdresaStanovanja, DrzavaDostave = korisnikDetails.DrzavaStanovanja, GradDostave = korisnikDetails.GradStanovanja, PostalCode = korisnikDetails.PostalCode, KontaktTelefon = korisnikDetails.BrojTelefona, }; switch (this.Dostava) { case 0: dost.TipDostave = "Bez dostave"; break; case 5: dost.TipDostave = "Regularna dostava"; break; case 10: dost.TipDostave = "Expresna dostava"; break; } dostavaModel = dost; #endregion NarudzbaDetailsVM temp = new NarudzbaDetailsVM() { ProizvodId = item.Proizvod.ProizvodId, Proizvod = item.Proizvod, Kolicina = item.Narudzba.Kolicina, Ukupno = item.Proizvod.Cijena * item.Narudzba.Kolicina, Popust = item.Narudzba.Popust ?? 0, }; //Updejta stanj na lageru proizvoda temp.Proizvod.StanjeNaLageru -= (int)item.Narudzba.Kolicina; temp.Ukupno += (decimal?)Dostava; narudzbaDetailsList.Add(temp); } //DODAVANJE U BAZU var dostavaIdModel = await _apiServiceDostava.Insert <Dostava>(dostavaModel); model.DostavaId = dostavaIdModel.DostavaId; var narudzba = await _apiServiceNarudzbe.Insert <NarudzbaVM>(model); foreach (var narudzbaDetalj in narudzbaDetailsList) { //UPDEJT STANJE NA LAGERU NE RADI!!! NEMOGUCI BUG //await _apiServiceProizvodi.ProizvodUpdateInStock<ProizvodVM>(narudzbaDetalj.Proizvod, narudzbaDetalj.ProizvodId); narudzbaDetalj.NarudzbaId = narudzba.NarudzbaId; await _apiServiceNarudzbeDetalji.Insert <NarudzbaDetailsVM>(new NarudzbaDetailsVM { Kolicina = narudzbaDetalj.Kolicina, NarudzbaId = narudzbaDetalj.NarudzbaId, Popust = narudzbaDetalj.Popust, ProizvodId = narudzbaDetalj.ProizvodId, Ukupno = narudzbaDetalj.Ukupno }); } ListaKorpe.Clear(); await PopupNavigation.Instance.PushAsync(new FinishOrderPopupView()); } catch (FlurlHttpException ex) { } finally { IsBusy = false; } }