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 ValidateCreate(NOTIFICACAO item, USUARIO usuario, Int32?idAss) { try { // Verifica existencia prévia // Completa objeto item.NOTI_IN_ATIVO = 1; // Monta Log LOG log = new LOG { LOG_DT_DATA = DateTime.Now, USUA_CD_ID = usuario.USUA_CD_ID, ASSI_CD_ID = idAss.Value, LOG_NM_OPERACAO = "AddNOTI", LOG_IN_ATIVO = 1, LOG_TX_REGISTRO = Serialization.SerializeJSON <NOTIFICACAO>(item) }; // Persiste Int32 volta = _baseService.Create(item, log); return(volta); } catch (Exception ex) { throw; } }
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 ValidateChangePassword(USUARIO usuario, Int32?idAss) { try { // Checa preenchimento if (String.IsNullOrEmpty(usuario.USUA_NOVA_SENHA)) { return(3); } if (String.IsNullOrEmpty(usuario.USUA_NM_SENHA_CONFIRMA)) { return(4); } // Verifica se senha igual a anterior if (usuario.USUA_NM_SENHA == usuario.USUA_NOVA_SENHA) { return(1); } // Verifica se senha foi confirmada if (usuario.USUA_NOVA_SENHA != usuario.USUA_NM_SENHA_CONFIRMA) { return(2); } //Completa e acerta campos //usuario.USUA_NM_SENHA = Cryptography.Encode(usuario.USUA_NM_NOVA_SENHA); usuario.USUA_NM_SENHA = usuario.USUA_NOVA_SENHA; usuario.USUA_DT_TROCA_SENHA = DateTime.Now.Date; usuario.USUA_IN_BLOQUEADO = 0; usuario.USUA_IN_PROVISORIA = 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_BLOQUEIO = null; usuario.USUA_DT_TROCA_SENHA = null; usuario.USUA_DT_ACESSO = DateTime.Now; usuario.USUA_DT_CADASTRO = DateTime.Now; usuario.USUA_IN_ATIVO = 1; usuario.USUA_DT_ULTIMA_FALHA = null; usuario.COND_CD_ID = idAss.Value; // Gera Notificação NOTIFICACAO noti = new NOTIFICACAO(); noti.CANO_CD_ID = 1; noti.COND_CD_ID = idAss; noti.NOTI_DT_EMISSAO = DateTime.Today; noti.NOTI_DT_CADASTRO = DateTime.Today.Date; noti.NOTI_DT_VALIDADE = DateTime.Today.Date.AddDays(30); noti.NOTI_IN_VISTA = 0; noti.NOTI_NM_TITULO = "Alteração de Senha"; noti.NOTI_IN_ATIVO = 1; noti.NOTI_TX_TEXTO = "ATENÇÃO: A sua senha foi alterada em " + DateTime.Today.Date.ToLongDateString() + "."; noti.USUA_CD_ID = usuario.USUA_CD_ID; noti.NOTI_IN_ENVIADA = 1; noti.NOTI_IN_STATUS = 1; noti.NOTI_IN_NIVEL = 1; Int32 volta1 = _notiService.Create(noti); //Monta Log LOG log = new LOG { LOG_DT_DATA = DateTime.Now, COND_CD_ID = idAss.Value, USUA_CD_ID = usuario.USUA_CD_ID, LOG_NM_OPERACAO = "ChangePWD", LOG_TX_REGISTRO = Serialization.SerializeJSON <USUARIO>(usuario), }; // Persiste return(_usuarioService.EditUser(usuario)); } catch (Exception ex) { throw; } }