public Int32 CreateNotificacao(NOTIFICACAO noti, USUARIO usuarioLogado) { try { //Completa campos USUARIO adm = _usuarioService.GetAdministrador(usuarioLogado.ASSI_CD_ID); noti.ASSI_CD_ID = usuarioLogado.ASSI_CD_ID; noti.CANO_CD_ID = 1; noti.NOTI_DT_EMISSAO = DateTime.Today.Date; noti.NOTI_DT_VALIDADE = DateTime.Today.Date.AddDays(30); noti.NOTI_DT_VISTA = null; noti.NOTI_IN_ATIVO = 1; noti.NOTI_IN_STATUS = 1; noti.NOTI_IN_NIVEL = 1; noti.NOTI_IN_VISTA = 0; noti.NOTI_NM_TITULO = "Solicição de Alteração de Cadastro"; noti.USUA_CD_ID = adm.USUA_CD_ID; // Gera Notificação Int32 volta = _notiService.Create(noti); // Recupera template e-mail String header = _usuarioService.GetTemplate("SOLCAD").TEMP_TX_CABECALHO; String body = _usuarioService.GetTemplate("SOLCAD").TEMP_TX_CORPO; String data = _usuarioService.GetTemplate("SOLCAD").TEMP_TX_DADOS; // Prepara dados do e-mail header = header.Replace("{Nome}", adm.USUA_NM_NOME); data = data.Replace("{Data}", DateTime.Today.Date.ToLongDateString()); data = data.Replace("{Usuario}", usuarioLogado.USUA_NM_NOME); data = data.Replace("{Solicitacao}", noti.NOTI_TX_TEXTO); // Concatena String emailBody = header + body + data; // Prepara e-mail e enviar CONFIGURACAO conf = _usuarioService.CarregaConfiguracao(usuarioLogado.ASSI_CD_ID); Email mensagem = new Email(); mensagem.ASSUNTO = "Solicitacao de Alteracao Cadastral"; mensagem.CORPO = emailBody; mensagem.DEFAULT_CREDENTIALS = false; mensagem.EMAIL_DESTINO = adm.USUA_NM_EMAIL; mensagem.EMAIL_EMISSOR = conf.CONF_NM_EMAIL_EMISSOO; mensagem.ENABLE_SSL = true; mensagem.NOME_EMISSOR = "Sistema"; mensagem.PORTA = conf.CONF_NM_PORTA_SMTP; mensagem.PRIORIDADE = System.Net.Mail.MailPriority.High; mensagem.SENHA_EMISSOR = conf.CONF_NM_SENHA_EMISSOR; mensagem.SMTP = conf.CONF_NM_HOST_SMTP; // Envia e-mail Int32 voltaMail = CommunicationPackage.SendEmail(mensagem); return(volta); } catch (Exception ex) { throw; } }
public Int32 ValidateCreateMensagem(FORNECEDOR_MENSAGEM item, USUARIO usuario) { try { // Completa registro item.FOME_IN_ATIVO = 1; // Monta log String registro = item.FORNECEDOR.FORN_NM_NOME + " - " + item.TIPO_MENSAGEM.TIME_NM_NOME + " - " + item.FOME_DT_ENVIO.ToShortDateString() + " - " + item.FOME_DS_TEXTO; LOG log = new LOG(); log.LOG_DT_DATA = DateTime.Now; log.LOG_NM_OPERACAO = "FornMSG"; log.ASSI_CD_ID = usuario.ASSI_CD_ID; log.LOG_TX_REGISTRO = registro; log.LOG_IN_ATIVO = 1; // Processa e-mail if (item.TIME_CD_ID == 1) { // Recupera template e-mail String header = _baseService.GetTemplate("MSGFOR").TEMP_TX_CABECALHO; String body = _baseService.GetTemplate("MSGFOR").TEMP_TX_CORPO; String data = _baseService.GetTemplate("MSGFOR").TEMP_TX_DADOS; // Prepara dados do e-mail header = header.Replace("{Nome}", item.FORNECEDOR.FORN_NM_NOME); body = body.Replace("{Texto}", item.FOME_DS_TEXTO); body = body.Replace("{Condominio}", item.USUARIO.ASSINANTE.ASSI_NM_NOME); data = data.Replace("{Data}", item.FOME_DT_ENVIO.ToLongDateString()); data = data.Replace("{Usuario}", item.USUARIO.USUA_NM_NOME); // Concatena String emailBody = header + body + data; // Prepara e-mail e enviar CONFIGURACAO conf = _baseService.CarregaConfiguracao(usuario.ASSI_CD_ID); Email mensagem = new Email(); mensagem.ASSUNTO = "Mensagem para Fornecedor - " + item.FORNECEDOR.FORN_NM_NOME; mensagem.CORPO = emailBody; mensagem.DEFAULT_CREDENTIALS = false; mensagem.EMAIL_DESTINO = item.FORNECEDOR.FORN_NM_EMAIL; mensagem.EMAIL_EMISSOR = conf.CONF_NM_EMAIL_EMISSOO; mensagem.ENABLE_SSL = true; mensagem.NOME_EMISSOR = usuario.USUA_NM_NOME; mensagem.PORTA = conf.CONF_NM_PORTA_SMTP; mensagem.PRIORIDADE = System.Net.Mail.MailPriority.High; mensagem.SENHA_EMISSOR = conf.CONF_NM_SENHA_EMISSOR; mensagem.SMTP = conf.CONF_NM_HOST_SMTP; // Envia e-mail Int32 voltaMail = CommunicationPackage.SendEmail(mensagem); } else if (item.TIME_CD_ID == 2) { // Processa SMS } else { // Processa WhatsApp } // Persiste item.FOME_IN_ENVIADO = 1; Int32 volta = _baseService.CreateMensagem(item); return(volta); } catch (Exception ex) { throw; } }
public Int32 GenerateNewPassword(String email) { // Checa email if (!ValidarItensDiversos.IsValidEmail(email)) { return(1); } USUARIO usuario = _usuarioService.RetriveUserByEmail(email); if (usuario == null) { return(2); } // Verifica se usuário está ativo if (usuario.USUA_IN_ATIVO == 0) { return(3); } // Verifica se usuário não está bloqueado if (usuario.USUA_IN_BLOQUEADO == 1) { return(4); } // Gera nova senha String senha = Cryptography.GenerateRandomPassword(6); // Atauliza objeto //usuario.USUA_NM_SENHA = Cryptography.Encode(senha); usuario.USUA_NM_SENHA = senha; usuario.USUA_IN_PROVISORIO = 1; usuario.USUA_DT_ALTERACAO = DateTime.Now; usuario.USUA_DT_TROCA_SENHA = DateTime.Now; usuario.USUA_IN_LOGIN_PROVISORIO = 0; // Monta log LOG log = new LOG(); log.LOG_DT_DATA = DateTime.Now; log.LOG_NM_OPERACAO = "NewPWD"; log.ASSI_CD_ID = usuario.ASSI_CD_ID; log.LOG_TX_REGISTRO = senha; log.LOG_IN_ATIVO = 1; // Gera Notificação NOTIFICACAO noti = new NOTIFICACAO(); noti.CANO_CD_ID = 1; noti.ASSI_CD_ID = usuario.ASSI_CD_ID; noti.NOTI_DT_EMISSAO = DateTime.Today; noti.NOTI_DT_VALIDADE = DateTime.Today.Date.AddDays(30); noti.NOTI_IN_VISTA = 0; noti.NOTI_NM_TITULO = "Geração de Nova Senha"; noti.NOTI_IN_ATIVO = 1; noti.NOTI_TX_TEXTO = "ATENÇÃO: Sua solicitação de nova senha foi atendida em " + DateTime.Today.Date.ToLongDateString() + ". Verifique no seu e-mail cadastrado no sistema."; noti.USUA_CD_ID = usuario.USUA_CD_ID; noti.NOTI_IN_STATUS = 1; Int32 volta1 = _notiService.Create(noti); // Recupera template e-mail String header = _usuarioService.GetTemplate("NEWPWD").TEMP_TX_CABECALHO; String body = _usuarioService.GetTemplate("NEWPWD").TEMP_TX_CORPO; String data = _usuarioService.GetTemplate("NEWPWD").TEMP_TX_DADOS; // Prepara dados do e-mail header = header.Replace("{Nome}", usuario.USUA_NM_NOME); data = data.Replace("{Data}", usuario.USUA_DT_TROCA_SENHA.Value.ToLongDateString()); data = data.Replace("{Senha}", usuario.USUA_NM_SENHA); // Concatena String emailBody = header + body + data; // Prepara e-mail e enviar CONFIGURACAO conf = _usuarioService.CarregaConfiguracao(usuario.ASSI_CD_ID); Email mensagem = new Email(); mensagem.ASSUNTO = "Geração de Nova Senha"; mensagem.CORPO = emailBody; mensagem.DEFAULT_CREDENTIALS = false; mensagem.EMAIL_DESTINO = usuario.USUA_NM_EMAIL; mensagem.EMAIL_EMISSOR = conf.CONF_NM_EMAIL_EMISSOO; mensagem.ENABLE_SSL = true; mensagem.NOME_EMISSOR = "Sistema"; mensagem.PORTA = conf.CONF_NM_PORTA_SMTP; mensagem.PRIORIDADE = System.Net.Mail.MailPriority.High; mensagem.SENHA_EMISSOR = conf.CONF_NM_SENHA_EMISSOR; mensagem.SMTP = conf.CONF_NM_HOST_SMTP; // Envia e-mail Int32 voltaMail = CommunicationPackage.SendEmail(mensagem); // Atualiza usuario Int32 volta = _usuarioService.EditUser(usuario); // Retorna sucesso return(0); }
public Int32 ValidateCreate(USUARIO usuario, USUARIO usuarioLogado) { try { // Verifica senhas if (usuario.USUA_NM_SENHA != usuario.USUA_NM_SENHA_CONFIRMA) { return(1); } // Verifica Email if (!ValidarItensDiversos.IsValidEmail(usuario.USUA_NM_EMAIL)) { return(2); } // Verifica existencia prévia if (_usuarioService.GetByEmail(usuario.USUA_NM_EMAIL) != null) { return(3); } if (_usuarioService.GetByLogin(usuario.USUA_NM_LOGIN) != null) { return(4); } // Verifica admissão e demissão if (usuario.USUA_DT_ENTRADA != null) { if (usuario.USUA_DT_ENTRADA.Value > DateTime.Today.Date) { return(5); } } if (usuario.USUA_DT_SAIDA != null) { if (usuario.USUA_DT_SAIDA.Value > DateTime.Today.Date) { return(6); } if (usuario.USUA_DS_MOTIVO_SAIDA == null) { return(7); } } if (usuario.USUA_IN_RESPONSAVEL == 1) { if (_usuarioService.GetResponsavel(usuario) != null) { return(8); } } //Completa campos de usuários String senha = Cryptography.GenerateRandomPassword(6); usuario.USUA_NM_SENHA = senha; usuario.USUA_NM_LOGIN = usuario.USUA_NM_NOME.Substring(0, 4); //usuario.USUA_NM_SENHA = Cryptography.Encode(usuario.USUA_NM_SENHA); usuario.USUA_IN_BLOQUEADO = 0; usuario.USUA_IN_PROVISORIO = 0; usuario.USUA_IN_LOGIN_PROVISORIO = 0; usuario.USUA_NR_ACESSOS = 0; usuario.USUA_NR_FALHAS = 0; usuario.USUA_DT_ALTERACAO = null; usuario.USUA_DT_BLOQUEADO = null; usuario.USUA_DT_TROCA_SENHA = null; usuario.USUA_DT_ACESSO = DateTime.Now; usuario.USUA_DT_CADASTRO = DateTime.Today.Date; usuario.USUA_IN_ATIVO = 1; usuario.USUA_DT_ULTIMA_FALHA = DateTime.Now; usuario.ASSI_CD_ID = usuarioLogado.ASSI_CD_ID; usuario.USUA_DS_MOTIVO_SAIDA = null; usuario.USUA_IN_LOGADO = 0; usuario.USUA_NR_MATRICULA = null; // Monta Log LOG log = new LOG { LOG_DT_DATA = DateTime.Now, USUA_CD_ID = usuarioLogado.USUA_CD_ID, ASSI_CD_ID = usuarioLogado.ASSI_CD_ID, LOG_NM_OPERACAO = "AddUSUA", LOG_TX_REGISTRO = Serialization.SerializeJSON <USUARIO>(usuario), LOG_IN_ATIVO = 1 }; // Persiste Int32 volta = _usuarioService.CreateUser(usuario, log); // Gerar Notificação NOTIFICACAO noti = new NOTIFICACAO(); noti.CANO_CD_ID = 1; noti.ASSI_CD_ID = usuario.ASSI_CD_ID; noti.NOTI_DT_EMISSAO = DateTime.Today; noti.NOTI_DT_VALIDADE = DateTime.Today.Date.AddDays(30); noti.NOTI_IN_VISTA = 0; noti.NOTI_NM_TITULO = "Criação de Usuário"; noti.NOTI_IN_ATIVO = 1; noti.NOTI_IN_NIVEL = 1; noti.NOTI_TX_TEXTO = "ATENÇÃO: Usuário" + usuario.USUA_NM_NOME + " criado em " + DateTime.Today.Date.ToLongDateString() + ". Perfil: " + usuario.PERFIL.PERF_NM_NOME + ". Login: "******". Senha: " + usuario.USUA_NM_SENHA + ". Essa senha é provisória e poderá ser usada apenas uma vez, devendo ser alterada após o primeiro login."; noti.USUA_CD_ID = usuario.USUA_CD_ID; noti.NOTI_IN_STATUS = 1; Int32 volta1 = _notiService.Create(noti); // Recupera template e-mail TEMPLATE template = _usuarioService.GetTemplate("NEWUSR"); String header = template.TEMP_TX_CABECALHO; String body = template.TEMP_TX_CORPO; String data = template.TEMP_TX_DADOS; // Prepara dados do e-mail data = data.Replace("{Nome}", usuario.USUA_NM_NOME); data = data.Replace("{Unidade}", usuario.UNIDADE.UNID_NM_EXIBE); data = data.Replace("{Perfil}", usuario.PERFIL.PERF_NM_NOME); data = data.Replace("{Data}", usuario.USUA_DT_CADASTRO.Value.ToLongDateString()); data = data.Replace("{Login}", usuario.USUA_NM_LOGIN); data = data.Replace("{Senha}", usuario.USUA_NM_SENHA); // Concatena String emailBody = header + body + data; // Prepara e-mail e enviar CONFIGURACAO conf = _usuarioService.CarregaConfiguracao(usuario.ASSI_CD_ID); Email mensagem = new Email(); mensagem.ASSUNTO = "Inclusão de Usuário"; mensagem.CORPO = emailBody; mensagem.DEFAULT_CREDENTIALS = false; mensagem.EMAIL_DESTINO = usuario.USUA_NM_EMAIL; mensagem.EMAIL_EMISSOR = conf.CONF_NM_EMAIL_EMISSOO; mensagem.ENABLE_SSL = true; mensagem.NOME_EMISSOR = "Sistema"; mensagem.PORTA = conf.CONF_NM_PORTA_SMTP; mensagem.PRIORIDADE = System.Net.Mail.MailPriority.High; mensagem.SENHA_EMISSOR = conf.CONF_NM_SENHA_EMISSOR; mensagem.SMTP = conf.CONF_NM_HOST_SMTP; // Envia e-mail Int32 voltaMail = CommunicationPackage.SendEmail(mensagem); return(volta); } catch (Exception ex) { throw; } }
public Int32 GenerateNewPassword(String email, Int32?idAss) { // Checa email if (!ValidarItensDiversos.IsValidEmail(email)) { return(1); } USUARIO usuario = _usuarioService.RetriveUserByEmail(email); if (usuario == null) { return(2); } // Verifica se usuário está ativo if (usuario.USUA_IN_ATIVO == 0) { return(3); } // Verifica se usuário não está bloqueado if (usuario.USUA_IN_BLOQUEADO == 1) { return(4); } // Gera nova senha String senha = Cryptography.GenerateRandomPassword(6); // Atauliza objeto //usuario.USUA_NM_SENHA = Cryptography.Encode(senha); usuario.USUA_NM_SENHA = senha; usuario.USUA_IN_PROVISORIA = 1; usuario.USUA_DT_ALTERACAO = DateTime.Now; usuario.USUA_DT_TROCA_SENHA = DateTime.Now; usuario.USUA_IN_LOGIN_PROVISORIO = 0; // Recupera template e-mail String header = _usuarioService.GetTemplate("NEWPWD").TEMP_TX_CABECALHO; String body = _usuarioService.GetTemplate("NEWPWD").TEMP_TX_CORPO; String data = _usuarioService.GetTemplate("NEWPWD").TEMP_TX_DADOS; // Prepara dados do e-mail header = header.Replace("{Nome}", usuario.USUA_NM_NOME); data = data.Replace("{Data}", usuario.USUA_DT_TROCA_SENHA.Value.ToLongDateString()); data = data.Replace("{Senha}", usuario.USUA_NM_SENHA); // Concatena String emailBody = header + body + data; // Monta e-mail Email mensagem = new Email(); CONFIGURACAO conf = _usuarioService.CarregaConfiguracao(idAss); mensagem.ASSUNTO = "Geração de Nova Senha"; mensagem.CORPO = emailBody; mensagem.DEFAULT_CREDENTIALS = false; mensagem.EMAIL_DESTINO = usuario.USUA_NM_EMAIL; mensagem.EMAIL_EMISSOR = conf.CONF_NM_EMAIL_EMISSOR; mensagem.ENABLE_SSL = true; mensagem.NOME_EMISSOR = "ERP_Condominio "; mensagem.PORTA = conf.CONF_NM_PORTA_SMTP; mensagem.PRIORIDADE = System.Net.Mail.MailPriority.High; mensagem.SENHA_EMISSOR = conf.CONF_NM_SENHA_EMAIL_EMISSOR; mensagem.SMTP = conf.CONF_NM_HOST_SMTP; // Envia e-mail Int32 voltaMail = CommunicationPackage.SendEmail(mensagem); // Atualiza usuario Int32 volta = _usuarioService.EditUser(usuario); // Retorna sucesso return(0); }