public HttpResponseMessage ReenviarEmail(string token)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    var confirmEmail = _confirEmailRepo.GetByToken(token);
                    if (confirmEmail != null)
                    {
                        var domainName = Request.RequestUri.Scheme + "://" + Request.RequestUri.Authority;


                        var envioEmail = new EnvioEmail(_ServerConfigRepo);
                        var msgEmail   = envioEmail.EmailCadastro(domainName, token, confirmEmail.Usuario.Email);
                        return(Request.CreateResponse(HttpStatusCode.OK, msgEmail));
                    }
                }
                var errorObj = ModelStateErrors.DisplayModelStateError(ModelState);
                return(Request.CreateResponse(HttpStatusCode.NotAcceptable, errorObj, "text/plain"));
            }
            catch (Exception ex)
            {
                return(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, ex.Message));
            }
        }
 private void Contacto_Load(object sender, EventArgs e)
 {
     // cambiar el icono del formulario manualmente
     this.Icon             = Properties.Resources.tttt;
     txtFrom_Contacto.Text = Gestionar_Usuario.obtenerEmail(Global.IDUser);
     servidorCorreos       = new EnvioEmail();
 }
        /// <summary>
        /// Utilizado para gerar uma nova senha aleatória de 6 dígitos.
        /// No fim da atualização, envia um e-mail para o usuário com a nova senha gerada.
        /// </summary>
        /// <param name="email">E-mail do usuário</param>
        public void RecuperarSenha(string email)
        {
            var usuario = BuscarPorEmail(email);

            if (usuario == null)
            {
                throw new Exception("E-mail não cadastrado.");
            }

            if (usuario.IND_ATIVO == DMN_SIM_NAO.NAO)
            {
                throw new Exception("O E-mail cadastrado não está ativo. Favor entrar em contato com a Intech.");
            }

            var novaSenha = new Random().Next(100000, 999999);

            usuario.PWD_USUARIO   = Criptografia.Encriptar(novaSenha.ToString());
            usuario.IND_BLOQUEADO = DMN_SIM_NAO.NAO;
            usuario.NUM_TENTATIVA = 0;

            Atualizar(usuario);

            var config = AppSettings.Get();

            var textoEmail = $"<h2>Bem-Vindo ao Intech EFD-Reinf</h2>" +
                             $"A sua nova senha é {novaSenha}";

            EnvioEmail.Enviar(config.Email, usuario.TXT_EMAIL, $"EFD-Reinf - Recuperação de Senha", textoEmail);
        }
Beispiel #4
0
        public IActionResult Post([FromBody] EmailEntidade relacionamentoEntidade)
        {
            try
            {
                DadosPessoaisEntidade dadosPessoais;

                if (Pensionista)
                {
                    dadosPessoais = new DadosPessoaisProxy().BuscarPensionistaPorCdPessoa(CdPessoa);
                }
                else
                {
                    dadosPessoais = new DadosPessoaisProxy().BuscarPorCdPessoa(CdPessoa).First();
                }

                var emailConfig = AppSettings.Get().Email;
                var corpoEmail  =
                    $"Nome: {dadosPessoais.NO_PESSOA}<br/>" +
                    $"E-mail: {relacionamentoEntidade.Email}<br/>" +
                    $"Mensagem: {relacionamentoEntidade.Mensagem}";
                EnvioEmail.Enviar(emailConfig, emailConfig.EmailRelacionamento, $"Faceb - {relacionamentoEntidade.Assunto}", corpoEmail);
                return(Ok());
            }
            catch (Exception ex)
            {
                return(BadRequest("Ocorreu um erro ao enviar e-mail"));
            }
        }
