public IActionResult CadastrarCandidaturaPost(CandidaturaCadastro candidaturaCadastro) { 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 = " + candidaturaCadastro.CodEleicao + " and organizador = true)"); if (eleicao.Count() > 0 && eleicao.First().Status.Equals("P")) { foreach (decimal codCandidato in candidaturaCadastro.CodCandidato) { var candidaturaExistente = _db.CargoCandidatos.Where(c => c.CodCandidato.Equals(codCandidato) && c.CodCargo.Equals(candidaturaCadastro.CodCargo)); if (candidaturaExistente.Count() == 0) { CargoCandidato cargo_x_candidato = new CargoCandidato(); cargo_x_candidato.CodEleicao = candidaturaCadastro.CodEleicao; cargo_x_candidato.CodCandidato = codCandidato; cargo_x_candidato.CodCargo = candidaturaCadastro.CodCargo; _db.CargoCandidatos.Add(cargo_x_candidato); } } _db.SaveChanges(); return(RedirectToAction("Candidaturas", new { id = candidaturaCadastro.CodEleicao, cargoId = candidaturaCadastro.CodCargo })); } return(RedirectToAction("MinhasEleicoes", "ListaEleicao")); } return(RedirectToAction("Login", "Home")); }
public IActionResult CadastrarCandidatura(string id, string cargoId) { 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 && eleicao.First().Status.Equals("P")) { var cargo = _db.Cargos.Where(c => c.CodCargo.ToString().Equals(cargoId)).ToList(); if (cargo.Count() > 0) { CandidaturaCadastro candidatura = new CandidaturaCadastro(); candidatura.CodEleicao = decimal.Parse(id); candidatura.CodCargo = decimal.Parse(cargoId); var candidaturasRegistradas = _db.CargoCandidatos .Where(cc => cc.CodCargo.ToString().Equals(cargoId)) .Select(cc => cc.CodCandidato).ToList(); var candidatos = _db.Candidatos .Where(c => !candidaturasRegistradas.Contains(c.CodCandidato) && c.CodEleicao.ToString().Equals(id)) .Select(c => new { CodCandidato = c.CodCandidato, Nome = c.Nome }).ToList(); ViewBag.Candidatos = new MultiSelectList(candidatos, "CodCandidato", "Nome");; ViewBag.EleicaoTitulo = eleicao.First().Titulo; ViewBag.CargoNome = cargo.First().Nome; return(View(candidatura)); } return(RedirectToAction("PainelEleicao", "PainelEleicao", new { id })); } return(RedirectToAction("MinhasEleicoes", "ListaEleicao")); } return(RedirectToAction("Login", "Home")); }