public void EnviaEmailSmsNovoPedidoItemfornecedor(int pedidoId, int idItem, Usuario usuario, bool existePedParaAprovar) { Pedido pedido = _pedidoRep.GetSingle(pedidoId); var itensPedido = pedido.ItemPedidos.Where(x => x.Id == idItem).ToList(); var fornecedor = itensPedido.FirstOrDefault().Fornecedor; var usuarioFornecedor = fornecedor.Pessoa.Usuarios.FirstOrDefault(x => x.Ativo); var textoItemOuPedido = existePedParaAprovar ? "item" : "pedido "; var linkPessoaFisicajuridica = pedido.Membro.Pessoa.TipoPessoa == TipoPessoa.PessoaJuridica ? "pedidos" : "pedidospessoafisica"; Emails email = new Emails() { EmailDestinatario = fornecedor.Pessoa.PessoaJuridica.Email, CorpoEmail = _templateEmailRep.GetSingle(43).Template .Replace("#Grid#", MontaGridItensPedido(itensPedido)) .Replace("#NomeFantasia#", fornecedor.Pessoa.PessoaJuridica.NomeFantasia) .Replace("#ItemOuPedido#", textoItemOuPedido) .Replace("#TipoPessoa#", linkPessoaFisicajuridica), AssuntoEmail = existePedParaAprovar ? $"Economiza Ja - Mais itens do pedido {pedido.Id} para aprovar." : "Economiza Ja - Pedido pendente de aprovação.", Status = Status.NaoEnviado, Origem = Origem.MembroTrocouFornecedorItemCancelado, DtCriacao = DateTime.Now, UsuarioCriacao = usuario, Ativo = true }; _emailsRep.Add(email); var mensagemSms = existePedParaAprovar ? $"Economiza Já - Mais itens do pedido {pedido.Id} para você aprovar." : $"Economiza Já - Pedido {pedido.Id} pendente de aprovação."; _smsService.EnviaSms($"{fornecedor.DddCel}{fornecedor.Celular}", mensagemSms, TipoOrigemSms.PedidosPendentesAprovacaoFronecedor, (int)TipoOrigemSms.MembroTrocaFornecedorItemCancelado); foreach (var item in fornecedor.Pessoa.Usuarios) { var descricaoAviso = existePedParaAprovar ? $"Mais itens do pedido {pedido.Id} para aprovar" : $"Pedido {pedido.Id} pendente de aprovação"; var linkAviso = pedido.Membro.Pessoa.TipoPessoa == TipoPessoa.PessoaJuridica ? "/#/pedidos" : "/#/pedidospessoafisica"; this.InserirAvisos(item, TipoAviso.PedidoPendentedeAceiteFornecedor, "Aprovar pedido", descricaoAviso, "Aprovar pedido", linkAviso, 4, pedido.Id); } _unitOfWork.Commit(); }