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); } }
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 { } }