Ejemplo n.º 1
0
        /// <summary>
        /// Evia o alerta de lançamento em atraso para todos os usuários
        /// </summary>
        /// <param name="email">boolean - se vai receber por e-mail ou não</param>
        /// <param name="sms">boolean - se vai receber por sms ou não</param>
        /// <param name="telegram">boolean - se vai receber por telegram ou não</param>
        /// <returns></returns>
        public virtual void EnviarTodosOsAlertas(bool email = true, bool sms = false)
        {
            var modelo = this.GetUsuariosComAtrasoNoEnvio();

            if ((modelo == null) || (modelo.Count == 0))
            {
                throw new Exception("O usuário não foi encontrado");
            }


            bool   erro      = false;
            string mensagens = "";

            foreach (var x in modelo)
            {
                try
                {
                    if (email)
                    {
                        MailServices.Enviar(x.Usuario.EmailPreferencial, "Faz tempo que você não lança suas atividades", string.Format("Detectamos que faz {0} dias que você não lança suas atividades. Por favor lance hoje.", x.DiasUteisSemLancar));
                    }
                }
                catch (Exception err)
                {
                    erro       = true;
                    mensagens += "Ocorreu um erro ao enviar o alerta via e-mail para " + x.Usuario.Login + ": " + err.Message + "<br/>\r\n";
                    LogServices.LogarException(err);
                }

                string smsResult = "";
                try
                {
                    if (sms && x.Usuario.Funcionario != null && !string.IsNullOrWhiteSpace(x.Usuario.Funcionario.Celular))
                    {
                        smsResult = SMSServices.Enviar(x.Usuario.Funcionario.Celular, x.Usuario.FuncionarioNomeOuLogin, "Faz tempo que você não lança suas atividades", string.Format("Detectamos que faz {0} dias que você não lança suas atividades. Por favor lance hoje.", x.DiasUteisSemLancar));
                        LogServices.Logar(smsResult);
                    }
                }
                catch (Exception err)
                {
                    erro       = true;
                    mensagens += "Ocorreu um erro ao enviar o alerta via sms para " + x.Usuario.Login + ": " + err.Message + "<br/>\r\n";
                    LogServices.LogarException(err);
                }
            }

            if (erro)
            {
                throw new Exception("Erros ocorridos: " + mensagens);
            }
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Evia o alerta de lançamento em atraso para um usuário
        /// </summary>
        /// <param name="idUsuario">id do usuário que vai receber o alerta</param>
        /// <param name="email">boolean - se vai receber por e-mail ou não</param>
        /// <param name="sms">boolean - se vai receber por sms ou não</param>
        /// <param name="telegram">boolean - se vai receber por telegram ou não</param>
        /// <returns></returns>
        public virtual void EnviarAlerta(int idUsuario, bool email = true, bool sms = false)
        {
            string smsResult = "";

            if (idUsuario == 0)
            {
                throw new Exception("O usuário não foi informado");
            }

            var modelo = this.GetUltimosLancamentosById(idUsuario);

            if (modelo == null)
            {
                throw new Exception("O usuário não foi encontrado");
            }


            try
            {
                if (email)
                {
                    MailServices.Enviar(modelo.Usuario.EmailPreferencial, "Faz tempo que você não lança suas atividades", string.Format("Detectamos que faz {0} dias que você não lança suas atividades. Por favor lance hoje.", modelo.DiasUteisSemLancar));
                }
            }
            catch (Exception err)
            {
                LogServices.LogarException(err);
                throw new Exception("Erro ao enviar email: " + err.Message, err);
            }


            try
            {
                if (sms && modelo.Usuario.Funcionario != null && !string.IsNullOrWhiteSpace(modelo.Usuario.Funcionario.Celular))
                {
                    smsResult = SMSServices.Enviar(modelo.Usuario.Funcionario.Celular, modelo.Usuario.FuncionarioNomeOuLogin, "Faz tempo que você não lança suas atividades", string.Format("Detectamos que faz {0} dias que você não lança suas atividades. Por favor lance hoje.", modelo.DiasUteisSemLancar));
                    LogServices.Logar(smsResult);
                }
            }
            catch (Exception err)
            {
                LogServices.LogarException(err);
                throw new Exception("Erro ao enviar sms: " + err.Message, err);
            }
        }