public ActionResult EditarConfiguracao(ConfiguracaoViewModel vm)
        {
            if ((String)Session["Ativa"] == null)
            {
                return(RedirectToAction("Login", "ControleAcesso"));
            }
            Int32 idAss = (Int32)Session["IdAssinante"];

            if (ModelState.IsValid)
            {
                try
                {
                    // Executa a operação
                    USUARIO      usuarioLogado = (USUARIO)Session["UserCredentials"];
                    CONFIGURACAO item          = Mapper.Map <ConfiguracaoViewModel, CONFIGURACAO>(vm);
                    Int32        volta         = baseApp.ValidateEdit(item, objetoAssAntes, usuarioLogado);

                    // Sucesso
                    objetoAss = new CONFIGURACAO();
                    Session["ListaConfiguracao"] = null;
                    Session["MensConfiguracao"]  = 0;
                    return(RedirectToAction("MontarTelaConfiguracao"));
                }
                catch (Exception ex)
                {
                    ViewBag.Message = ex.Message;
                    return(View(vm));
                }
            }
            else
            {
                return(View(vm));
            }
        }
        public ActionResult MontarTelaConfiguracao()
        {
            // Verifica se tem usuario logado
            USUARIO usuario = new USUARIO();

            if ((String)Session["Ativa"] == null)
            {
                return(RedirectToAction("Login", "ControleAcesso"));
            }
            usuario = (USUARIO)Session["UserCredentials"];
            Int32 idAss = (Int32)Session["IdAssinante"];

            // Carrega listas
            if ((CONFIGURACAO)Session["Configuracao"] == null)
            {
                objetoAss = baseApp.GetItemById(1);
                Session["Configuracao"] = objetoAss;
            }
            ViewBag.Listas = (CONFIGURACAO)Session["Configuracao"];
            ViewBag.Title  = "Configuracao";

            // Indicadores

            // Mensagem

            // Abre view
            Session["MensConfiguracao"] = 0;
            objetoAssAntes          = objetoAss;
            Session["Configuracao"] = objetoAss;
            Session["IdVolta"]      = 1;
            ConfiguracaoViewModel vm = Mapper.Map <CONFIGURACAO, ConfiguracaoViewModel>(objetoAss);

            return(View(vm));
        }
        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 ActionResult MontarTelaConfiguracao()
        {
            // Verifica se tem usuario logado
            USUARIO usuario = new USUARIO();

            if ((String)Session["Ativa"] == null)
            {
                return(RedirectToAction("Login", "ControleAcesso"));
            }
            if ((USUARIO)Session["UserCredentials"] != null)
            {
                usuario = (USUARIO)Session["UserCredentials"];

                // Verfifica permissão
                if (usuario.PERFIL.PERF_SG_SIGLA != "ADM")
                {
                    Session["MensConfiguracao"] = 2;
                    return(RedirectToAction("CarregarBase", "BaseAdmin"));
                }
            }
            else
            {
                return(RedirectToAction("Login", "ControleAcesso"));
            }

            // Carrega listas
            if ((CONFIGURACAO)Session["Configuracao"] == null)
            {
                objetoAss = baseApp.GetItemById(1);
                Session["Configuracao"] = objetoAss;
            }
            ViewBag.Listas = (CONFIGURACAO)Session["Configuracao"];
            ViewBag.Title  = "Configuracao";

            // Indicadores

            // Mensagem

            // Abre view
            Session["MensConfiguracao"] = 0;
            objetoAssAntes          = objetoAss;
            Session["Configuracao"] = objetoAss;
            Session["IdVolta"]      = 1;
            ConfiguracaoViewModel vm = Mapper.Map <CONFIGURACAO, ConfiguracaoViewModel>(objetoAss);

            return(View(vm));
        }