Beispiel #5
0
        public ValidationResult EnviarEmail(string url, string emailUsuario)
        {
            var contaPadrao = _configuracaoContasEmailsServico.ObterContaPadrao();
            ValidationResult retorno;

            if (contaPadrao == null)
            {
                retorno = new ValidationResult();
                retorno.Add(new ValidationError("Conta Padrão não cadastrada na Ferramenta"));
                return(retorno);
            }

            var destinatario = new List <string> {
                emailUsuario
            };

            var emailServico = new EnvioEmail();
            var html         = new StringBuilder();

            html.Append("<p><strong>Ol&aacute;,</strong></p>");
            html.Append(
                "<p>Obrigado por entrar em contato sobre a atualiza&ccedil;&atilde;o da sua senha.Para prosseguir basta <span style='color: #ff0000;'><a href='" +
                url + "' style='color: #ff0000;'>clicar aqui</a>.</span></p>");
            html.Append("<p>Caso n&atilde;o tenha solicitado a troca de senha por favor ignore este email.</p>");
            html.Append("<p>Att.</p>");

            retorno = emailServico.Enviar(contaPadrao.Email, contaPadrao.Descricao, contaPadrao.UsuarioEmail,
                                          contaPadrao.SenhaEmail, contaPadrao.NecessarioSsl, contaPadrao.PortaServidorSaida,
                                          contaPadrao.ServidorSmtp, "Atualização de Senha", html.ToString(), destinatario, null,
                                          null, null, null);

            return(retorno);
        }
        public ActionResult Create(string nome, string telefone, string email, string assunto)
        {
            try
            {
                //envio para o cliente
                var model = new Contato
                {
                    Assunto = assunto,
                    Email   = email,
                    Nome    = nome,

                    Cliente = true
                };
                EnvioEmail.EnviaMensagemEmail(model);

                //envio para a unpaper
                var obj = new Contato
                {
                    Assunto  = assunto,
                    Email    = "*****@*****.**",
                    Nome     = nome,
                    Telefone = telefone
                };
                model.Cliente = false;
                var enviouEmail = EnvioEmail.EnviaMensagemEmail(obj);
            }
            catch (Exception ex)
            {
                ViewData.ModelState.AddModelError("_FORM", ex.Message);
            }

            return(RedirectToAction("Index", "Home"));
        }
Beispiel #7
0
 public HttpResponseMessage EmailTrocaSMTP(UpdateSmtpViewModel model)
 {
     try
     {
         if (ModelState.IsValid)
         {
             var envioEmail = new EnvioEmail(_ServerConfigRepo);
             var domainName = Request.RequestUri.Scheme + "://" + Request.RequestUri.Host;
             envioEmail.EmailTrocaSMTP(domainName, model.SmtpAdress, model.SmtpPort, model.SmtpUsername, model.SmtpPassword);
             return(Request.CreateResponse(HttpStatusCode.OK));
         }
         else
         {
             var errorObj = ModelStateErrors.DisplayModelStateError(ModelState);
             return(Request.CreateResponse(HttpStatusCode.NotAcceptable, errorObj, "text/plain"));
         }
     }
     catch (SmtpException ex)
     {
         return(Request.CreateResponse(HttpStatusCode.InternalServerError, "Não foi possível authenticar este email, verifique sua senha e as configurações."));
     }
     catch (Exception ex)
     {
         return(Request.CreateResponse(HttpStatusCode.InternalServerError, ex.Message));
     }
 }
Beispiel #8
0
 public void EnviarEmail(TipoAuditoria tipo)
 {
     EnvioEmail.SendMail(Requerimento.UsuarioRequerente, MsgEmail, Requerimento);
     if (Requerimento.UsuarioRequerenteId != Requerimento.UsuarioAtendenteId)
     {
         EnvioEmail.SendMail(Requerimento.UsuarioAtendente, $"O Requerimento {Requerimento.Protocolo} foi encaminhado para você! acesse o SCIR para verificar.", Requerimento);
     }
 }
Beispiel #9
0
        public void ValidaDataTest()
        {
            EnvioEmail teste      = new EnvioEmail();
            DateTime   data       = new DateTime(2012, 11, 21);
            bool       dataValida = teste.ValidaData(data);

            Assert.AreEqual(true, dataValida);
        }
Beispiel #10
0
        public void VerificaSemanaTest()
        {
            EnvioEmail teste  = new EnvioEmail();
            DateTime   data   = new DateTime(2012, 11, 15);
            string     semana = teste.VerificaSemana(data);

            Assert.AreEqual("quinta-feira", semana);
        }
Beispiel #11
0
        public void ValidacaoHoraTest()
        {
            EnvioEmail teste      = new EnvioEmail();
            string     hora       = "9:00";
            bool       horaValida = teste.ValidacaoHora(hora);

            Assert.AreEqual(true, horaValida);
        }
Beispiel #12
0
        public void ValidaEmailTest()
        {
            EnvioEmail teste       = new EnvioEmail();
            string     email       = "teste.com";
            bool       ValidaEmail = teste.ValidaEmail(email);

            Assert.AreEqual(true, ValidaEmail);
        }
