public ActionResult Edit([Bind(Include = "Id,DataInicio,DataFim,AmigoId,DataCadastro,Ativo")] Emprestimo emprestimo)
        {
            try
            {
                MudarDisponiblidadeDosJogos(db, GetJogos(db, emprestimo.Id));
                RemoverJogosDoEmprestimo(db, emprestimo.Id);
                db.SaveChanges();
                var novosJogos = GetJogosFromRequest();

                if (_validation.IsValid(emprestimo) && _validation.ValidarJogosParaEmprestimo(novosJogos))
                {
                    IncluirJogosParaEmprestimo(emprestimo, novosJogos);
                    MudarDisponiblidadeDosJogos(db, novosJogos);
                    db.Entry(emprestimo).State = EntityState.Modified;
                    db.SaveChanges();
                    return(RedirectToAction("Index"));
                }
            }
            catch (Exception ex)
            {
                ViewBag.Error = ex.Message;
            }
            ViewBag.AmigoId          = new SelectList(db.Amigos.Where(a => a.Ativo), "Id", "Nome", emprestimo.AmigoId);
            ViewBag.Jogos            = new SelectList(db.Jogos.Where(j => j.Ativo && j.Disponivel), "Id", "Nome");
            ViewBag.JogosEmprestados = GetJogos(db, emprestimo.Id);
            return(View(emprestimo));
        }
 private void MudarDisponiblidadeDosJogos(ICadeMeuJogoContext context, ICollection <Jogo> jogos)
 {
     foreach (var jogo in jogos)
     {
         jogo.Disponivel           = !jogo.Disponivel;
         context.Entry(jogo).State = EntityState.Modified;
     }
 }
 public ActionResult Edit([Bind(Include = "Id,Apelido,Nome,DataNascimento,CPF,DataCadastro,Ativo")] Amigo amigo)
 {
     try
     {
         if (_validation.IsValid(amigo))
         {
             db.Entry(amigo).State = EntityState.Modified;
             db.SaveChanges();
             return(RedirectToAction("Index"));
         }
     }
     catch (Exception ex)
     {
         ViewBag.Error = ex.Message;
     }
     return(View(amigo));
 }
 public ActionResult Edit([Bind(Include = "Id,Nome,DataCadastro,Ativo")] Categoria categoria)
 {
     try
     {
         if (_validation.IsValid(categoria))
         {
             db.Entry(categoria).State = EntityState.Modified;
             db.SaveChanges();
             return(RedirectToAction("Index"));
         }
     }
     catch (Exception ex)
     {
         ViewBag.Error = ex.Message;
     }
     return(View(categoria));
 }
        public ActionResult Edit([Bind(Include = "Id,Nome,Disponivel,CategoriaId,DataCadastro,Ativo")] Jogo jogo)
        {
            try
            {
                if (_validation.IsValid(jogo))
                {
                    db.Entry(jogo).State = EntityState.Modified;
                    db.SaveChanges();
                    return(RedirectToAction("Index"));
                }
            }
            catch (Exception ex)
            {
                ViewBag.Error = ex.Message;
            }

            ViewBag.CategoriaId = new SelectList(db.Categorias, "Id", "Nome", jogo.CategoriaId);
            return(View(jogo));
        }