public async Task <IActionResult> Create([Bind("SemanaID,DietaID,DietaNome,Texto,DataDieta,Completo")] DietaSemanaViewModel vm, string salvar) { if (ModelState.IsValid) { Dieta dieta = new Dieta { Completo = vm.Completo, DataDieta = vm.DataDieta, DietaNome = vm.DietaNome }; _context.Dieta.Add(dieta); if (vm.SemanaID == null) { vm.SemanaID = 1; } DietaSemana dietaSemana = new DietaSemana { Dieta = dieta, SemanaID = vm.SemanaID, DescDieta = vm.Texto }; _context.DietaSemana.Add(dietaSemana); await _context.SaveChangesAsync(); if (salvar.Equals("Próxima Semana")) { return(RedirectToAction("Edit", new { id = _context.Dieta.Max(o => o.DietaID), semana = 2 })); } else { return(RedirectToAction(nameof(Index))); } } return(View(vm)); }
public async Task <IActionResult> Edit(int?id, string salvar, [Bind("SemanaID,DietaID,DietaNome,Texto,DataDieta,Completo")] DietaSemanaViewModel vm) { if (id != vm.DietaID) { return(NotFound()); } if (ModelState.IsValid) { try { Dieta dieta = new Dieta { DietaID = vm.DietaID, Completo = vm.Completo, DataDieta = vm.DataDieta, DietaNome = vm.DietaNome }; _context.Update(dieta); DietaSemana dietaSemana = new DietaSemana { SemanaID = vm.SemanaID, DescDieta = vm.Texto, DietaID = vm.DietaID }; if (_context.DietaSemana.Any(o => o.SemanaID == vm.SemanaID)) { _context.Update(dietaSemana); } else { if (_context.Semana.Any(o => o.SemanaID == vm.SemanaID)) { AddOneWeek(); } _context.DietaSemana.Add(dietaSemana); } await _context.SaveChangesAsync(); if (salvar.Equals("Próxima Semana")) { if (vm.SemanaID == null) { vm.SemanaID = 1; } TempData["SemanaID"] = vm.SemanaID + 1; return(View(Edit(vm.DietaID, null))); } else if (salvar.Equals("Salvar")) { return(RedirectToAction(nameof(Index))); } } catch (DbUpdateConcurrencyException) { if (!DietaExists(vm.DietaID)) { return(NotFound()); } else { throw; } } //return RedirectToAction(nameof(Index)); } return(View(vm)); }