Beispiel #13
0
        public ActionResult Compra(string compra, string localizacao)
        {
            Cadastro   c     = Session["Cadastro"] as Cadastro;
            EnvioEmail envio = new EnvioEmail();

            envio.Email(c.Celular, "Confirmação de Compra site Teste", "Compra no Valor de " + compra + " na cidade de " + localizacao + " Por favor confirme a compra");
            return(View());
        }
Beispiel #14
0
        public void EnviaTest()
        {
            EnvioEmail teste      = new EnvioEmail();
            string     endereco   = "*****@*****.**";
            string     comentario = "Teste Email";
            bool       EmailTeste = teste.Envia(endereco, comentario);

            Assert.AreEqual(true, EmailTeste);
        }
        /// <summary>
        /// Envia novo e-mail de confirmação de cadastro do usuário.
        /// </summary>
        /// <param name="usuario">Usuário a ser enviado o e-mail</param>
        public void EnviarEmailConfirmacao(UsuarioEntidade usuario)
        {
            // Envia e-mail com nova senha de acesso
            var config = AppSettings.Get();

            var textoEmail = $"<h2>Bem-Vindo ao Intech EFD-Reinf</h2>" +
                             $"Para confirmar seu cadastro, clique no link a seguir: <a href=\"{config.PublicacaoAPI}/usuario/confirmarEmail/{usuario.TXT_TOKEN}\">Confirmar e-mail</a>";

            EnvioEmail.Enviar(config.Email, usuario.TXT_EMAIL, $"EFD-Reinf - Confirmação de Cadastro", textoEmail);
        }
Beispiel #16
0
        public void EnvioNDiasSabDomTest()
        {
            EnvioEmail teste      = new EnvioEmail();
            DateTime   data       = new DateTime(2012, 11, 15);
            string     email      = "*****@*****.**";
            string     comentario = "Email teste";
            int        dias       = 3;
            bool       envio      = teste.EnvioNDiasSabDom(data, email, comentario, dias);

            Assert.AreEqual(true, envio);
        }
Beispiel #17
0
        static void Main(string[] args)
        {
            var c = new Cliente();
            var e = new EnvioEmail();

            var lista = new List<string>();
            lista.Add("Nome");
            lista.Add("Valor");

            var p = new Produto
    
    }
        public IActionResult Enviar([FromBody] dynamic data)
        {
            try
            {
                // Envia e-mail com nova senha de acesso
                var emailConfig = AppSettings.Get().Email;
                EnvioEmail.Enviar(emailConfig, data.Destinatario.Value, data.Assunto.Value, data.Corpo.Value);

                return(Ok());
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.Message));
            }
        }
Beispiel #19
0
        internal void RecuperarSenha(Usuario usuario, string url)
        {
            if (usuario.Ativo)
            {
                var senha = GeraSenhaAleatoria();
                usuario.SenhaReset = cripto.Encrypt(senha);
                var uServer = new UsuarioServer();
                usuario = uServer.Atualizar(usuario, true);

                url += $"/Login/ConfirmacaoEmail?id={usuario.Id}&s={senha}";

                var textEmail = ($@"    Foi solicitado a retificação de senha para o seu usuário no sistema SCIR - IFSC, para confirmar a retificação de senha deve entrar no link abaixo <br> {url} <br><br> E a sua senha após entrar no link anterior provisória é: <br>{senha} <br><br>Após efetuar o login é aconselhavel trocar a sua senha no sistema imediatamente!");
                EnvioEmail.SendMailGeneric(usuario, textEmail, "Conta de Usuário SCIR - IFSC");
            }
        }
 public HttpResponseMessage GerarNovaSenha(string token)
 {
     try
     {
         if (token == null)
         {
             return(Request.CreateResponse(HttpStatusCode.NotAcceptable, "Campos Inválidos", "text/plain"));
         }
         else
         {
             var recSenha = _RecuperarSenhaRepo.GetByTokenGuid(token);
             if (recSenha == null)
             {
                 return(Request.CreateResponse(HttpStatusCode.NotAcceptable, "Token Inválido", "text/plain"));
             }
             else
             {
                 if (recSenha.Utilizado == false)
                 {
                     var novasSenha   = Helper.GenerateRandomOcoOrderID(12);
                     var hashpassword = Hashing.HashPassword(novasSenha);
                     var user         = _UserRepo.GetById(recSenha.Usuario_Id);
                     user.Password = hashpassword;
                     _UserRepo.Update(user);
                     recSenha.Utilizado = true;
                     _RecuperarSenhaRepo.Update(recSenha);
                     var envioEmail = new EnvioEmail(_ServerConfigRepo);
                     envioEmail.EmailEnviarNovaSenha(novasSenha, user.Email);
                     var response   = Request.CreateResponse(HttpStatusCode.Moved);
                     var domainName = Request.RequestUri.Scheme + "://" + Request.RequestUri.Host;
                     response.Headers.Location = new Uri(domainName + "/usuario/Login");
                     return(response);
                 }
                 else
                 {
                     var response   = Request.CreateResponse(HttpStatusCode.Moved);
                     var domainName = Request.RequestUri.Scheme + "://" + Request.RequestUri.Host;
                     response.Headers.Location = new Uri(domainName + "/usuario/register/TokenExpirado");
                     return(response);
                 }
             }
         }
     }
     catch (Exception ex)
     {
         return(Request.CreateResponse(HttpStatusCode.InternalServerError, ex.Message));
     }
 }