Example #5
0
        public ActionResult IncluirCorpoDiretivo()
        {
            USUARIO usuario = new USUARIO();

            if ((String)Session["Ativa"] == null)
            {
                return(RedirectToAction("Login", "ControleAcesso"));
            }
            if ((USUARIO)Session["UserCredentials"] != null)
            {
                usuario = (USUARIO)Session["UserCredentials"];

                // Verfifica permissão
                if (usuario.PERFIL.PERF_SG_SIGLA != "ADM" || usuario.PERFIL.PERF_SG_SIGLA != "SIN")
                {
                    Session["MensCD"] = 2;
                    return(RedirectToAction("MontarTelaCorpoDiretivo"));
                }
            }
            else
            {
                return(RedirectToAction("Login", "ControleAcesso"));
            }

            // Prepara listas
            Int32 idAss = (Int32)Session["IdAssinante"];

            ViewBag.Funcoes = new SelectList(baseApp.GetAllFuncoes(idAss), "FUCO_CD_ID", "FUCO_NM_NOME");
            ViewBag.Perfil  = usuario.PERFIL.PERF_SG_SIGLA;
            List <USUARIO> usuarios = usuApp.GetAllItens(idAss).Where(p => p.PERF_CD_ID == 6 & p.USUA_IN_PROPRIETARIO == 1).ToList();

            ViewBag.Usuarios = new SelectList(usuarios, "USUA_CD_ID", "USUA_NM_NOME");

            // Prepara view
            CONFIGURACAO           conf = baseApp.CarregaConfiguracao(usuario.ASSI_CD_ID);
            CORPO_DIRETIVO         item = new CORPO_DIRETIVO();
            CorpoDiretivoViewModel vm   = Mapper.Map <CORPO_DIRETIVO, CorpoDiretivoViewModel>(item);

            vm.CODI_DT_CADASTRO = DateTime.Today;
            vm.CODI_IN_ATIVO    = 1;
            vm.ASSI_CD_ID       = idAss;
            vm.USUA_CD_ID       = usuario.USUA_CD_ID;
            vm.CODI_DT_INICIO   = DateTime.Today.Date;
            vm.CODI_DT_FINAL    = DateTime.Today.Date.AddDays(conf.CONF_NR_CORPO_DIRETIVO_PERIODO.Value);
            return(View(vm));
        }
        public static async Task <Response> Execute(CONFIGURACAO conf, String emailBody, USUARIO usuario)
        {
            //String apiKey = System.Environment.GetEnvironmentVariable("SENDGRIDAPIKEY");
            String          apiKey = conf.CONF_NM_SENDGRID_KEY;
            SendGridClient  client = new SendGridClient(apiKey);
            SendGridMessage msg    = new SendGridMessage()
            {
                From        = new EmailAddress(conf.CONF_NM_EMAIL_EMISSOO, conf.CONF_NM_NOME_EMPRESA),
                Subject     = "Geração de Nova Senha",
                HtmlContent = emailBody
            };

            msg.AddTo(new EmailAddress(usuario.USUA_NM_EMAIL, usuario.USUA_NM_NOME));
            var response = await client.SendEmailAsync(msg);

            return(response);
        }
        public ActionResult EditarConfiguracao(Int32 id)
        {
            // Prepara view
            if ((String)Session["Ativa"] == null)
            {
                return(RedirectToAction("Login", "ControleAcesso"));
            }
            Int32 idAss = (Int32)Session["IdAssinante"];

            CONFIGURACAO item = baseApp.GetItemById(id);

            objetoAssAntes          = item;
            Session["Configuracao"] = item;
            Session["IdVolta"]      = id;
            ConfiguracaoViewModel vm = Mapper.Map <CONFIGURACAO, ConfiguracaoViewModel>(item);

            return(View(vm));
        }
        public JsonResult GetConfigNotificacoes()
        {
            Int32?       idAss = (Int32)Session["IdAssinante"];
            bool         hasNotf;
            var          hash = new Hashtable();
            USUARIO      usu  = (USUARIO)Session["Usuario"];
            CONFIGURACAO conf = confApp.GetById(1);

            if (baseApp.GetAllItensUser(usu.USUA_CD_ID, idAss.Value).Count > 0)
            {
                hasNotf = true;
            }
            else
            {
                hasNotf = false;
            }

            hash.Add("CONF_NM_ARQUIVO_ALARME", conf.CONF_NM_ARQUIVO_ALARME);
            hash.Add("NOTIFICACAO", hasNotf);
            return(Json(hash));
        }
