private void CaregaDadosParaTeste() { candidato = new Candidato { Email = "*****@*****.**", Nome = "Eduardo Alcantara" }; candidatoRepositorio = RetornarCandidatoRepositorio(); candidatoRepositorio.Adicionar(candidato); candidato1 = new Candidato { Email = "*****@*****.**", Nome = "Eduardo Alcantara" }; candidato2 = new Candidato { Email = "*****@*****.**", Nome = "Regina Alcantara" }; voto1 = new Voto { Candidato = candidato1, Total = 1 }; voto2 = new Voto { Candidato = candidato2, Total = 1 }; var listacandidatos = new List <Voto> { voto1, voto2 }; var eleicao = new Eleicao { Data = DateTime.Now, Voto = listacandidatos, TotalVoto = listacandidatos.Count }; votacaoRepositorio = RetornarVotacaoRepositorio(); votacaoRepositorio.Adicionar(eleicao); }
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)); } }