Beispiel #21
0
        internal void CriarUsuarioAutoCadastro(string email, string url)
        {
            if (!ValidateUtils.IsValidEmail(email))
            {
                throw new Exception("e-mail informado não é válido");
            }

            var indiceArroba = email.IndexOf("@");
            var dominio      = email.Substring(indiceArroba + 1);
            var usuario      = email.Substring(0, indiceArroba);
            var papel        = PapelDao.PapelUsuario.UsuarioNaoAutenticado;

            if (dominio.ToLower() == "aluno.ifsc.edu.br")
            {
                papel = PapelDao.PapelUsuario.Discente;
            }
            else if (dominio.ToLower() == "ifsc.edu.br")
            {
                papel = PapelDao.PapelUsuario.Servidor;
            }

            if (papel != PapelDao.PapelUsuario.UsuarioNaoAutenticado)
            {
                var senha       = GeraSenhaAleatoria();
                var novoUsuario = new Usuario
                {
                    Nome       = usuario,
                    Email      = email,
                    Ativo      = false,
                    PapelId    = (int)papel,
                    Senha      = senha,
                    SenhaReset = cripto.Encrypt(senha)
                };

                var uServer = new UsuarioServer();
                novoUsuario = uServer.Novo(novoUsuario);

                url += $"/Login/ConfirmacaoEmail?id={novoUsuario.Id}&s={senha}";

                var textEmail = ($@"Seja Bem-Vindo ao SCIR-IFSC <br><br> Foi criado o seu usuário e senha, para acessar deve entrar no link a baixo para ativar a sua conta<br> {url} <br><br> E a sua senha após entrar no link anterior provisória é: <br>{senha} <br><br>Após efetuar o login é aconselhavel trocar a sua senha no sistema imediatamente!");
                EnvioEmail.SendMailGeneric(novoUsuario, textEmail, "Conta de Usuário SCIR - IFSC");
            }
            else
            {
                throw new Exception("Deve informar o seu e-mail fornecido pela instituição de ensino!");
            }
        }
        public long Add(string url)
        {
            long id = 0;

            PropertyInfo[] listaPropiedadesProceso = (new EnvioEmail()).GetType().GetProperties();
            using (var conexionBulkCopy = new SqlConnection(_database.ConnectionString))
            {
                EnvioEmail objeto     = new EnvioEmail();
                DataTable  tablaDatos = new DataTable();
                DataRow    filaDatos  = tablaDatos.NewRow();

                listaPropiedadesProceso = objeto.GetType().GetProperties();


                foreach (PropertyInfo propiedadProceso in listaPropiedadesProceso)
                {
                    if (propiedadProceso.PropertyType == typeof(string))
                    {
                        filaDatos[propiedadProceso.Name] = ((string)propiedadProceso.GetValue(objeto, null) ?? "").Length > 250 ? "" : ((string)propiedadProceso.GetValue(objeto, null) ?? "");
                    }
                    else
                    {
                        filaDatos[propiedadProceso.Name] = propiedadProceso.GetValue(objeto, null);
                    }
                }

                tablaDatos.Rows.Add(filaDatos);

                //bulkCopy
                using (SqlBulkCopy bulkCopy = new SqlBulkCopy(conexionBulkCopy))
                {
                    bulkCopy.BulkCopyTimeout      = int.MaxValue;
                    bulkCopy.DestinationTableName = "Base.ClienteCorreo";

                    listaPropiedadesProceso = (new EnvioEmail()).GetType().GetProperties();
                    foreach (PropertyInfo propiedadProceso in listaPropiedadesProceso)
                    {
                        bulkCopy.ColumnMappings.Add(propiedadProceso.Name, propiedadProceso.Name);
                    }
                    //Carga masiva
                    bulkCopy.WriteToServer(tablaDatos);
                }
            }
            return(id);
        }
        public IActionResult EnviarAdesao([FromBody] dynamic dados)
        {
            try
            {
                var emailConfig = AppSettings.Get().Email;
                var corpoEmail  =
                    $"Uma Simulação de Benefício no mobile foi realizada pelo usuário:<br/>" +
                    $"Nome: {dados.nome}<br/>" +
                    $"E-mail: {dados.email}<br/>";
                EnvioEmail.Enviar(emailConfig, emailConfig.EmailRelacionamento, $"Faceb - Simulação de Não Participante", corpoEmail);

                return(Json("Um e-mail com os dados da sua simulação foi enviado para a Faceb! "));
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.Message));
            }
        }
