public IHttpActionResult PostSalata(NarudzbeVM Salata) { int saladId = Convert.ToInt32(Salata.SalataId); if (Salata != null) { #region DodavanjeSalateUKorpu // Pretraga za korpom, da li korpa korisnika vec postoji i da li je ona aktivna Korpa k = ctx.Korpa.FirstOrDefault(x => x.Aktivna && x.Korisnik.Id == Salata.KorisnikId); // Ukoliko korisnik nema korpu, potrebno je kreirati novu i aktivirati je if (k == null) { // Inicijalizacija nove korpe k = new Korpa { KorisnikId = Salata.KorisnikId, Zavrsena = false, Aktivna = true, VrijemeDolaska = DateTime.Now, VrijemeNarucivanja = DateTime.Now, Sifra = Constants.GenerateUniqueKod(9) }; ctx.Korpa.Add(k); // Spasavanje promijena ctx.SaveChanges(); } KorpaStavke ks = new KorpaStavke { KorpaId = k.Id, SalataId = saladId, Kolicina = 1 }; // Dodavanje u tabelu stavki korpe ctx.KorpaStavke.Add(ks); // Snimanje promijena ctx.SaveChanges(); #endregion return(Ok()); } else { return(BadRequest()); } }
private async void KomentarSalate_Clicked(object sender, EventArgs e) { var item = (Xamarin.Forms.Button)sender; int salataId = Convert.ToInt32(item.CommandParameter); if (salataId != 0) { NarudzbeVM narudzba = salate.FirstOrDefault(salata => salata.SalataId == salataId); KomentirajDialog komentirajDialog = new KomentirajDialog(narudzba.SalataId, narudzba.KorpaId, narudzba.KorisnikId); await PopupNavigation.PushAsync(komentirajDialog); } }
public IHttpActionResult GetHistorijaNarudzbe(string KorisnikId) { int korId = Convert.ToInt32(KorisnikId); List <NarudzbeVM> listSalata = new List <NarudzbeVM>(); List <int> korpaIds = ctx.Korpa.Where(x => x.KorisnikId == korId && x.Aktivna == false && x.Zavrsena == true && x.Finilizirana == true).Select(x => x.Id).ToList(); foreach (var korpaId in korpaIds) { List <KorpaStavke> ks = ctx.KorpaStavke.Where(y => y.KorpaId == korpaId).ToList(); foreach (KorpaStavke item in ks) { NarudzbeVM n = new NarudzbeVM(); n.SalataId = item.SalataId; n.KorpaId = item.KorpaId; n.KorisnikId = korId; // Ukoliko je narudzba vec komentirana treba postaviti u view model kako bi mogli iskoristiti u listi na client strani OcjeneKomentari tmp = ctx.OcjeneKomentari.FirstOrDefault(ok => ok.SalataId == item.SalataId && ok.KorisnikId == korId); if (tmp == null) { n.Komentirana = false; } else { n.Komentirana = true; } List <String> nazivi = ctx.SalataStavke.Where(x => x.SalataId == item.SalataId).Select(y => y.Sastojak.Naziv).ToList(); foreach (var k in nazivi) { n.Sastojci += k + ","; } n.Sastojci = n.Sastojci.Remove(n.Sastojci.Length - 1, 1); List <float> cijene = ctx.SalataStavke.Where(x => x.SalataId == item.SalataId).Select(y => y.Sastojak.Cijena).ToList(); float UkupnoOdSastojaka = 0; foreach (var k in cijene) { UkupnoOdSastojaka += k; } n.Cijena = UkupnoOdSastojaka.ToString(); listSalata.Add(n); } } return(Ok(listSalata)); }
public IHttpActionResult GetTrenutneNarudzbe(string KorisnikId) { int korId = Convert.ToInt32(KorisnikId); List <NarudzbeVM> listSalata = new List <NarudzbeVM>(); List <int> KorpaIds = ctx.Korpa.Where(x => x.KorisnikId == korId && x.Aktivna == false && x.Zavrsena == false && x.Finilizirana == false).Select(x => x.Id).ToList(); UkupnaCijenaVM model = new UkupnaCijenaVM(); model.listaSalataId = new List <ListaVrijednostiVM>(); foreach (var x in KorpaIds) { ListaVrijednostiVM m = new ListaVrijednostiVM(); List <KorpaStavke> korpastavke = ctx.KorpaStavke.Where(y => y.KorpaId == x).ToList(); foreach (var n in korpastavke) { m.SalataId = n.SalataId; m.Kolicina = n.Kolicina; model.listaSalataId.Add(m); } } foreach (var i in model.listaSalataId) { NarudzbeVM n = new NarudzbeVM(); n.SalataId = i.SalataId; n.Kolicina = i.Kolicina.ToString(); List <String> nazivi = ctx.SalataStavke.Where(x => x.SalataId == i.SalataId).Select(y => y.Sastojak.Naziv).ToList(); foreach (var k in nazivi) { n.Sastojci += k + ","; } n.Sastojci = n.Sastojci.Remove(n.Sastojci.Length - 1, 1); List <float> cijene = ctx.SalataStavke.Where(x => x.SalataId == i.SalataId).Select(y => y.Sastojak.Cijena).ToList(); float UkupnoOdSastojaka = 0; foreach (var k in cijene) { UkupnoOdSastojaka += k; } n.Cijena = (UkupnoOdSastojaka * i.Kolicina).ToString(); listSalata.Add(n); } return(Ok(listSalata)); }
private void DodajSalatu_Clicked(object sender, EventArgs e) { var item = (Xamarin.Forms.Button)sender; int SalataId = Convert.ToInt32(item.CommandParameter); NarudzbeVM nar = new NarudzbeVM(); nar.SalataId = SalataId; nar.KorisnikId = Global.logedUser.Id; HttpResponseMessage responseMessage = salateService.PostResponse(nar); if (responseMessage.IsSuccessStatusCode) { DisplayAlert("Uspjesh", "Uspješno ste dodali salatu u korpu", "OK"); } else { DisplayAlert("Upozorenje", "Dodgodila se greška. Salata nije dodana u korpu.", "OK"); } }
public ActionResult Index(NarudzbeVM nar) { if (ModelState.IsValid) { List <NarudzbaVM> narudzbe = narudzbaRepository.GetNarudzba() .Where(n => n.Salon.IdSalon == AktivniSalon.IdAktivniSalon) .Select(n => new NarudzbaVM() { IdNarudzba = n.IdNarudzba, Klijent = n.Klijent, IdUsluga = n.Usluga.Idusluga, IdZaposlenik = n.Zaposlenik.IdZaposlenik, Kontakt = n.Kontakt, IdSalon = n.Salon.IdSalon, Vrijeme = n.Vrijeme }).ToList(); narudzbe.RemoveAll(x => x.Vrijeme.Date.CompareTo(nar.datum.Date) != 0); foreach (var n in narudzbe) { n.Zaposlenik = narudzbaRepository.GetZaposleniksQuery().Select(x => new ZaposlenikVM() { IdZaposlenik = x.IdZaposlenik, ImePrezime = x.Ime + " " + x.Prezime }).FirstOrDefault(x => x.IdZaposlenik == n.IdZaposlenik); n.Usluga = narudzbaRepository.GetUsluga().Select(x => new UslugaVM() { Idusluga = x.Idusluga, Naziv = x.Naziv, Cijena = x.Cijena, Trajanje = x.Trajanje }).FirstOrDefault(x => x.Idusluga == n.IdUsluga); } nar.narudzbe = narudzbe; return(View(nar)); } return(View(nar)); }
public Narudzbe() { InitializeComponent(); BindingContext = new NarudzbeVM(this); }