public IHttpActionResult PostNabavka(UlazZaliha ulazZaliha)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            UlazZaliha z = new UlazZaliha();

            z.Datum        = ulazZaliha.Datum;
            z.DobavljaciId = ulazZaliha.DobavljaciId;
            z.Dobavljaci   = ctx.Dobavljaci.Where(x => x.Id == ulazZaliha.DobavljaciId).FirstOrDefault();
            z.Napomena     = ulazZaliha.Napomena;
            ctx.UlazZaliha.Add(z);
            ctx.SaveChanges();

            UlazZaliha u = ctx.UlazZaliha.OrderByDescending(x => x.Id).FirstOrDefault();

            foreach (var i in ulazZaliha.StavkaUlaza)
            {
                StavkaUlaza su = new StavkaUlaza();
                su.Cijena       = i.Cijena;
                su.Kolicina     = i.Kolicina;
                su.SastojakId   = i.SastojakId;
                su.Sastojak     = ctx.Sastojci.Where(x => x.Id == i.SastojakId).FirstOrDefault();
                su.UlazZalihaId = u.Id;
                ctx.StavkaUlaza.Add(su);
                Sastojci s = ctx.Sastojci.Where(k => k.Id == su.SastojakId).FirstOrDefault();
                s.Stanje += su.Kolicina;
            }
            ctx.SaveChanges();

            return(Ok(ulazZaliha));
        }
Example #2
0
        public IHttpActionResult PutSastojci(int id, Sastojci sastojci)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != sastojci.SastojakId)
            {
                return(BadRequest());
            }

            db.Entry(sastojci).State = EntityState.Modified;

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!SastojciExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(StatusCode(HttpStatusCode.NoContent));
        }
Example #3
0
        private void zavrsiNarudzbu_Click(object sender, RoutedEventArgs e)
        {
            if (Global.narudzbePizze.Count == 0)
            {
                MessageDialog msg = new MessageDialog("Korpa je prazna!");
                msg.ShowAsync();
            }
            else
            {
                Narudzbe n = new Narudzbe();
                n.KorisnikId       = Global.prijavljeniKorisnik.KorisnikId;
                n.StatusNarudzbeId = 1;
                n.DatumNarudzbe    = DateTime.Now;
                n.OtkazanaNarudzba = false;
                n.AdresaZaDostavu  = adresaZaDostavu.Text;
                n.BrojTelefona     = kontaktTelefon.Text;

                HttpResponseMessage response = narudzbeService.PostResponse(n);

                if (response.IsSuccessStatusCode)
                {
                    int narudzbaId = response.Content.ReadAsAsync <Narudzbe>().Result.NarudzbaId;

                    for (int i = 0; i < Global.narudzbePizze.Count; i++)
                    {
                        NarudzbePizze np = new NarudzbePizze();
                        np.NarudzbaId = narudzbaId;
                        np.PizzaId    = Global.narudzbePizze[i].PizzaId;
                        np.Kolicina   = Global.narudzbePizze[i].Kolicina;
                        np.Cijena     = Global.narudzbePizze[i].Cijena;

                        HttpResponseMessage responsenp = narudzbePizzeService.PostResponse(np);

                        if (responsenp.IsSuccessStatusCode)
                        {
                            if (Global.narudzbePizze[i].DodatniSastojci != null)
                            {
                                int narudzbapId = responsenp.Content.ReadAsAsync <NarudzbePizze>().Result.NarudzbaPizzaId;

                                for (int j = 0; j < Global.narudzbePizze[i].DodatniSastojci.Count; j++)
                                {
                                    Sastojci s = new Sastojci();
                                    s.NarudzbaPizzaId = narudzbapId;
                                    s.SastojakId      = Global.narudzbePizze[i].DodatniSastojci[j].SastojakId;

                                    HttpResponseMessage responseDs = dodatniSastojciPizzeService.PostResponse(s);
                                }
                            }
                        }
                    }

                    MessageDialog msg = new MessageDialog("Narudžba uspješno kompletirana!");
                    msg.ShowAsync();

                    Global.narudzbePizze = null;
                    Frame.Navigate(typeof(AllProductsPage));
                }
            }
        }