Example #9
0
        public Int32 ValidateCreate(CORPO_DIRETIVO item, USUARIO usuario)
        {
            try
            {
                // Acerta campos
                CONFIGURACAO conf = _baseService.CarregaConfiguracao(usuario.ASSI_CD_ID);
                item.CODI_IN_ATIVO = 1;
                item.CODI_DT_FINAL = item.CODI_DT_INICIO.AddDays(conf.CONF_NR_CORPO_DIRETIVO_PERIODO.Value);
                item.ASSI_CD_ID    = usuario.ASSI_CD_ID;

                // Recupera Lista
                List <CORPO_DIRETIVO> lista = _baseService.GetAllItens(usuario.ASSI_CD_ID);

                // Critica repetição
                lista = lista.Where(p => p.CODI_IN_ATIVO == 1 & p.ASSI_CD_ID == usuario.ASSI_CD_ID & p.USUA_CD_ID == item.USUA_CD_ID).ToList();
                if (lista.Count > 0)
                {
                    return(5);
                }

                // Checar datas
                if (item.CODI_DT_INICIO.Date > DateTime.Today.Date)
                {
                    return(6);
                }

                // Critica sindico
                if (item.FUCO_CD_ID == 1)
                {
                    lista = lista.Where(p => p.FUCO_CD_ID == 1 & p.CODI_IN_ATIVO == 1 & p.ASSI_CD_ID == usuario.ASSI_CD_ID).ToList();
                    if (lista.Count > 0)
                    {
                        return(1);
                    }
                }
                // Critica sub-sindico
                else if (item.FUCO_CD_ID == 2)
                {
                    lista = lista.Where(p => p.FUCO_CD_ID == 2 & p.CODI_IN_ATIVO == 1 & p.ASSI_CD_ID == usuario.ASSI_CD_ID).ToList();
                    if (lista.Count > 0)
                    {
                        return(2);
                    }
                }
                // Critica tesoureiro
                else if (item.FUCO_CD_ID == 3)
                {
                    lista = lista.Where(p => p.FUCO_CD_ID == 3 & p.CODI_IN_ATIVO == 1 & p.ASSI_CD_ID == usuario.ASSI_CD_ID).ToList();
                    if (lista.Count > 0)
                    {
                        return(3);
                    }
                }
                // Critica conselheiros
                else
                {
                    lista = lista.Where(p => p.FUCO_CD_ID == 4 & p.CODI_IN_ATIVO == 1 & p.ASSI_CD_ID == usuario.ASSI_CD_ID).ToList();
                    if (lista.Count >= conf.CONF_NR_NUMERO_CONSELHEIROS)
                    {
                        return(4);
                    }
                }

                // Monta Log
                LOG log = new LOG
                {
                    LOG_DT_DATA     = DateTime.Now,
                    ASSI_CD_ID      = usuario.ASSI_CD_ID,
                    USUA_CD_ID      = usuario.USUA_CD_ID,
                    LOG_NM_OPERACAO = "AddCODI",
                    LOG_IN_ATIVO    = 1,
                    LOG_TX_REGISTRO = Serialization.SerializeJSON <CORPO_DIRETIVO>(item)
                };

                // Persiste
                Int32 volta = _baseService.Create(item, log);

                // Atualiza perfil de usuario
                USUARIO usu = _usuService.GetItemById(item.USUA_CD_ID.Value);
                if (item.FUCO_CD_ID == 1 || item.FUCO_CD_ID == 2)
                {
                    usu.PERF_CD_ID = 2;
                }
                else if (item.FUCO_CD_ID == 4 || item.FUCO_CD_ID == 3)
                {
                    usu.PERF_CD_ID = 3;
                }
                volta = _usuService.EditUser(usu);
                return(volta);
            }
            catch (Exception ex)
            {
                throw;
            }
        }
Example #10
0
        public String ValidateCreate(MENSAGEM item, USUARIO usuario, Int32?idAss)
        {
            try
            {
                // Verifica existencia prévia
                if (_baseService.CheckExist(item, idAss) != null)
                {
                    return("1");
                }

                // Criticas
                if (item.CONT_CD_ID == null & item.CAMP_CD_ID == null & item.GRUP_CD_ID == null)
                {
                    return("2");
                }
                if (item.TEMP_CD_ID == null & item.MENS_TX_TEXTO == null)
                {
                    return("3");
                }

                // Completa objeto
                item.MENS_IN_ATIVO   = 1;
                item.MENS_DT_DATA    = DateTime.Today.Date;
                item.MENS_DT_ENVIO   = null;
                item.MENS_IN_ENVIADA = 0;
                item.ASSI_CD_ID      = idAss.Value;
                item.USUA_CD_ID      = usuario.USUA_CD_ID;
                if (item.MENS_NM_NOME == null)
                {
                    item.MENS_NM_NOME = "-";
                }

                // Monta Log
                LOG log = new LOG
                {
                    LOG_DT_DATA     = DateTime.Now,
                    ASSI_CD_ID      = idAss.Value,
                    USUA_CD_ID      = usuario.USUA_CD_ID,
                    LOG_NM_OPERACAO = "AddMENS",
                    LOG_IN_ATIVO    = 1,
                    LOG_TX_REGISTRO = Serialization.SerializeJSON <MENSAGEM>(item)
                };

                // Persiste
                Int32 volta = _baseService.Create(item, log, idAss);

                // Monta lista de envio
                List <CONTATO> lista    = new List <CONTATO>();
                String         campanha = null;
                if (item.CONT_CD_ID != null)
                {
                    CONTATO ct = _ctService.GetItemById(item.CONT_CD_ID.Value);
                    lista.Add(ct);
                }
                if (item.GRUP_CD_ID != null)
                {
                    GRUPO gr = _grService.GetItemById(item.GRUP_CD_ID.Value);
                    foreach (var obj in gr.GRUPO_CONTATO)
                    {
                        lista.Add(obj.CONTATO);
                    }
                }
                if (item.CAMP_CD_ID != null)
                {
                    CAMPANHA cp = _cpService.GetItemById(item.CAMP_CD_ID.Value);
                    foreach (var obj in cp.CAMPANHA_CONTATO)
                    {
                        lista.Add(obj.CONTATO);
                    }
                    campanha = cp.CAMP_NM_NOME;
                }
                else
                {
                    if (item.MENS_NM_CAMPANHA != null)
                    {
                        campanha = item.MENS_NM_CAMPANHA;
                    }
                }

                // Monta token
                CONFIGURACAO conf      = _conService.GetItemById(1);
                String       text      = conf.CONF_NM_USER_SMS + ":" + conf.CONF_NM_SENHA_SMS;
                byte[]       textBytes = Encoding.UTF8.GetBytes(text);
                String       token     = Convert.ToBase64String(textBytes);
                String       auth      = "Basic " + token;

                // Monta routing
                String routing = item.MENS_IN_TIPO_SMS.ToString();

                // Monta texto
                String texto = String.Empty;
                if (item.TEMPLATE != null)
                {
                    texto = item.TEMPLATE.TEMP_TX_TEXTO;
                }
                else
                {
                    texto = item.MENS_TX_TEXTO;
                }

                // inicia processo
                List <String> resposta = new List <string>();
                WebRequest    request  = WebRequest.Create("https://api.smsfire.com.br/v1/sms/send");
                request.Headers["Authorization"] = auth;
                request.Method      = "POST";
                request.ContentType = "application/json";

                // Monta destinatarios
                String listaDest = String.Empty;
                if (lista.Count > 0)
                {
                    if (lista.Count <= 200)
                    {
                        foreach (var contato in lista)
                        {
                            if (listaDest.Length == 0)
                            {
                                listaDest += contato.CONT_NR_WHATSAPP + "\"";
                            }
                            else
                            {
                                listaDest += ",\"" + contato.CONT_NR_WHATSAPP + "\"";
                            }
                        }
                    }
                    else
                    {
                        return("5");
                    }
                }
                else
                {
                    return("4");
                }

                // Agendamento
                String agenda = null;
                if (item.MENS_DT_AGENDA != null)
                {
                    agenda = item.MENS_DT_AGENDA.Value.ToString("yyyy-MM-dd HH:mm:ss");
                    //agenda = item.MENS_DT_AGENDA.Value.ToString();
                }

                // Processa lista
                String responseFromServer = null;
                using (var streamWriter = new StreamWriter(request.GetRequestStream()))
                {
                    String json = null;
                    if (agenda == null)
                    {
                        json = "{\"to\":[\"" + listaDest + "]," +
                               "\"from\":\"smsfire\", " +
                               "\"campaignName\":\"" + campanha + "\", " +
                               "\"text\":\"" + texto + "\"} ";
                    }
                    else
                    {
                        json = "{\"to\":[\"" + listaDest + "]," +
                               "\"from\":\"smsfire\", " +
                               "\"campaignName\":\"" + campanha + "\", " +
                               "\"schedule\":\"" + agenda + "\", " +
                               "\"text\":\"" + texto + "\"} ";
                    }

                    streamWriter.Write(json);
                    streamWriter.Close();
                    streamWriter.Dispose();
                }

                WebResponse response = request.GetResponse();
                resposta.Add(response.ToString());

                Stream       dataStream = response.GetResponseStream();
                StreamReader reader     = new StreamReader(dataStream);
                responseFromServer = reader.ReadToEnd();
                resposta.Add(responseFromServer);

                // Completa objeto
                item.MENS_DT_ENVIO    = DateTime.Today.Date;
                item.MENS_IN_ENVIADA  = 1;
                item.MENS_TX_RETORNOS = responseFromServer.ToString();
                Int32 volta1 = _baseService.Create(item, log, idAss);

                reader.Close();
                response.Close();
                return(responseFromServer);
            }
            catch (Exception ex)
            {
                throw;
            }
        }
Example #11
0
        public CONFIGURACAO CarregaConfiguracao(Int32 id)
        {
            CONFIGURACAO conf = _baseService.CarregaConfiguracao(id);

            return(conf);
        }
        public CONFIGURACAO CarregaConfiguracao(Int32 id)
        {
            CONFIGURACAO conf = _conRepository.GetById(id);

            return(conf);
        }
        public CONFIGURACAO CarregaConfiguracao(Int32?idAss)
        {
            CONFIGURACAO conf = _configuracaoRepository.GetItemByAssinante(idAss);

            return(conf);
        }
Example #14
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;
            }
        }
        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);
        }
Example #16
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;
            }
        }
Example #17
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);
        }
        public CONFIGURACAO CarregaConfiguracao()
        {
            CONFIGURACAO conf = _configuracaoRepository.GetById(1);

            return(conf);
        }