public IActionResult AddSkladnik([FromBody] ViewSkladniki vskladnik) { try { return(new JsonResult(_repo.AddSkladnik(vskladnik))); } catch (Exception e) { return(BadRequest(e)); } }
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); }
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); }