public ActionResult CadastrarEleicao(Eleicoes criarVotacao) { string idUser = HttpContext.Session.GetString("Id"); var usuario = _db.Usuarios.SingleOrDefault(u => u.CodUsuario.ToString().Equals(idUser)); if (usuario != null) { var nomeVotacaoExistente = _db.Eleicoes.SingleOrDefault(u => u.Titulo.Equals(criarVotacao.Titulo)); if (nomeVotacaoExistente == null) { criarVotacao.ChaveAcesso = BCrypt.Net.BCrypt.HashPassword(criarVotacao.ChaveAcesso); Eleicao eleicao = new Eleicao(criarVotacao.Titulo, criarVotacao.Descricao, criarVotacao.ChaveAcesso, criarVotacao.VotoMultiplo, "P"); eleicao.CodEleicao = _db.GetMySequence("seq_eleicao"); UsuarioEleicao usuario_x_eleicao = new UsuarioEleicao(); usuario_x_eleicao.CodEleicao = eleicao.CodEleicao; usuario_x_eleicao.CodUsuario = usuario.CodUsuario; usuario_x_eleicao.Organizador = true; usuario_x_eleicao.VotoConcluido = false; _db.Eleicoes.Add(eleicao); _db.UsuarioEleicoes.Add(usuario_x_eleicao); _db.SaveChanges(); return(RedirectToAction("PainelEleicao", "PainelEleicao", new { id = eleicao.CodEleicao })); } ViewBag.MensagemErro = "Este título já está em uso."; return(View("CriacaoVotacao")); } return(RedirectToAction("Login", "Home")); }
public IActionResult InscreverSeEleicao(FormularioInscricao inscricao) { string idUser = HttpContext.Session.GetString("Id"); if (idUser != null) { var eleicao = _db.Eleicoes.SingleOrDefault(e => e.CodEleicao == inscricao.CodEleicao); if (eleicao != null) { var usuarioInscrito = _db.UsuarioEleicoes .SingleOrDefault(e => e.CodEleicao == inscricao.CodEleicao && e.CodUsuario.ToString().Equals(idUser)); if (usuarioInscrito == null) { if (BCrypt.Net.BCrypt.Verify(inscricao.ChaveAcesso, eleicao.ChaveAcesso)) { UsuarioEleicao usuario_x_eleicao = new UsuarioEleicao(); usuario_x_eleicao.CodEleicao = inscricao.CodEleicao; usuario_x_eleicao.CodUsuario = Decimal.Parse(idUser); usuario_x_eleicao.Organizador = false; usuario_x_eleicao.VotoConcluido = false; _db.UsuarioEleicoes.Add(usuario_x_eleicao); _db.SaveChanges(); return(RedirectToAction("VotacaoInicio", "Votacao", new { id = inscricao.CodEleicao })); } ViewBag.EleicaoTitulo = eleicao.Titulo; ViewData.Add("MensagemErro", "Chave de acesso inválida."); return(View("FormInscricao", inscricao)); } } return(RedirectToAction("Index", "Home")); } return(RedirectToAction("Login", "Home")); }