public void AdminAlertMaill(AdminEstagiosAlertMail mail)
        {
            string msg = string.Format($"<p>O candidato {mail.NomeContratado} escolhido pela empresa " +
                                       $"{mail.NomeEmpresa} para estagiar como {mail.TituloEstagio}...</p> \n \n <p><b> Esta é uma mensagem automática, não responda de volta, reenvie ou encaminhe para ninguém. " +
                                       $"SENAI SÃO PAULO - GRUPO NSG.</b><p>");

            MailMessage mensagem = new MailMessage();

            mensagem.From = new MailAddress(_configuration.GetValue <string>("Email:Username"));
            mensagem.To.Add("insira o email do adm");
            mensagem.Subject    = ($"Banco de Vagas do SENAI - Notificação - Estágio ativado - " + DateTime.Today.ToString("dd/MM/yyyy"));
            mensagem.Body       = msg;
            mensagem.IsBodyHtml = true;
            _smtp.Send(mensagem);
        }
Пример #2
0
        public async Task <IActionResult> EscolherCandidato([FromRoute] int IdCandidatura)
        {
            using (Context context = new Context())
            {
                Candidatura candidatura = await context.Candidatura.AsNoTracking()
                                          .Include(a => a.IdVagaNavigation.IdEmpresaNavigation.IdUsuarioNavigation)
                                          .Include(a => a.IdCandidatoNavigation.IdUsuarioNavigation)
                                          .FirstOrDefaultAsync(c => c.IdCandidatura == IdCandidatura);

                if (candidatura != null && candidatura.IdVagaNavigation.StatusVaga == true)
                {
                    if (candidatura.Escolhido == true)
                    {
                        return(StatusCode(403, new { msgerro = $"O candidato {candidatura.IdCandidatoNavigation.NomeAluno} já foi escolhido" }));
                    }

                    Contact contato = new Contact()
                    {
                        DataCandidatura = candidatura.DataCandidatura.Year.ToString("dd/MM/yyyy"),
                        Descricao       = candidatura.IdVagaNavigation.Descricao,
                        EmailEmpresa    = candidatura.IdVagaNavigation.IdEmpresaNavigation.IdUsuarioNavigation.Email,
                        TituloVaga      = candidatura.IdVagaNavigation.Titulo,
                        EmailUsuario    = candidatura.IdCandidatoNavigation.IdUsuarioNavigation.Email,
                        NomeUsuario     = candidatura.IdCandidatoNavigation.NomeAluno
                    };

                    try
                    {
                        Prazos prazoEstagio = validacoes.ValidacaoEstagio(candidatura);

                        if (prazoEstagio != null)
                        {
                            await context.Prazos.AddAsync(prazoEstagio);

                            await context.SaveChangesAsync();

                            AdminEstagiosAlertMail mail = new AdminEstagiosAlertMail()
                            {
                                DataInicioEstagio = DateTime.Today.ToString("dd/MM/yyyy"),
                                DataFimEstagio    = DateTime.Today.AddMonths(3).ToString("dd/MM/yyyy"),
                                NomeContratado    = candidatura.IdCandidatoNavigation.NomeAluno,
                                NomeEmpresa       = candidatura.IdVagaNavigation.IdEmpresaNavigation.NomeFantasia,
                                TituloEstagio     = candidatura.IdVagaNavigation.Titulo
                            };

                            await _vagarep.DesativarVaga(candidatura.IdVaga);

                            _envioDeEmail.AdminAlertMaill(mail);
                        }

                        _vagarep.UsuarioEscolhido(candidatura.IdCandidatura);
                        _envioDeEmail.CandidatoMail(contato);
                    }
                    catch (Exception ex)
                    {
                        throw ex;
                    }

                    return(StatusCode(200, new { msgsucesso = "O candidato foi escolhido com sucesso, foi enviado um E-Mail de contato para ele" }));
                }
                else
                {
                    return(StatusCode(404, new { msgerro = "Candidatura inválida" }));
                }
            }
        }