public IActionResult specs(int id) { var menusReceita = from r in db.Menu join mr in db.MenuReceita on r.Id equals mr.Menuid where r.Id == id select mr; var receitas = menusReceita.ToList(); List <MenuReceita> listaFinal = new List <MenuReceita>(); for (int i = 0; i < receitas.Count(); i++) { var descricao = (from r in db.Receita where r.Id == receitas.ElementAt(i).Receitaid select r).Single(); MenuReceita newMr = new MenuReceita { Dia = receitas.ElementAt(i).Dia, Receita = new Receita { Descricao = descricao.Nome } }; listaFinal.Add(newMr); } return(View(listaFinal)); }
//se atualização correu bem, retorna 0; caso contrário, retorna 1 public string atualizaBd(string descricao, int idMenu, string initialDate, string dayInWeek, DateTime dayInDateTime) { string mail = User.Identity.Name; //var y = db.ReceitasFavoritas.Where(b => b.Receitaid == id).FirstOrDefault(); var x = db.Utilizador.Where(b => b.Email == mail).FirstOrDefault(); //inserir receita para segunda var receitas = from r in db.Receita join cat in db.Categoria on r.Categoriaid equals cat.Id where cat.Descricao == descricao && cat.Descricao != "Auxiliar" select r; var listaReceitas = receitas.ToList(); if (listaReceitas.Count != 0) { int dataInicial = DateTime.Parse(initialDate).Year * 10000 + DateTime.Parse(initialDate).Month * 100 + DateTime.Parse(initialDate).Day; if (dayInWeek == "segunda") { ; } if (dayInWeek == "terca") { dayInDateTime = dayInDateTime.AddDays(1); } if (dayInWeek == "quarta") { dayInDateTime = dayInDateTime.AddDays(2); } if (dayInWeek == "quinta") { dayInDateTime = dayInDateTime.AddDays(3); } if (dayInWeek == "sexta") { dayInDateTime = dayInDateTime.AddDays(4); } if (dayInWeek == "sabado") { dayInDateTime = dayInDateTime.AddDays(5); } if (dayInWeek == "domingo") { dayInDateTime = dayInDateTime.AddDays(6); } //verifica se o dia em questão já tem um menu associado var encontraDia = from mr in db.MenuReceita join m in db.Menu on mr.Menuid equals m.Id where (DateTime.Compare(dayInDateTime, mr.Dia) == 0) && (m.Utilizadorid == x.Id) select mr; var res = encontraDia.ToList(); //se receita já tiver menu associado, retorna mensagem de erro if (res.Count() == 0) { MenuReceita novoMenu = new MenuReceita { Dia = dayInDateTime, Receitaid = listaReceitas.ElementAt(0).Id, Menuid = idMenu }; db.MenuReceita.Add(novoMenu); db.SaveChanges(); } else { return("Receita com menu associado"); } } else { return("Not ok"); } return("Ok"); }