Exemplo n.º 1
0
 public IActionResult AddSkladnik([FromBody] ViewSkladniki vskladnik)
 {
     try
     {
         return(new JsonResult(_repo.AddSkladnik(vskladnik)));
     }
     catch (Exception e)
     { return(BadRequest(e)); }
 }
Exemplo n.º 2
0
        public Skladnik AddSkladnik(ViewSkladniki skladnik)
        {
            foreach (var alergen in skladnik.Alergeny)
            {
                var result = _db.Alergen.Where(x => x.ID == alergen.ID);
                if (result.Count() == 0)
                {
                    throw new Exception("Niektóre alergeny nie występują w bazie");
                }
            }

            foreach (var wartoscOdrzywcza in skladnik.WartoscOdzywcze)
            {
                var result = _db.WartoscOdzywcza.Where(x => x.ID == wartoscOdrzywcza.ID);
                if (result.Count() == 0)
                {
                    throw new Exception("Niektóre wartości odrzywcze nie występują w bazie");
                }
            }

            var dbSkladnik = _db.Skladnik.Add(skladnik).Entity;

            foreach (var alergen in skladnik.Alergeny)
            {
                _db.AlergenDoSkladnik.Add(new AlergenDoSkladnik
                {
                    Alergen_ID  = alergen.ID,
                    Skladnik_ID = dbSkladnik.ID
                });
            }

            foreach (var wartoscOdrzywcza in skladnik.WartoscOdzywcze)
            {
                _db.WartosciDoSkladnikow.Add(new WartosciDoSkladnikow
                {
                    Ilosc       = wartoscOdrzywcza.ilosc,
                    Wartosc_ID  = wartoscOdrzywcza.ID,
                    Skladnik_ID = dbSkladnik.ID
                });
            }

            _db.SaveChanges();
            return(dbSkladnik);
        }
Exemplo n.º 3
0
        public List <ViewPrzepis> GetPrzepisy()
        {
            var toReturn = new List <ViewPrzepis>();

            foreach (var przepis in _db.Przepis.ToList())
            {
                toReturn.Add(new ViewPrzepis
                {
                    ID    = przepis.ID,
                    Nazwa = przepis.Nazwa,
                    opis  = _db.Opis.First(x => x.ID == przepis.ID)
                });
            }

            foreach (var przepis in toReturn)
            {
                var        ids    = _db.TypDoPrzepis.Where(x => x.Przepis_ID == przepis.ID).ToList();
                List <int> intIds = new List <int>();
                foreach (var id in ids)
                {
                    intIds.Add(id.ID);
                }
                przepis.TypDanias = _db.TypDania.Where(x => intIds.Contains(x.ID)).ToList();

                var ids2 = _db.PrzepisDoDieta.Where(x => x.Przepis_ID == przepis.ID).ToList();
                foreach (var id in ids)
                {
                    intIds.Add(id.ID);
                }
                przepis.Diety = _db.Dieta.Where(x => intIds.Contains(x.ID)).ToList();

                var vskladniki = _db.SkladnikDoPrzepis.Join(_db.Skladnik, sdp => sdp.Skladnik_ID, skladnik => skladnik.ID, (x, y) =>
                                                            new { sdp = x, skladnik = y })
                                 .Where(x => x.sdp.Przepis_ID == przepis.ID);
                List <ViewSkladniki> skladnikis = new List <ViewSkladniki>();
                foreach (var vskladnik in vskladniki)
                {
                    var t = new ViewSkladniki
                    {
                        ID        = vskladnik.skladnik.ID,
                        Nazwa     = vskladnik.skladnik.Nazwa,
                        Ilosc     = vskladnik.sdp.Ilosc,
                        Jednostka = _db.Jednostka.First(x => x.ID == vskladnik.sdp.Jednostka_ID)
                    };

                    var valergenys = _db.AlergenDoSkladnik.Join(_db.Alergen, ads => ads.Alergen_ID, alergen => alergen.ID, (x, y)
                                                                => new { ads = x, alergen = y })
                                     .Where(x => x.ads.Skladnik_ID == t.ID);
                    t.Alergeny = new List <Alergen>();
                    foreach (var valergen in valergenys)
                    {
                        t.Alergeny.Add(valergen.alergen);
                    }

                    t.WartoscOdzywcze = new List <ViewWarotscOdzywcza>();
                    var vwartodzs = _db.WartosciDoSkladnikow.Join(_db.WartoscOdzywcza, wds => wds.Wartosc_ID, wartosc => wartosc.ID, (x, y)
                                                                  => new { wds = x, wartosc = y })
                                    .Where(x => x.wds.Skladnik_ID == t.ID);
                    foreach (var vwartodz in vwartodzs)
                    {
                        t.WartoscOdzywcze.Add(new ViewWarotscOdzywcza
                        {
                            ID    = vwartodz.wartosc.ID,
                            Nazwa = vwartodz.wartosc.Nazwa,
                            ilosc = vwartodz.wds.Ilosc
                        });
                    }
                }

                przepis.Skladniki = skladnikis;
            }

            return(toReturn);
        }