public List <PedidoSeloNotificacao> RetornaNotificacoesPendentes(Usuario usuario) { try { ParametroNotificacao ParametroPedidoSeloNotificacao = _parametroNotificacaoAplicacao.BuscarPor(x => x.TipoNotificacao.Entidade == Entidades.PedidoSelo && x.Aprovadores.Any(m => m.Usuario.Id == usuario.Id)).FirstOrDefault(); List <PedidoSelo> ListaPedidoSelo = new List <PedidoSelo>(); if (ParametroPedidoSeloNotificacao != null) { ListaPedidoSelo = _PedidoSeloAplicacao.BuscarPor(x => x.Notificacoes.Any(m => m.Notificacao.Status == StatusNotificacao.Aguardando)).ToList(); } List <PedidoSeloNotificacao> ListaPedidoSeloNotificacao = new List <PedidoSeloNotificacao>(); foreach (var item in ListaPedidoSelo) { foreach (var item2 in item.Notificacoes) { var PedidoSeloNotif = new PedidoSeloNotificacao() { PedidoSelo = item, Notificacao = item2.Notificacao }; ListaPedidoSeloNotificacao.Add(PedidoSeloNotif); } } return(ListaPedidoSeloNotificacao); } catch (System.Exception ex) { throw new System.Exception("Erro ao buscar as notificações pendentes de Preço : " + ex.Message + "trace: " + ex.StackTrace); } }
public ParametroNotificacaoViewModel(ParametroNotificacao entity) { Id = entity.Id; TipoNotificacao = new TipoNotificacaoViewModel(entity?.TipoNotificacao); Aprovadores = entity?.Aprovadores?.Select(x => new ParametroNotificacaoUsuario { Usuario = new Usuario { Id = x?.Usuario?.Id ?? 0 } }).ToList(); IdAprovadores = entity?.Aprovadores?.Select(x => x?.Usuario?.Id ?? 0).ToList(); Usuarios = new List <UsuarioViewModel>(); }