Пример #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());
            }
        }
        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);
            }
        }
Пример #3
0
        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));
        }
Пример #4
0
        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");
            }
        }
Пример #6
0
        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));
        }
Пример #7
0
 public Narudzbe()
 {
     InitializeComponent();
     BindingContext = new NarudzbeVM(this);
 }