public ActionResult Index(IFormCollection frm) { try { if (!HabilitaVotacao()) { ViewBag.Horario = "Horário de votação encerrado!"; return(View()); } if (ModelState.IsValid) { foreach (var item in frm) { if (item.Key == "VotoId") { Candidato candidato = null; var retornaVotacao = _votacaoRepositorio.Retornar(DateTime.Today); if (retornaVotacao == null) { //Virar um metodo privado var id = Convert.ToInt32(item.Value); candidato = _candidatoRepositorio.RetornarId(id); var voto = new Voto { Candidato = candidato, Total = 1 }; List <Voto> list = new List <Voto> { voto }; var lvoto = list; var eleicao = new Eleicao { Data = DateTime.Today, Voto = list }; _votacaoRepositorio.Adicionar(eleicao); } else { var id = Convert.ToInt32(item.Value); candidato = _candidatoRepositorio.RetornarId(id); foreach (var itemvoto in retornaVotacao.Voto) { if (itemvoto.CandidatoId == id) { itemvoto.Total++; _votacaoRepositorio.Atualizar(retornaVotacao); return(RedirectToAction("Index", "Home")); } } var primeirovoto = new Voto { Candidato = candidato, Total = 1 }; List <Voto> list = new List <Voto> { primeirovoto }; retornaVotacao.Voto.Add(primeirovoto); _votacaoRepositorio.Atualizar(retornaVotacao); } } } } return(RedirectToAction("Index", "Home")); } catch (Exception ex) { return(View(ModelState)); } }