Example #4
0
 private void ClearAll()
 {
     sastojakTextBox.Text      = String.Empty;
     baznaCijenaTextBox.Text   = String.Empty;
     dodatnaCijenaTextBox.Text = String.Empty;
     temp = null;
     obrisiButton.Enabled = false;
 }
        public IActionResult Obrisi(int id)
        {
            Sastojci s = db.Sastojci.Where(x => x.Id == id).FirstOrDefault();

            db.Remove(s);
            db.SaveChanges();


            TempData["porukaDelete"] = "Uspjesno ste obrisali sastojak";
            return(Redirect("/Sastojci/Prikazi"));
        }
Example #6
0
 private void OcistiFormu()
 {
     GlavniPicker.SelectedIndex = -1;
     glavni = null;
     DresingPicker.SelectedIndex = -1;
     dresing       = null;
     Kol           = 1;
     Kolicina.Text = "1";
     Nap           = "";
     Napomena.Text = "";
 }
Example #7
0
        public IHttpActionResult GetSastojci(int id)
        {
            Sastojci sastojci = db.Sastojci.Find(id);

            if (sastojci == null)
            {
                return(NotFound());
            }

            return(Ok(sastojci));
        }
Example #8
0
        public IHttpActionResult PostSastojci(Sastojci sastojci)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            db.Sastojci.Add(sastojci);
            db.SaveChanges();

            return(CreatedAtRoute("DefaultApi", new { id = sastojci.SastojakId }, sastojci));
        }
        public IActionResult DodajSave(SastojciDodajVM model)
        {
            Sastojci s = new Sastojci();

            s.Naziv = model.Sastojci.Naziv;
            s.Opis  = model.Sastojci.Opis;

            db.Add(s);
            db.SaveChanges();

            TempData["porukaAdd"] = "Uspjesno ste dodali sastojak";
            return(Redirect("/Sastojci/Prikazi"));
        }
Example #10
0
        private void sastojciDataGridView_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
        {
            string sastojakId            = sastojciDataGridView.SelectedRows[0].Cells[0].Value.ToString();
            HttpResponseMessage response = sastojciPizzaService.GetResponse(sastojakId);

            if (response.IsSuccessStatusCode)
            {
                temp = response.Content.ReadAsAsync <Sastojci>().Result;
                LoadData();
            }

            obrisiButton.Enabled = true;
        }
Example #11
0
        public IHttpActionResult DeleteSastojci(int id)
        {
            Sastojci sastojci = db.Sastojci.Find(id);

            if (sastojci == null)
            {
                return(NotFound());
            }

            db.Sastojci.Remove(sastojci);
            db.SaveChanges();

            return(Ok(sastojci));
        }
Example #12
0
        protected override void OnDisappearing()
        {
            glavni  = (Sastojci)GlavniPicker.SelectedItem;
            dresing = (Sastojci)DresingPicker.SelectedItem;
            if (Int32.TryParse(Kolicina.Text, out broj) == true)
            {
                Kol = Convert.ToInt32(Kolicina.Text);
            }
            else
            {
                Kol = 1;
            }

            Nap = Napomena.Text;
        }
Example #13
0
        private void dodajButton_Click(object sender, EventArgs e)
        {
            if (this.ValidateChildren())
            {
                if (temp == null)
                {
                    temp = new Sastojci();
                }

                temp.Sastojak      = sastojakTextBox.Text;
                temp.BaznaCijena   = decimal.Parse(baznaCijenaTextBox.Text.Replace(".", ","));
                temp.DodatnaCijena = decimal.Parse(dodatnaCijenaTextBox.Text.Replace(".", ","));

                HttpResponseMessage response;

                if (temp.SastojakId == 0)
                {
                    response = sastojciPizzaService.PostResponse(temp);

                    if (response.IsSuccessStatusCode)
                    {
                        MessageBox.Show("Sastojak dodan!");
                        BindSastojci();
                        ClearAll();
                    }
                    else
                    {
                        MessageBox.Show("Error: " + response.StatusCode + Environment.NewLine + "Message: " + response.ReasonPhrase);
                    }
                }
                else
                {
                    response = sastojciPizzaService.PutResponse(temp.SastojakId, temp);

                    if (response.IsSuccessStatusCode)
                    {
                        MessageBox.Show("Sačuvane izmjene!");
                        BindSastojci();
                        ClearAll();
                    }
                    else
                    {
                        MessageBox.Show("Error: " + response.StatusCode + Environment.NewLine + "Message: " + response.ReasonPhrase);
                    }
                }
            }
        }
