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(); }
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")); }