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()); } }
public static HttpStatusCode DeleteKorpaItem(int korpaId, int salataId) { MContext ctx = new MContext(); KorpaStavke ks = ctx.KorpaStavke.FirstOrDefault(x => x.SalataId == salataId && x.KorpaId == korpaId); if (ks != null) { ctx.KorpaStavke.Remove(ks); } else { return(HttpStatusCode.NoContent); } ctx.SaveChanges(); //// Brisanje stavki salate //List<SalataStavke> lss = ctx.SalataStavke.Where(x => x.SalataId == salataId).ToList(); //if (lss.Count == 0) // return HttpStatusCode.NoContent; //ctx.SalataStavke.RemoveRange(lss); //ctx.SaveChanges(); //// Brisanje ocjena i komentara //OcjeneKomentari ok = ctx.OcjeneKomentari.FirstOrDefault(x => x.SalataId == salataId); //if (ok != null) ctx.OcjeneKomentari.Remove(ok); //ctx.SaveChanges(); //// Brisanje salate //Salate s = ctx.Salate.FirstOrDefault(x => x.Id == salataId); //if (s != null) ctx.Salate.Remove(s); //else return HttpStatusCode.NoContent; //ctx.SaveChanges(); return(HttpStatusCode.OK); }
public IHttpActionResult PostSnimi(KreiranaSalataVM Salata) { if (Salata != null) { // Kreiranje nove salate - trenutni datum i note Salate s = new Salate { DatumKreiranja = DateTime.Now, Napomena = Salata.Napomena }; ctx.Salate.Add(s); ctx.SaveChanges(); // Povezivanje novokreirane salate sa stavkama salate SalataStavke ss; // Spajanje salate sa odabranim sastojcima foreach (int i in Salata.listaIzabranih) { ss = new SalataStavke { SalataId = s.Id, SastojakId = i }; ctx.SalataStavke.Add(ss); } ; // Snimanje promijena // Rezultat je da bi trebala postojati nova salata i biti spojena sa svim odabranim sastojcima ctx.SaveChanges(); #region DodavanjeSalateUKorpu // Pretraga za korpom, da li korpa korisnika vec postoji i da li je ona aktivna var 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(); } // Potrebno je uvezati korisnicku korpu sa stavkama, odnosno sa salatama KorpaStavke ks = new KorpaStavke { KorpaId = k.Id, SalataId = s.Id, Kolicina = Salata.Kolicina }; // Dodavanje u tabelu stavki korpe ctx.KorpaStavke.Add(ks); // Snimanje promijena ctx.SaveChanges(); #endregion return(Ok()); } else { return(NotFound()); } }