Beispiel #24
0
        public decimal Inserir(ContribuinteEntidade contribuinte, decimal oidUsuario)
        {
            Validar(ref contribuinte);

            contribuinte.DTA_VALIDADE      = DateTime.Now;
            contribuinte.IND_APROVADO      = DMN_SN.SIM;
            contribuinte.IND_TIPO_AMBIENTE = DMN_TIPO_AMBIENTE_EFD.PRODUCAO_RESTRITA;

            var proxyContribuinte        = new ContribuinteProxy();
            var proxyUsuarioContribuinte = new UsuarioContribuinteProxy();

            // Valida se usuário possui um contribuinte com o mesmo CNPJ cadastrado
            var contribuinteExistente = proxyContribuinte.BuscarPorCpfCnpjOidUsuario(contribuinte.COD_CNPJ_CPF, oidUsuario);

            if (contribuinteExistente != null)
            {
                throw new Exception("Já existe um contribuinte com esse CNPJ vinculado ao usuário logado.");
            }

            contribuinteExistente = proxyContribuinte.BuscarPorCpfCnpj(contribuinte.COD_CNPJ_CPF);

            if (contribuinteExistente != null)
            {
                throw new Exception("Já existe um contribuinte com esse CNPJ vinculado a outro usuário. Favor entrar em contato com a Intech.");
            }

            var oidContribuinte = base.Inserir(contribuinte);

            var oidUsuarioContribuinte = proxyUsuarioContribuinte.Inserir(new UsuarioContribuinteEntidade
            {
                OID_USUARIO      = oidUsuario,
                OID_CONTRIBUINTE = oidContribuinte
            });

            // Envia e-mail com nova senha de acesso
            var config  = AppSettings.Get();
            var usuario = new UsuarioProxy().BuscarPorChave(oidUsuario);

            var textoEmail = $"EFD-Reinf: Um novo contribuinte foi cadastrado pelo usuário {usuario.NOM_USUARIO}: {contribuinte.NOM_RAZAO_SOCIAL}.";

            EnvioEmail.EnviarMailKit(config.Email, config.EmailsCadastroContribuintes, $"[EFD-Reinf] - Novo Contribuinte", textoEmail);

            return(oidContribuinte);
        }
        public HttpResponseMessage Post(RegisterViewModel model)
        {
            //nao permitir usuarios com email repetidos nao esta validando criar validaçao
            try
            {
                if (model == null)
                {
                    return(Request.CreateResponse(HttpStatusCode.NotAcceptable, "Campos Inválidos", "text/plain"));
                }
                if (ModelState.IsValid)
                {
                    var Usuario = new Usuario
                    {
                        Email        = model.email,
                        Nome         = model.nome,
                        Sobrenome    = model.sobrenome,
                        DataCadastro = DateTime.UtcNow,
                        //Password = Helper.EncryptSha512(model.password),
                        Password = Hashing.HashPassword(model.password),
                        DataVencimentoLicenca = DateTime.UtcNow.AddMonths(3)
                    };
                    _UserRepo.Add(Usuario);
                    var ConfirmEmail = new ConfirmEmail
                    {
                        Usuario_Id = Usuario.Id,
                        Token      = Guid.NewGuid().ToString()
                    };
                    _confirEmailRepo.Add(ConfirmEmail);
                    var domainName = Request.RequestUri.Scheme + "://" + Request.RequestUri.Authority;

                    var envioEmail = new EnvioEmail(_ServerConfigRepo);
                    envioEmail.EmailCadastro(domainName, ConfirmEmail.Token, Usuario.Email);
                    return(Request.CreateResponse(HttpStatusCode.OK, ConfirmEmail));
                }
                var errorObj = ModelStateErrors.DisplayModelStateError(ModelState);
                return(Request.CreateResponse(HttpStatusCode.NotAcceptable, errorObj, "text/plain"));
            }
            catch (Exception ex)
            {
                return(Request.CreateResponse(HttpStatusCode.InternalServerError, ex.Message));
            }
        }
        public HttpResponseMessage RecuperarSenha(RecuperarSenhaViewModel model)
        {
            try
            {
                if (model == null)
                {
                    return(Request.CreateResponse(HttpStatusCode.NotAcceptable, "Campos Inválidos", "text/plain"));
                }
                if (ModelState.IsValid)
                {
                    var user = _UserRepo.GetByEmail(model.Email);
                    if (user == null)
                    {
                        return(Request.CreateResponse(HttpStatusCode.NotAcceptable, "Email Inexistente", "text/plain"));
                    }
                    else
                    {
                        var recSenha = new RecuperarSenha
                        {
                            Token        = Guid.NewGuid().ToString(),
                            DataCadastro = DateTime.UtcNow,
                            Usuario_Id   = user.Id,
                            Utilizado    = false
                        };
                        _RecuperarSenhaRepo.Add(recSenha);
                        var domainName = Request.RequestUri.Scheme + "://" + Request.RequestUri.Authority;

                        var envioEmail = new EnvioEmail(_ServerConfigRepo);
                        envioEmail.EmailRecuperarSenha(domainName, recSenha.Token, user.Email);
                        return(Request.CreateResponse(HttpStatusCode.OK));
                    }
                }
                var errorObj = ModelStateErrors.DisplayModelStateError(ModelState);
                return(Request.CreateResponse(HttpStatusCode.NotAcceptable, errorObj, "text/plain"));
            }
            catch (Exception ex)
            {
                return(Request.CreateResponse(HttpStatusCode.InternalServerError, ex.Message));
            }
        }
        public async Task <IActionResult> Aprovar(int AgendamentoId)
        {
            var ag = await _context.Agendamento.FindAsync(AgendamentoId);

            string email = _context.Usuarios.Where(u => u.UsuarioId == ag.UsuarioId).Select(u => u.Email).FirstOrDefault();

            var disciplina = _context.Disciplina.Where(d => d.DisciplinaId == ag.DisciplinaId).Select(d => d.NomeDisciplina).FirstOrDefault();
            var professor  = _context.Professor.Where(p => p.ProfessorId == ag.ProfessorId).Select(p => p.NomeProfessor).FirstOrDefault();

            if (ag == null)
            {
                return(NotFound());
            }
            ag.StatusId = 1;
            _context.Update(ag);
            await _context.SaveChangesAsync();

            EnvioEmail ee       = new EnvioEmail();
            string     emailLog = HttpContext.Session.GetString("EmailLogado");

            ee.EnvioDeEmail(emailLog, "Caro coordenador, seu agendamento com a data de " + ag.DataAgendamento.ToShortDateString() + " e horário " + ag.DataAgendamento.ToShortTimeString() + " da disciplina " + disciplina + " e ministrada pelo professor " + professor + " foi aprovado!", "Aprovação de agendamento");
            return(RedirectToAction("Index"));
        }
        public async Task <IActionResult> Reprovar(int AgendamentoId, string mensagem)
        {
            var ag = await _context.Agendamento.FindAsync(AgendamentoId);

            var avisos = _context.Aviso.Where(b => b.AgendamentoId == AgendamentoId).Select(b => b).FirstOrDefault();

            var    disciplina = _context.Disciplina.Where(d => d.DisciplinaId == ag.DisciplinaId).Select(d => d.NomeDisciplina).FirstOrDefault();
            var    professor  = _context.Professor.Where(p => p.ProfessorId == ag.ProfessorId).Select(p => p.NomeProfessor).FirstOrDefault();
            string email      = _context.Usuarios.Where(u => u.UsuarioId == ag.UsuarioId).Select(u => u.Email).FirstOrDefault();

            if (ag == null)
            {
                return(NotFound());
            }
            try
            {
                if (avisos != null)
                {
                    _context.Aviso.Remove(avisos);
                    await _context.SaveChangesAsync();
                }

                _context.Agendamento.Remove(ag);
                await _context.SaveChangesAsync();
            }
            catch (Exception ex)
            {
                throw;
            }

            EnvioEmail ee       = new EnvioEmail();
            string     emailLog = email;

            ee.EnvioDeEmail(emailLog, "Caro coordenador, seu agendamento com a data de " + ag.DataAgendamento.ToShortDateString() + " e horário " + ag.DataAgendamento.ToShortTimeString() + " da disciplina " + disciplina + " e ministrada pelo professor " + professor + " foi reprovada, motivo: " + mensagem, "Reprovação de agendamento");
            return(RedirectToAction("Index"));
        }
