private void Salvar_Click(object sender, EventArgs e)
        {
            var msg = "";
            //salvar ingredientes e vincular id após isso salvar receita
            Receita receita = new Receita();

            receita.Nome      = txtNomeReceita.Text;
            receita.ComoFazer = txtComoFazer.Text;
            ReceitaRegistro registro = new ReceitaRegistro();
            var             id       = registro.Insert(receita);

            foreach (var item in _ingredients)
            {
                if (id != -1)
                {
                    IngredienteReceita ingredienteReceita = new IngredienteReceita();
                    ingredienteReceita.IdReceita     = id;
                    ingredienteReceita.IdIngrediente = item.Id;
                    msg = registro.InsertIngredientsReceita(ingredienteReceita);
                }
                else
                {
                    lblMessage.Text = msg;
                    return;
                }
            }
            lblMessage.Text = msg;
            CleanFields();
        }
Пример #2
0
        public IActionResult Initial(IngredienteModel model)
        {
            int idReceita = (int)HttpContext.Session.GetInt32("idReceita");
            var valid     = true;

            if (model.ingrediente == null)
            {
                valid = false;
                ModelState.AddModelError("IngredienteInvalido", "Ingredient must be not null.");
            }
            else if (model.quantidade <= 0)
            {
                valid = false;
                ModelState.AddModelError("QuantidadeInvaliado", "Quantity must be greater than 0.");
            }
            else if (model.unidade == null)
            {
                valid = false;
                ModelState.AddModelError("UnidadeInvaliado", "Unity must be not null.");
            }

            if (valid == true)
            {
                var ingrediente = _context.Ingrediente.Where(i => i.nome == model.ingrediente).FirstOrDefault();

                if (ingrediente == null)
                {
                    ingrediente = new Ingrediente
                    {
                        id      = 0,
                        nome    = model.ingrediente,
                        valor   = model.quantidade,
                        unidade = model.unidade
                    };
                    _context.Ingrediente.Add(ingrediente);
                    _context.SaveChanges();
                }

                var existe = false;
                var lista  = _context.Ingrediente.Where(i => i.id == ingrediente.id).SelectMany(r => r.IngredienteReceitas);
                foreach (var ur in lista)
                {
                    var r = _context.Receita.Find(ur.idReceita);
                    if (ur.idReceita == r.id)
                    {
                        existe = true;
                        break;
                    }
                }

                if (existe == false)
                {
                    var ingredienteReceita = new IngredienteReceita
                    {
                        idReceita     = idReceita,
                        idIngrediente = ingrediente.id
                    };
                    _context.AddRange(ingredienteReceita);
                    _context.SaveChanges();
                }
            }

            ViewData["id"] = HttpContext.Session.GetInt32("id");
            return(View("~/Views/Home/addIngrediente.cshtml"));
        }