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;
            }
        }
예제 #2
0
        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;
            }
        }
예제 #3
0
        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);
        }
예제 #4
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);
        }