コード例 #1
0
 public IActionResult AddPrzepis([FromBody] ViewPrzepis vprzepis)
 {
     try
     {
         return(new JsonResult(_repo.AddPrzepis(vprzepis)));
     }
     catch (Exception e)
     { return(BadRequest(e)); }
 }
コード例 #2
0
        public Przepis AddPrzepis(ViewPrzepis przepis)
        {
            foreach (var skladnik in przepis.Skladniki)
            {
                var result = _db.Skladnik.Where(x => x.ID == skladnik.ID);
                if (result.Count() == 0)
                {
                    throw new Exception("Niektóre składniki nie występują w bazie");
                }
            }

            foreach (var dieta in przepis.Diety)
            {
                var result = _db.Dieta.Where(x => x.ID == dieta.ID);
                if (result.Count() == 0)
                {
                    throw new Exception("Niektóre diety nie występują w bazie");
                }
            }

            foreach (var typDania in przepis.TypDanias)
            {
                var result = _db.TypDania.Where(x => x.ID == typDania.ID);
                if (result.Count() == 0)
                {
                    throw new Exception("Niektóre typy dań nie występują w bazie");
                }
            }

            var dbOpis = _db.Opis.Add(przepis.opis);

            przepis.Opis_ID = dbOpis.Entity.ID;

            var dbPrzepis = _db.Przepis.Add(przepis).Entity;

            foreach (var skladnik in przepis.Skladniki)
            {
                var skladnikDoPrzepis = new SkladnikDoPrzepis
                {
                    ID           = skladnik.ID,
                    Ilosc        = skladnik.Ilosc,
                    Jednostka_ID = skladnik.Jednostka.ID,
                    Przepis_ID   = dbPrzepis.ID,
                    Skladnik_ID  = skladnik.ID
                };

                _db.SkladnikDoPrzepis.Add(skladnikDoPrzepis);
            }

            foreach (var dieta in przepis.Diety)
            {
                var przepisDoDiety = new PrzepisDoDieta
                {
                    Dieta_ID   = dieta.ID,
                    Przepis_ID = dbPrzepis.ID
                };

                _db.PrzepisDoDieta.Add(przepisDoDiety);
            }

            foreach (var typDania in przepis.TypDanias)
            {
                var typDoPrzepisu = new TypDoPrzepis
                {
                    Przepis_ID = dbPrzepis.ID,
                    Typ_ID     = typDania.ID
                };
            }

            _db.SaveChanges();

            return(dbPrzepis);
        }