예제 #1
0
        /// <summary>
        /// Método responsável por recuperar as configurações de um email
        /// </summary>
        /// <param name="idEmail">Identificador da configuração do email</param>
        /// <returns>Retorna um objeto Email</returns>
        public ValueObjectLayer.Email RecuperarConfiguracaoEmail(ValueObjectLayer.TipoEmail tipoEmail)
        {
            SqlCommand cmd = null;

            ValueObjectLayer.Email email = null;

            try
            {
                cmd = Factory.AcessoDados();

                cmd.CommandText = "Select * From TB_Email e " +
                                  "Where e.Id = @varidEmail";

                cmd.Parameters.AddWithValue("@varidEmail", Convert.ToInt32(tipoEmail));

                using (SqlDataReader reader = cmd.ExecuteReader())
                {
                    while (reader.Read())
                    {
                        email = new ValueObjectLayer.Email();

                        email.Id                  = Convert.ToInt32(reader["Id"]);
                        email._Email_Tipo         = new ValueObjectLayer.Email_Tipo(Convert.ToInt32(reader["IdTipoEmail"]));
                        email._Funcionalidade     = new ValueObjectLayer.Funcionalidade(Convert.ToInt32(reader["IdFuncionalidade"]));
                        email.Smtp                = Convert.ToString(reader["Smtp"]);
                        email.Email_Empresa       = Convert.ToString(reader["Email_Empresa"]);
                        email.Assunto             = Convert.ToString(reader["Assunto"]);
                        email.CorpoEmail          = Convert.ToString(reader["CorpoEmail"]);
                        email.UsarPorta           = Convert.ToBoolean(reader["UsarPorta"]);
                        email.Porta               = Convert.ToInt32(reader["Porta"]);
                        email.EnviarEmailAdm      = Convert.ToBoolean(reader["EnviarEmailAdm"]);
                        email.EmailAdm            = Convert.ToString(reader["EmailAdm"]);
                        email.EnviarEmailGestor   = Convert.ToBoolean(reader["EnviarEmailGestor"]);
                        email.EmailGestor         = Convert.ToString(reader["EmailGestor"]);
                        email.UsuarioEmailEmpresa = Convert.ToString(reader["UsuarioEmailEmpresa"]);
                        email.UsuarioEmailEmpresa = Convert.ToString(reader["UsuarioEmailEmpresa"]);
                        email.SenhaEmailEmpresa   = Convert.ToString(reader["SenhaEmailEmpresa"]);
                        email.EnviarEmail         = Convert.ToBoolean(reader["EnviarEmail"]);
                        email.Ssl                 = Convert.ToBoolean(reader["Ssl"]);
                    }
                }

                return((email != null) ? email : null);
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                if (cmd != null)
                {
                    cmd.Dispose();
                }
            }
        }
예제 #2
0
 /// <summary>
 /// Fachada responsável por salvar as configurações de email
 /// </summary>
 /// <param name="email">Objeto do tipo ValueObjectLayer.Email</param>
 /// <returns>Retorna um bool se ok</returns>
 public static bool SalvaConfiguracaoEmail(ValueObjectLayer.Email email)
 {
     //return BusinessLayer.Administrador.Email.SalvaConfiguracaoEmail(email);
     if (dados.Equals("SqlServer"))
     {
         return(repositorioEmaiilSqlServer.SalvaConfiguracaoEmail(email));
     }
     else
     {
         return(repositorioEmaiilSqlServer.SalvaConfiguracaoEmail(email));
     }
 }
