Exemple #1
0
        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());
            }
        }
Exemple #2
0
        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());
            }
        }