public async Task <IActionResult> Create([Bind("SemanaID,TreinoID,TreinoNome,Texto,DataTreino,Completo")] TreinoSemanaViewModel vm, string salvar) { if (ModelState.IsValid) { Treino treino = new Treino { Completo = vm.Completo, DataTreino = vm.DataTreino, TreinoNome = vm.TreinoNome }; _context.Treino.Add(treino); if (vm.SemanaID == null) { vm.SemanaID = 1; } TreinoSemana treinoSemana = new TreinoSemana { Treino = treino, SemanaID = vm.SemanaID, DescTreino = vm.Texto }; _context.TreinoSemana.Add(treinoSemana); await _context.SaveChangesAsync(); if (salvar.Equals("Próxima Semana")) { return(RedirectToAction("Edit", new { id = _context.Treino.Max(o => o.TreinoID), semana = 2 })); } else { return(RedirectToAction(nameof(Index))); } } return(View(vm)); }
public async Task <IActionResult> Edit(int?id, string salvar, [Bind("SemanaID,TreinoID,TreinoNome,Texto,DataTreino,Completo")] TreinoSemanaViewModel vm) { if (id != vm.TreinoID) { return(NotFound()); } if (ModelState.IsValid) { try { Treino treino = new Treino { TreinoID = vm.TreinoID, Completo = vm.Completo, DataTreino = vm.DataTreino, TreinoNome = vm.TreinoNome }; _context.Update(treino); TreinoSemana treinoSemana = new TreinoSemana { SemanaID = vm.SemanaID, DescTreino = vm.Texto, TreinoID = vm.TreinoID }; if (_context.TreinoSemana.Any(o => o.SemanaID == vm.SemanaID)) { _context.Update(treinoSemana); } else { if (_context.Semana.Any(o => o.SemanaID == vm.SemanaID)) { AddOneWeek(); } _context.TreinoSemana.Add(treinoSemana); } 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.TreinoID, null))); } else if (salvar.Equals("Salvar")) { return(RedirectToAction(nameof(Index))); } } catch (DbUpdateConcurrencyException) { if (!TreinoExists(vm.TreinoID)) { return(NotFound()); } else { throw; } } //return RedirectToAction(nameof(Index)); } return(View(vm)); }