/// <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(); } } }
/// <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)); } }
/// <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; } }
/// <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; } }
/// <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(); } } }
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; } }
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; } }
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; } }