Example #1
0
        public HttpResponseMessage PostKomentar(KomentarVm komentar)
        {
            if (!ModelState.IsValid)
            {
                return(Request.CreateResponse(HttpStatusCode.MethodNotAllowed, "Polja koja ste unjeli nisu validna"));
            }

            OcjeneKomentari ocjenaKomentar = ctx.OcjeneKomentari.FirstOrDefault(ocjkom => ocjkom.KorisnikId == komentar.KorisnikId && ocjkom.SalataId == komentar.SalataId);


            if (ocjenaKomentar == null)
            {
                OcjeneKomentari ok = new OcjeneKomentari();

                ok.KorisnikId = komentar.KorisnikId;
                ok.SalataId   = komentar.SalataId;
                ok.Komentar   = komentar.Komentar;
                ok.Ocjena     = komentar.Ocjena;
                ok.Datum      = DateTime.Now;

                ctx.OcjeneKomentari.Add(ok);
            }
            else
            {
                ocjenaKomentar.Komentar = komentar.Komentar;
                ocjenaKomentar.Ocjena   = komentar.Ocjena;
            }

            ctx.SaveChanges();

            return(Request.CreateResponse(HttpStatusCode.OK, "Uspjesno ste postavili komentar"));
        }
Example #2
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));
        }