Example #14
0
        public static HttpStatusCode DeleteById(int id)
        {
            MContext ctx = new MContext();

            Sastojci isExists = ctx.Sastojci.FirstOrDefault(x => x.Id == id);

            if (isExists == null)
            {
                return(HttpStatusCode.NotFound);
            }

            isExists.IsDeleted = true;

            ctx.SaveChanges();

            return(HttpStatusCode.OK);
        }
Example #15
0
        private void dodatniSastojciListView_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            if (dodatniSastojciListView.SelectedItems != null)
            {
                odabraniSastojci = new List <Sastojci>();

                for (int i = 0; i < dodatniSastojciListView.SelectedItems.Count; i++)
                {
                    Sastojci s = new Sastojci();
                    s = (Sastojci)dodatniSastojciListView.SelectedItems[i];

                    if (odabraniSastojci.IndexOf(s) == -1)
                    {
                        odabraniSastojci.Add(s);
                    }
                }

                FormirajCijenu();
            }
        }
Example #16
0
        public static HttpStatusCode AddSastojci(SastojciPostWithImage ns)
        {
            MContext ctx = new MContext();

            Sastojci isExists = ctx.Sastojci.FirstOrDefault(x => x.Naziv == ns.Naziv && x.IsDeleted == false);

            if (isExists != null)
            {
                return(HttpStatusCode.Conflict);
            }

            Sastojci noviSastojak = new Sastojci();

            noviSastojak.BrojKalorija    = ns.BrojKalorija;
            noviSastojak.Cijena          = ns.Cijena;
            noviSastojak.Gramaza         = ns.Gramaza;
            noviSastojak.IsDeleted       = false;
            noviSastojak.Napomena        = ns.Napomena;
            noviSastojak.Naziv           = ns.Naziv;
            noviSastojak.VrstaSastojkaId = ns.VrstaSastojkaId;

            ctx.Sastojci.Add(noviSastojak);

            ctx.SaveChanges();

            if (ns.Slika != null)
            {
                Slike novaSlika = new Slike();
                novaSlika.UrlSlike   = "/";
                novaSlika.Slika      = ns.Slika;
                novaSlika.SastojakId = noviSastojak.Id;
                ctx.Slike.Add(novaSlika);
                ctx.SaveChanges();
            }

            return(HttpStatusCode.OK);
        }
Example #17
0
        public HttpResponseMessage Naruci(NaruciVm naruci)
        {
            Korisnici isUserExists = AccountHelper.GetKorisnikById(naruci.KorisnikId);

            if (isUserExists == null)
            {
                return(Request.CreateResponse(HttpStatusCode.NotFound, "Korisnik nije pronadjen"));
            }

            // Provjera korisnika da li je on povjerljiv, ukoliko nije ispisati odgovarajucu poruku o nepovjerljivosti
            if (!isUserExists.Povjerljiv)
            {
                return(Request.CreateResponse(HttpStatusCode.Forbidden, "Nepovjerljiv korisnik"));
            }



            MContext ctx = new MContext();

            List <KorpaStavke> conditionKs = ctx.KorpaStavke.Where(ks => ks.Korpa.Aktivna == true && ks.Korpa.KorisnikId == naruci.KorisnikId).ToList();

            // Provjera da li je korisnicka korpa prazna - radi sigurnosti na server strani
            if (conditionKs.Count <= 0)
            {
                return(Request.CreateErrorResponse(HttpStatusCode.NotAcceptable, "Korisnicka korpa je prazna!"));
            }

            // Dobavljanje aktivne korpe korisnika
            Korpa korisnikKorpa = ctx.Korpa.FirstOrDefault(x => x.Aktivna && x.KorisnikId == naruci.KorisnikId);

            // korisnikKorpa.Sifra = KorpaHelper.GetSifra();

            // Preuzimanje zakazanog vremena dolaska
            korisnikKorpa.VrijemeDolaska = naruci.DatumDolaska;

            // Promijeniti status korpe u false
            korisnikKorpa.Aktivna = false;

            // oduzmi sastojcima na stanju
            List <int> SalataIds = ctx.KorpaStavke.Where(x => x.KorpaId == korisnikKorpa.Id).Select(y => y.SalataId).ToList();

            foreach (var i in SalataIds)
            {
                List <int> sastojciIds = ctx.SalataStavke.Where(x => x.SalataId == i).Select(y => y.SastojakId).ToList();
                foreach (var n in sastojciIds)
                {
                    Sastojci s = ctx.Sastojci.Where(x => x.Id == n).FirstOrDefault();
                    float    g = s.Gramaza;
                    s.Stanje = s.Stanje - g;
                    ctx.SaveChanges();
                }
            }


            // Snimiti promjene
            ctx.SaveChanges();

            /* Ukoliko je sve proslo uredu, potrebno je korisniku poslati email sa sifrom narudzbe */

            EmailVm mailVm = new EmailVm();

            mailVm.Body    = "Poštovani, </br>Uspješno ste izvršili narudžbu. Vaša šifra narudžbe je: " + korisnikKorpa.Sifra;
            mailVm.Subject = "Express Salad Bar";
            mailVm.To      = isUserExists.Email;
            // Slanje emaila sa sfirom narudjbe i odredjenim detaljima narudzbe
            AccountHelper.Sendemail(mailVm);

            return(Request.CreateErrorResponse(HttpStatusCode.OK, "Narudžba je uspješno realizovana, provjerite Vaš email"));
        }