예제 #3
0
        /// <summary>
        /// Método que envia email do sistema
        /// </summary>
        /// <param name="email">Email requerido para envio</param>
        /// <param name="corpoEmail">Mensagem que o email irá enviar</param>
        /// <returns>Retorna true se ok</returns>
        public bool EnviarEmailAdmnistracao(IList <ValueObjectLayer.Usuario> usuariosAdm, ValueObjectLayer.Email isEmail, ValueObjectLayer.Usuario usuarioFuncionario)
        {
            try
            {
                IList <string> comCopia    = new List <string>();
                MailMessage    mail        = new MailMessage();
                SmtpClient     SmtpServer  = new SmtpClient(isEmail.Smtp);
                string         emailAdm    = string.Empty;
                string         emailGestor = string.Empty;

                mail.From = new MailAddress(isEmail.Email_Empresa);

                if (isEmail.EnviarEmailAdm)
                {
                    foreach (ValueObjectLayer.Usuario usuarioAdm in usuariosAdm)
                    {
                        mail.To.Add(usuarioAdm.Email);
                    }

                    if (isEmail.EnviarEmailGestor)
                    {
                        IList <ValueObjectLayer.Usuario> usuariosGestor = RepositorioUsuarioSqlServer.RecuperarUsuariosPorPerfil(ValueObjectLayer.TipoPerfil.Gestor);
                        if (usuariosGestor != null)
                        {
                            if (usuariosGestor.Count > 0)
                            {
                                foreach (ValueObjectLayer.Usuario usuarioGestor in usuariosAdm)
                                {
                                    mail.CC.Add(usuarioGestor.Email);
                                }
                            }
                        }
                    }
                }
                else
                {
                    if (isEmail.EnviarEmailGestor)
                    {
                        IList <ValueObjectLayer.Usuario> usuariosGestor = RepositorioUsuarioSqlServer.RecuperarUsuariosPorPerfil(ValueObjectLayer.TipoPerfil.Gestor);
                        if (usuariosGestor != null)
                        {
                            if (usuariosGestor.Count > 0)
                            {
                                foreach (ValueObjectLayer.Usuario usuarioGestor in usuariosAdm)
                                {
                                    mail.To.Add(usuarioGestor.Email);
                                }
                            }
                        }
                    }
                }

                string corpoEmail = "O usuário " + usuarioFuncionario.Nome + " foi inserido no sistema";

                mail.Subject = isEmail.Assunto;

                StringBuilder sbcorpoEmail = new StringBuilder();
                string[]      msg          = isEmail.CorpoEmail.ToString().Split(new char[] { '|' });
                sbcorpoEmail.Append(msg[0] + "\n\r");
                sbcorpoEmail.Append(msg[1] + "\n\r");
                string msgCompleta = sbcorpoEmail.ToString();

                mail.Body = msgCompleta + corpoEmail;
                if (isEmail.UsarPorta)
                {
                    SmtpServer.Port = (int)isEmail.Porta;
                }

                SmtpServer.Credentials = new System.Net.NetworkCredential(isEmail.UsuarioEmailEmpresa, isEmail.SenhaEmailEmpresa);
                if (isEmail.Ssl)
                {
                    SmtpServer.EnableSsl = true;
                }

                SmtpServer.Send(mail);

                return(true);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
예제 #4
0
        /// <summary>
        /// Método que envia email do sistema
        /// </summary>
        /// <param name="email">Email requerido para envio</param>
        /// <param name="corpoEmail">Mensagem que o email irá enviar</param>
        /// <returns>Retorna true se ok</returns>
        public bool EnviarEmail(ValueObjectLayer.Usuario usuario, string msgUsuario)
        {
            try
            {
                ValueObjectLayer.Email isEmail    = RecuperarConfiguracaoEmail(TipoEmail.Empresa);
                IList <string>         comCopia   = new List <string>();
                MailMessage            mail       = new MailMessage();
                SmtpClient             SmtpServer = new SmtpClient(isEmail.Smtp);

                mail.From = new MailAddress(isEmail.Email_Empresa);

                mail.To.Add(usuario.Email);
                mail.IsBodyHtml = true;
                mail.Subject    = isEmail.Assunto;

                StringBuilder sbcorpoEmail = new StringBuilder();
                //string[] msg = isEmail.CorpoEmail.ToString().Split(new char[] { '|' });
                //sbcorpoEmail.Append(msg[0] + "\n\r");
                //sbcorpoEmail.Append(msg[1] + "\n\r");

                sbcorpoEmail.Append(isEmail.CorpoEmail + "\n\r");
                string[] msg = msgUsuario.ToString().Split(new char[] { '|' });
                foreach (var item in msg)
                {
                    sbcorpoEmail.Append(item + "\n\r");
                }

                string msgCompleta = sbcorpoEmail.ToString();

                mail.Body            = sbcorpoEmail.ToString();
                mail.SubjectEncoding = Encoding.GetEncoding("ISO-8859-1");
                mail.BodyEncoding    = Encoding.GetEncoding("ISO-8859-1");

                if ((bool)isEmail.UsarPorta)
                {
                    SmtpServer.Port = (int)isEmail.Porta;
                }

                SmtpServer.Credentials = new System.Net.NetworkCredential(isEmail.Email_Empresa, isEmail.SenhaEmailEmpresa);
                if ((bool)isEmail.Ssl)
                {
                    SmtpServer.EnableSsl = true;
                }

                SmtpServer.Send(mail);

                if (isEmail.EnviarEmailAdm || isEmail.EnviarEmailGestor)
                {
                    IList <ValueObjectLayer.Usuario> usuarios = RepositorioUsuarioSqlServer.RecuperarUsuariosPorPerfil(ValueObjectLayer.TipoPerfil.Administrador);
                    if (usuarios != null)
                    {
                        if (usuarios.Count > 0)
                        {
                            EnviarEmailAdmnistracao(usuarios, isEmail, usuario);
                        }
                    }
                }

                return(true);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
예제 #5
0
        /// <summary>
        /// Método responsável por salvar as configurações de email
        /// </summary>
        /// <param name="email">Objeto do tipo ValueObjectLayer.Email</param>
        /// <returns>Retorna um bool se ok</returns>
        public bool SalvaConfiguracaoEmail(ValueObjectLayer.Email email)
        {
            SqlCommand cmd = null;

            try
            {
                cmd = Factory.AcessoDados();

                string sQuery = "UPDATE TB_Email Set " +
                                "IdTipoEmail = @varEmailTipoId " +
                                ", IdFuncionalidade = @varIdFuncionalidade " +
                                ", Smtp = @varSmtp " +
                                ", Email_Empresa = @varEmail_Empresa " +
                                ", Assunto = @varAssunto " +
                                ", CorpoEmail = @varCorpoEmail " +
                                ", UsarPorta = @varUsarPorta " +
                                ", Porta = @varPorta " +
                                ", EnviarEmailAdm = @varEnviarEmailAdm " +
                                ", EnviarEmailGestor = @varEnviarEmailGestor " +
                                ", UsuarioEmailEmpresa = @varUsuarioEmailEmpresa " +
                                ", EnviarEmail = @varEnviarEmail " +
                                ", Ssl = @varSsl ";
                if (!string.IsNullOrEmpty(email.SenhaEmailEmpresa))
                {
                    sQuery += ", SenhaEmailEmpresa = @varSenhaEmailEmpresa ";
                }

                sQuery += "Where Id = @emailId ";


                cmd.CommandText = sQuery;

                cmd.Parameters.AddWithValue("@varEmailTipoId", email._Email_Tipo.Id);
                cmd.Parameters.AddWithValue("@varIdFuncionalidade", email._Funcionalidade.Id);
                cmd.Parameters.AddWithValue("@varSmtp", email.Smtp);
                cmd.Parameters.AddWithValue("@varEmail_Empresa", email.Email_Empresa);
                cmd.Parameters.AddWithValue("@varAssunto", email.Assunto);
                cmd.Parameters.AddWithValue("@varCorpoEmail", email.CorpoEmail);
                cmd.Parameters.AddWithValue("@varUsarPorta", email.UsarPorta);
                cmd.Parameters.AddWithValue("@varPorta", email.Porta);
                cmd.Parameters.AddWithValue("@varEnviarEmailAdm", email.EnviarEmailAdm);
                cmd.Parameters.AddWithValue("@varEnviarEmailGestor", email.EnviarEmailGestor);
                cmd.Parameters.AddWithValue("@varUsuarioEmailEmpresa", email.UsuarioEmailEmpresa);
                if (!string.IsNullOrEmpty(email.SenhaEmailEmpresa))
                {
                    cmd.Parameters.AddWithValue("@varSenhaEmailEmpresa", email.SenhaEmailEmpresa);
                }
                cmd.Parameters.AddWithValue("@varEnviarEmail", email.EnviarEmail);
                cmd.Parameters.AddWithValue("@varSsl", email.Ssl);
                cmd.Parameters.AddWithValue("@emailId", email.Id);

                return((cmd.ExecuteNonQuery() > 0) ? true : false);
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                if (cmd != null)
                {
                    cmd.Dispose();
                }
            }
        }
예제 #6
0
        protected void PreencheCampos(int idEmail)
        {
            try
            {
                ValueObjectLayer.Email email = EmailFacade.RecuperarConfiguracaoEmail(ValueObjectLayer.TipoEmail.Empresa);



                if (Convert.ToBoolean(email.EnviarEmail))
                {
                    CheckEnviarEmail.Checked = true;
                }
                else
                {
                    CheckEnviarEmail.Checked = false;
                }

                if (Convert.ToBoolean(email.EnviarEmailAdm))
                {
                    CheckAdm.Checked = true;
                }
                else
                {
                    CheckAdm.Checked = false;
                }

                if (Convert.ToBoolean(email.EnviarEmailGestor))
                {
                    CheckGestor.Checked = true;
                }
                else
                {
                    CheckGestor.Checked = false;
                }

                if (Convert.ToBoolean(email.Ssl))
                {
                    CheckSsl.Checked = true;
                }
                else
                {
                    CheckSsl.Checked = false;
                }

                txtPorta.Text = email.Porta.ToString();
                if (Convert.ToBoolean(email.UsarPorta))
                {
                    CheckPorta.Checked = true;
                    lblPorta.Enabled   = true;
                    txtPorta.Enabled   = true;
                }
                else
                {
                    CheckPorta.Checked = false;
                    lblPorta.Enabled   = false;
                    txtPorta.Enabled   = false;
                }

                txtSmtp.Text         = email.Smtp;
                txtAssunto.Text      = email.Assunto;
                txtCorpoEmail.Text   = email.CorpoEmail;
                txtEmailEmpresa.Text = email.Email_Empresa;
                txtUsuario.Text      = email.UsuarioEmailEmpresa;
                txtSenha.Text        = email.SenhaEmailEmpresa;

                if (Convert.ToBoolean(email.EnviarEmail))
                {
                    HabilitaCampos();
                }
                else
                {
                    DesabilitaCampos();
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
예제 #7
0
        protected void btnAlterar_Click(object sender, EventArgs e)
        {
            try
            {
                ValueObjectLayer.Email email = new ValueObjectLayer.Email();

                ValueObjectLayer.Email_Tipo     emailtipo      = new Email_Tipo(Convert.ToInt32(ValueObjectLayer.TipoEmail.Empresa));
                ValueObjectLayer.Funcionalidade funcionalidade = new ValueObjectLayer.Funcionalidade(6);
                email.Id              = (int)Session["IdEmail"];
                email._Email_Tipo     = emailtipo;
                email._Funcionalidade = funcionalidade;
                email.EnviarEmail     = CheckEnviarEmail.Checked;
                email.Ssl             = CheckSsl.Checked;

                if (CheckAdm.Checked)
                {
                    email.EnviarEmailAdm = true;
                    //email.EmailAdm = txtEmailAdm.Text;
                }
                else
                {
                    email.EnviarEmailAdm = false;
                    email.EmailAdm       = string.Empty;
                }

                if (CheckGestor.Checked)
                {
                    email.EnviarEmailGestor = true;
                    //email.EmailGestor = txtEmailGestor.Text;
                }
                else
                {
                    email.EnviarEmailGestor = false;
                    email.EmailGestor       = string.Empty;
                }

                if (CheckPorta.Checked)
                {
                    email.UsarPorta = true;
                    int valor;

                    if (Int32.TryParse(txtPorta.Text, out valor))
                    {
                        email.Porta = valor;
                    }
                    else
                    {
                        lblMsg.Text = MensagensValor.GetStringValue(Mensagem.VALOR_NAO_NUMERICO.ToString());
                        return;
                    }
                }
                else
                {
                    email.UsarPorta = false;
                }

                email.Smtp                = txtSmtp.Text;
                email.Assunto             = txtAssunto.Text;
                email.CorpoEmail          = txtCorpoEmail.Text;
                email.Email_Empresa       = txtEmailEmpresa.Text;
                email.UsuarioEmailEmpresa = txtUsuario.Text;
                email.SenhaEmailEmpresa   = txtSenha.Text;

                if (EmailFacade.SalvaConfiguracaoEmail(email))
                {
                    lblMsg.Text          = MensagensValor.GetStringValue(Mensagem.ALTERADO.ToString());
                    Session["Alteracao"] = true;
                    Response.Redirect(@"~/Administrador/Configuracoes/Email.aspx");
                }
                else
                {
                    lblMsg.Text = MensagensValor.GetStringValue(Mensagem.ALTERADO_NAO_REALIZADO.ToString());
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
예제 #8
0
        protected void btnSalvar_Click(object sender, EventArgs e)
        {
            ValueObjectLayer.Usuario usuario = new ValueObjectLayer.Usuario();
            bool enviarEmail     = true;
            bool emailPreenchido = true;

            try
            {
                if (!string.IsNullOrEmpty(txtNome.Text) && !string.IsNullOrEmpty(txtLogin.Text) &&
                    !string.IsNullOrEmpty(txtSenha.Text) && !string.IsNullOrEmpty(txtConfirmarSenha.Text))
                {
                    //if (UsuarioFacade.ValidarEmail(txtEmailN.Text))
                    //{
                    if (UsuarioFacade.ValidarLogin(txtLogin.Text))
                    {
                        if (txtSenha.Text.Equals(txtConfirmarSenha.Text))
                        {
                            if (txtSenha.Text.Length > 5)
                            {
                                usuario.Nome  = txtNome.Text;
                                usuario.Email = txtEmail.Text;
                                usuario.Login = txtLogin.Text;
                                usuario.Senha = txtSenha.Text;

                                emailPreenchido = (string.IsNullOrEmpty(txtEmail.Text)) ? false : true;
                                if (emailPreenchido)
                                {
                                    enviarEmail = EmailFacade.ValidarEmail(txtEmail.Text);
                                }

                                if (enviarEmail)
                                {
                                    int newID = UsuarioFacade.CriarUsuario(usuario);
                                    if (newID > 0)
                                    {
                                        ValueObjectLayer.Usuario        usuario_      = new ValueObjectLayer.Usuario();
                                        ValueObjectLayer.Perfil         perfil_       = new ValueObjectLayer.Perfil();
                                        ValueObjectLayer.Perfil_Usuario perfilUsuario = new ValueObjectLayer.Perfil_Usuario();
                                        perfil_.Id             = Convert.ToInt32(ddlPerfil.SelectedValue);
                                        usuario_.Id            = newID;
                                        perfilUsuario._Usuario = usuario_;
                                        perfilUsuario._Perfil  = perfil_;

                                        if (!ddlPerfil.SelectedValue.Equals("0"))
                                        {
                                            UsuarioPerfilFacade.AlteraPerfilUsuario(perfilUsuario);
                                        }

                                        if (emailPreenchido && enviarEmail)
                                        {
                                            ValueObjectLayer.Email email = EmailFacade.RecuperarConfiguracaoEmail(ValueObjectLayer.TipoEmail.Empresa);

                                            if (email.EnviarEmail)
                                            {
                                                email = new ValueObjectLayer.Email();
                                                StringBuilder sb = new StringBuilder();
                                                sb.Append("Sr/Sra: " + txtNome.Text + "\n\r");
                                                sb.Append("Seu cadastro foi criado com sucesso!\n\r");
                                                sb.Append("Abaixo veja os seus dados para acesso ao sistema:\n\r");
                                                sb.Append("Login: "******"\n\r");
                                                sb.Append("Senha: " + txtSenha.Text + "\n\r");
                                                string msgUsuario = sb.ToString();
                                                EmailFacade.EnviarEmail(usuario, msgUsuario);
                                            }
                                        }
                                        Session["Mensagem"] = 1;
                                        Response.Redirect(@"~/Administrador/Usuario/UsuarioPesquisa.aspx");
                                        //lblMsg.Text = BusinessLayer.Mensagens.MinhaMensagem.GetStringValue(BusinessLayer.Mensagens.Mensagen.CADASTRO.ToString());
                                    }
                                    else
                                    {
                                        lblMsg.Text = MensagensValor.GetStringValue(Mensagem.CADASTRO_NAO_REALIZADO.ToString());
                                    }
                                }
                                else
                                {
                                    lblMsg.Text = MensagensValor.GetStringValue(Mensagem.EMAIL_INVALIDO.ToString());
                                }
                            }
                            else
                            {
                                lblMsg.Text = MensagensValor.GetStringValue(Mensagem.TAMANHO_SENHA_INVALIDA.ToString());
                            }
                        }
                        else
                        {
                            lblMsg.Text = MensagensValor.GetStringValue(Mensagem.SENHA_NAO_CONFERE.ToString());
                        }
                    }
                    else
                    {
                        lblMsg.Text = MensagensValor.GetStringValue(Mensagem.LOGIN_EXISTE.ToString());
                    }
                    //}
                    //else
                    //{
                    //    lblMsg.Text = BusinessLayer.Mensagens.MensagensValor.GetStringValue(BusinessLayer.Mensagens.Mensagem.EMAIL_INVALIDO.ToString());
                    //}
                }
                else
                {
                    lblMsg.Text = MensagensValor.GetStringValue(Mensagem.CAMPO_OBRIGATORIO.ToString());
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }