public IActionResult EditarVotacao(string id) { string idUser = HttpContext.Session.GetString("Id"); if (idUser != null) { var eleicao = _db.Eleicoes .FromSqlRaw("SELECT * from eleicao where cod_eleicao IN " + "(select cod_eleicao from usuario_x_eleicao where cod_usuario = '" + idUser + "' and cod_eleicao = " + id + " and organizador = true)"); if (eleicao.Count() > 0) { var eleicaoEdit = _db.Eleicoes.SingleOrDefault(e => e.CodEleicao.ToString().Equals(id)); if (eleicao != null) { EleicoesEdit eleicaoModel = new EleicoesEdit(); eleicaoModel.CodEleicao = eleicaoEdit.CodEleicao; eleicaoModel.Titulo = eleicaoEdit.Titulo; eleicaoModel.Descricao = eleicaoEdit.Descricao; eleicaoModel.Status = eleicaoEdit.Status; eleicaoModel.VotoMultiplo = eleicaoEdit.VotoMultiplo; ViewBag.MensagemSucesso = TempData["MensagemSucesso"] != null ? TempData["MensagemSucesso"].ToString() : null; return(View(eleicaoModel)); } return(RedirectToAction("PainelEleicao", "PainelEleicao", new { id })); } return(RedirectToAction("MinhasEleicoes", "ListaEleicao")); } return(RedirectToAction("Login", "Home")); }
public IActionResult EditarVotacaoPost(EleicoesEdit cadastrarEleicao) { string idUser = HttpContext.Session.GetString("Id"); if (idUser != null) { var eleicao = _db.Eleicoes .FromSqlRaw("SELECT * from eleicao where cod_eleicao IN " + "(select cod_eleicao from usuario_x_eleicao where cod_usuario = '" + idUser + "' and cod_eleicao = " + cadastrarEleicao.CodEleicao + " and organizador = true)"); if (eleicao.Count() > 0) { var nomeAtual = _db.Eleicoes .Where(e => e.CodEleicao == cadastrarEleicao.CodEleicao) .Select(e => e.Titulo) .ToList() .First(); if (!nomeAtual.Equals(cadastrarEleicao.Titulo)) { var nomeExistente = _db.Eleicoes.Where(e => e.Titulo.Equals(cadastrarEleicao.Titulo)).ToList(); if (nomeExistente.Count() > 0) { ViewBag.MensagemErro = "Este título já está sendo utilizado."; return(View("EditarVotacao", cadastrarEleicao)); } } if (cadastrarEleicao.ChaveAcesso == null) { var chaveAcessoAtual = _db.Eleicoes .Where(e => e.CodEleicao == cadastrarEleicao.CodEleicao) .Select(e => e.ChaveAcesso) .ToList() .First(); cadastrarEleicao.ChaveAcesso = chaveAcessoAtual; } else { cadastrarEleicao.ChaveAcesso = BCrypt.Net.BCrypt.HashPassword(cadastrarEleicao.ChaveAcesso); } Eleicao eleicaoModel = new Eleicao(); eleicaoModel.ChaveAcesso = cadastrarEleicao.ChaveAcesso; eleicaoModel.CodEleicao = cadastrarEleicao.CodEleicao; eleicaoModel.Titulo = cadastrarEleicao.Titulo; eleicaoModel.Descricao = cadastrarEleicao.Descricao; eleicaoModel.Status = cadastrarEleicao.Status; eleicaoModel.VotoMultiplo = cadastrarEleicao.VotoMultiplo; _db.Eleicoes.Update(eleicaoModel); _db.SaveChanges(); TempData["MensagemSucesso"] = "Eleição alterada com sucesso."; return(RedirectToAction("EditarVotacao", "CriacaoVotacao", new { id = cadastrarEleicao.CodEleicao })); } return(RedirectToAction("MinhasEleicoes", "ListaEleicao")); } return(RedirectToAction("Login", "Home")); }