Example #18
0
        private void btnKreirajSalatu_Clicked(object sender, EventArgs e)
        {
            if (multiPage != null)
            {
                if (GlavniPicker.SelectedIndex == -1 || DresingPicker.SelectedIndex == -1 ||
                    Kolicina.Text == "" || Int32.TryParse(Kolicina.Text, out broj) == false)
                {
                    DisplayAlert("Upozorenje", "Podaci nisu validni", "OK");
                    return;
                }
                List <Sastojci> izabrani = multiPage.GetSelection();
                if (izabrani.Count() == 0)
                {
                    DisplayAlert("Upozorenje", "Podaci nisu validni", "OK");
                    return;
                }
                glavni  = (Sastojci)GlavniPicker.SelectedItem;
                dresing = (Sastojci)DresingPicker.SelectedItem;
                izabrani.Add(glavni);
                izabrani.Add(dresing);
                List <int> SastojciIds = new List <int>();
                foreach (Sastojci i in izabrani)
                {
                    SastojciIds.Add(i.Id);
                }

                if (SastojciIds != null)
                {
                    KreiranaSalataVM k = new KreiranaSalataVM
                    {
                        KorisnikId     = Global.logedUser.Id,
                        listaIzabranih = SastojciIds,
                        Kolicina       = Convert.ToInt32(Kolicina.Text),
                        Napomena       = Napomena.Text
                    };

                    //SISTEM PREPORUKE
                    HttpResponseMessage repsonePreporuka = preporukaService.PostResponse(k);
                    if (repsonePreporuka.IsSuccessStatusCode)
                    {
                        var             jsonResult        = repsonePreporuka.Content.ReadAsStringAsync();
                        List <Sastojci> sastojciPreporuka = JsonConvert.DeserializeObject <List <Sastojci> >(jsonResult.Result);

                        if (sastojciPreporuka.Count() != 0)
                        {
                            //Dialog sa ponudenim sastojcima, ako klikne na button, dodaj u izabrane
                            Navigation.PushAsync(new ESBX.SistemPreporuke(k, sastojciPreporuka));
                            OcistiFormu();
                            return;
                        }
                    }

                    //Na kraju
                    HttpResponseMessage repsoneDodaj = kreiranjeService.PostCustomRouteResponse("api/KreiranjeSalate", k);
                    if (repsoneDodaj.IsSuccessStatusCode)
                    {
                        DisplayAlert("Uspjeh", "Uspješno ste kreirali salatu.", "OK");
                        OcistiFormu();
                    }
                    else
                    {
                        DisplayAlert("Oprez", "Salata nije kreirana.", "OK");
                    }
                }
            }
            else
            {
                DisplayAlert("Upozorenje", "Podaci nisu validni", "OK");
                return;
            }
        }