Example #1
0
        public string Enviar(string assunto, string destinatarios, string mensagem)
        {
            try
            {
                destinatarios = destinatarios.Trim().TrimEnd(',');

                var msg = new Glass.Global.Negocios.Entidades.Mensagem
                {
                    Assunto     = assunto,
                    Descricao   = mensagem,
                    IdRemetente = (int)UserInfo.GetUserInfo.CodUser
                };

                if (destinatarios.Contains("-1"))
                {
                    var funcionarioFluxo = ServiceLocator.Current.GetInstance <Glass.Global.Negocios.IFuncionarioFluxo>();

                    msg.Destinatarios.AddRange(funcionarioFluxo.ObtemFuncionariosAtivos()
                                               .Select(f =>
                                                       new Glass.Global.Negocios.Entidades.Destinatario
                    {
                        IdFunc = f.Id
                    }));
                }
                else if (!string.IsNullOrEmpty(destinatarios))
                {
                    // Insere os destinatários
                    msg.Destinatarios.AddRange(destinatarios.Split(',').Where(f => !string.IsNullOrEmpty(f))
                                               .Select(f =>
                                                       new Glass.Global.Negocios.Entidades.Destinatario
                    {
                        IdFunc = int.Parse(f)
                    }));
                }

                var resultado = ServiceLocator.Current
                                .GetInstance <Glass.Global.Negocios.IMensagemFluxo>()
                                .SalvarMensagem(msg);

                if (!resultado)
                {
                    return("Erro\t" + resultado.Message.Format());
                }

                else
                {
                    return("ok\tMensagem enviada.");
                }
            }
            catch (Exception ex)
            {
                return("Erro\t" + ex.Message);
            }
        }
Example #2
0
        public void EnviarMsgDesconto(uint idContaR, decimal desconto, string motivo)
        {
            try
            {
                var conta = ContasReceberDAO.Instance.GetByIdContaR(idContaR);

                var assunto  = "Desconto concedido de " + desconto.ToString("C");
                var mensagem = "Cliente: " + conta.IdNomeCli + Environment.NewLine +
                               "Conta: " + conta.Referencia + Environment.NewLine +
                               "Venc. " + conta.DataVec.ToString("dd/MM/yyyy") + Environment.NewLine +
                               "Valor: " + conta.ValorVec.ToString("c") + Environment.NewLine +
                               "Desconto: " + desconto.ToString("C") + "(" + Math.Round((desconto / conta.ValorVec) * 100, 2) + "%)" + Environment.NewLine +
                               "Motivo: " + motivo;

                var msg = new Glass.Global.Negocios.Entidades.Mensagem
                {
                    Assunto     = assunto,
                    Descricao   = mensagem,
                    IdRemetente = (int)UserInfo.GetUserInfo.CodUser
                };

                var usuariosEnvio = EmailConfig.UsuariosQueDevemReceberEmailDescontoMaior;

                var funcionarioFluxo = Microsoft.Practices.ServiceLocation.ServiceLocator.Current.GetInstance <Glass.Global.Negocios.IFuncionarioFluxo>();

                if (!string.IsNullOrEmpty(usuariosEnvio))
                {
                    msg.Destinatarios.AddRange(
                        new List <int>(usuariosEnvio.Split(',').Select(f => int.Parse(f)))
                        .Select(f =>
                                new Glass.Global.Negocios.Entidades.Destinatario
                    {
                        IdFunc = f
                    }));
                }

                var resultado = Microsoft.Practices.ServiceLocation.ServiceLocator.Current
                                .GetInstance <Glass.Global.Negocios.IMensagemFluxo>()
                                .SalvarMensagem(msg);
            }
            catch { }
        }