Beispiel #1
0
        public IActionResult EditarCandidato(string id, string candidatoId)
        {
            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 candidato = _db.Candidatos.SingleOrDefault(c => c.CodCandidato.ToString().Equals(candidatoId));;
                    if (candidato != null)
                    {
                        CandidatoEdicao candidatoModel = new CandidatoEdicao();
                        candidatoModel.CodEleicao   = candidato.CodEleicao;
                        candidatoModel.CodCandidato = candidato.CodCandidato;
                        candidatoModel.Nome         = candidato.Nome;
                        candidatoModel.GrupoPartido = candidato.GrupoPartido;
                        candidatoModel.Descricao    = candidato.Descricao;
                        candidatoModel.ImagemPath   = candidato.Imagem;
                        candidatoModel.ImagemAntiga = candidato.Imagem.Substring(candidato.Imagem.IndexOf("_") + 1);
                        ViewBag.MensagemSucesso     = TempData["MensagemSucesso"] != null ? TempData["MensagemSucesso"].ToString() : null;
                        ViewBag.EleicaoId           = id;
                        return(View(candidatoModel));
                    }

                    return(RedirectToAction("PainelEleicao", "PainelEleicao", new { id }));
                }
                return(RedirectToAction("MinhasEleicoes", "ListaEleicao"));
            }

            return(RedirectToAction("Login", "Home"));
        }
Beispiel #2
0
        public IActionResult EditarCandidatoPost(CandidatoEdicao candidatoEdicao)
        {
            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 = " + candidatoEdicao.CodEleicao + " and organizador = true)");
                if (eleicao.Count() > 0 && eleicao.First().Status.Equals("P"))
                {
                    var candidatoExistente = _db.Candidatos.Where(c => c.CodCandidato.Equals(candidatoEdicao.CodCandidato));
                    if (candidatoExistente.Count() > 0)
                    {
                        var nomeAtual = _db.Candidatos
                                        .Where(c => c.CodCandidato.Equals(candidatoEdicao.CodCandidato))
                                        .Select(c => c.Nome)
                                        .ToList().First();
                        if (!nomeAtual.Equals(candidatoEdicao.Nome))
                        {
                            var nomeExistente = _db.Candidatos.Where(c => c.Nome.Equals(candidatoEdicao.Nome) && c.CodEleicao.Equals(candidatoEdicao.CodEleicao));
                            if (nomeExistente.Count() > 0)
                            {
                                candidatoEdicao.Nome = nomeAtual;
                                ViewBag.MensagemErro = "Já existe um candidato com este nome.";
                                ViewBag.EleicaoId    = candidatoEdicao.CodEleicao;
                                return(View("EditarCandidato", candidatoEdicao));
                            }
                        }

                        Candidato candidato = new Candidato();
                        candidato.CodEleicao   = candidatoEdicao.CodEleicao;
                        candidato.CodCandidato = candidatoEdicao.CodCandidato;
                        candidato.Descricao    = candidatoEdicao.Descricao;
                        candidato.Nome         = candidatoEdicao.Nome;
                        candidato.GrupoPartido = candidatoEdicao.GrupoPartido;
                        candidato.Imagem       = candidatoEdicao.ImagemPath;

                        if (candidatoEdicao.Imagem != null)
                        {
                            string pastaUpload = Path.Combine(_hostingEnvironment.WebRootPath + "/media");
                            string pathArquivo = Path.Combine(pastaUpload, candidatoEdicao.ImagemPath);
                            System.IO.File.Delete(pathArquivo);
                            string nomeArquivo = Guid.NewGuid().ToString() + "_" + candidatoEdicao.Imagem.FileName;
                            pathArquivo = Path.Combine(pastaUpload, nomeArquivo);
                            FileStream fs = new FileStream(pathArquivo, FileMode.Create);
                            candidatoEdicao.Imagem.CopyTo(fs);
                            fs.Close();
                            candidato.Imagem = nomeArquivo;
                        }
                        _db.Candidatos.Update(candidato);
                        _db.SaveChanges();

                        TempData["MensagemSucesso"] = "Alterações salvas com sucesso!";
                        return(RedirectToAction("EditarCandidato", new { id = candidatoEdicao.CodEleicao, candidatoId = candidatoEdicao.CodCandidato }));
                    }
                    ViewBag.MensagemErro = "Este cargo não existe.";
                    ViewBag.EleicaoId    = candidatoEdicao.CodEleicao;
                    return(View("EditarCandidato", candidatoEdicao));
                }
                return(RedirectToAction("MinhasEleicoes", "ListaEleicao"));
            }

            return(RedirectToAction("Login", "Home"));
        }