public void ExcluirMotivoReprovacao(Candidato c) { CandidaturaReprovada reprovacao = db.CandidaturasReprovadas.FirstOrDefault(x => x.CodigoEleicao == c.CodigoEleicao && x.FuncionarioId == c.FuncionarioId); if (reprovacao != null) { db.CandidaturasReprovadas.Remove(reprovacao); } db.SaveChanges(); }
public CandidaturaReprovadaDTO(CandidaturaReprovada cand) { if (cand == null) { return; } Codigo = cand.Codigo; FuncionarioId = cand.FuncionarioId; MatriculaFuncionario = cand.Candidato?.Funcionario?.MatriculaFuncionario; CodigoEleicao = cand.CodigoEleicao; Motivo = cand.Motivo; }
public CandidaturaReprovada ReprovarCandidatura(CandidaturaReprovada candidatura) { candidatura.Codigo = 0; db.Entry(candidatura).State = System.Data.Entity.EntityState.Added; try { Candidato cand = GetCandidato(candidatura.FuncionarioId, candidatura.CodigoEleicao); db.SaveChanges(); string modulo = cand.Eleicao.CodigoModulo == 2 ? "a Comissão Interna de Trabalhadores" : "a CIPA"; EmailDTO email = new EmailDTO { Message = EmailService.ReplaceParams(Resources.Emails.EmailReprovacaoCandidatura, Tuple.Create("@MODULO", modulo), Tuple.Create("@NOME", cand.Funcionario.Nome), Tuple.Create("@CARGO", cand.Funcionario.Cargo), Tuple.Create("@AREA", cand.Funcionario.Area), Tuple.Create("@MOTIVO", candidatura.Motivo)), To = new List <string> { cand.Funcionario.Email }, Copy = (cand.Funcionario != null && cand.Funcionario.Gestor != null) ? new List <string> { cand.Funcionario.Gestor.Email } : new List <string> { }, Subject = "Candidatura Reprovada" }; Thread th = new Thread(EmailService.Send); th.Start(email); } catch (Exception e) { if (CandidatoExiste(candidatura.FuncionarioId, candidatura.CodigoEleicao)) { throw new CandidatoNaoEncontradoException(); } else { throw e; } } Candidato c = db.Candidatos.Find(candidatura.FuncionarioId, candidatura.CodigoEleicao); c.Validado = false; db.SaveChanges(); return(candidatura); }
public IHttpActionResult ReprovarCandidatura(int funcionarioId, int codEleicao, CandidaturaReprovada reprovacao) { if (!ModelState.IsValid) { return(Content(HttpStatusCode.BadRequest, ModelState)); } if (funcionarioId != reprovacao.FuncionarioId || codEleicao != reprovacao.CodigoEleicao) { return(Content(HttpStatusCode.BadRequest, "Parâmetros da Requisição inconsistentes!")); } try { return(Ok(new CandidaturaReprovadaDTO(candidatosService.ReprovarCandidatura(reprovacao)))); } catch { return(Content(HttpStatusCode.InternalServerError, "Ocorreu um erro desconhecido. Por favor, entre em contato com o suporte.")); } }