Beispiel #29
0
        public async Task <IActionResult> RecuperaSenha([FromForm] Usuario usuario)
        {
            try
            {
                ViewBag.Layout = "_Layout";
                if (!string.IsNullOrWhiteSpace(usuario.Email))
                {
                    if (string.IsNullOrWhiteSpace(ConfiguracaoEmail.Senha) || string.IsNullOrWhiteSpace(ConfiguracaoEmail.SmtpHost) || string.IsNullOrWhiteSpace(ConfiguracaoEmail.SmtpPorta) || string.IsNullOrWhiteSpace(ConfiguracaoEmail.Usuario))
                    {
                        ViewData["MSG_E"] = "Necessário ter um e-mail configurado no sistema para fazer o envio da recuperação da senha.";
                    }
                    else
                    {
                        using (var httpClient = new HttpClient())
                        {
                            using (var response = await httpClient.GetAsync(string.Concat(urlBase, "usuario/recuperacao/", usuario.Email)))
                            {
                                if (response.StatusCode == HttpStatusCode.OK)
                                {
                                    usuario       = JsonConvert.DeserializeObject <Usuario>(response.Content.ReadAsStringAsync().Result);
                                    usuario.Senha = EnvioEmail.EnviarEmail(usuario.Email, usuario.Nome, usuario.Id);

                                    usuario.EncodeSenha();
                                    using (var httpClient2 = new HttpClient())
                                    {
                                        using (var response2 = await httpClient.PutAsync(string.Concat(urlBase, "usuario/", usuario.Id), new StringContent(JsonConvert.SerializeObject(usuario), Encoding.UTF8, "application/json")))
                                        {
                                            if (response2.StatusCode == HttpStatusCode.OK)
                                            {
                                                ViewData["MSG_S"] = "Cheque seu e-mail para recuperação da senha.";
                                            }
                                            else if (response.StatusCode == HttpStatusCode.NotAcceptable)
                                            {
                                                RetornoErroAPI retornoErroAPI = JsonConvert.DeserializeObject <RetornoErroAPI>(response.Content.ReadAsStringAsync().Result);
                                                ViewData["MSG_E"] = retornoErroAPI.Detail;
                                            }
                                            else
                                            {
                                                ViewData["MSG_E"] = "Erro ao alterar usuário. Tente novamente mais tarde!";
                                            }
                                        }
                                    }
                                }
                                else if (response.StatusCode == HttpStatusCode.NotFound)
                                {
                                    ViewData["MSG_E"] = "Usuário não encontrado.";
                                }
                                else
                                {
                                    ViewData["MSG_E"] = "Erro ao enviar e-mail para recuperação da senha. Tente novamente mais tarde!";
                                }
                            }
                        }
                    }
                }
                else
                {
                    ViewData["MSG_E"] = "Necessário ter um e-mail válido para recuperar a senha.";
                }
            }
            catch
            {
                ViewData["MSG_E"] = "Erro ao enviar e-mail para recuperação da senha. Tente novamente mais tarde!";
            }

            return(View());
        }
        public void DeveRetornarExcessaoSeEmailForNulo()
        {
            EnvioEmail envioEmail = new EnvioEmail();

            envioEmail.EnviarEmail(null);
        }