public async Task <NotificacaoViewModel> ObterNotificacaoPorId(int idNotificacao) { var notificacaoBD = (await _notificacaoRepository.Get(x => x.Id == idNotificacao)).FirstOrDefault(); var notificacaoVM = Mapper.Map <NotificacaoViewModel>(notificacaoBD); return(notificacaoVM); }
public IEnumerable <NotificacaoDto> Get(int idUsuario, bool notificacaoLida, out bool nenhumaNotificacao) { nenhumaNotificacao = false; var notificacoes = _notificacaoRepository.Get(idUsuario).OrderByDescending(x => x.DataCadastro).ToList(); if (!notificacoes.Any()) { nenhumaNotificacao = true; return(notificacoes); } if (notificacaoLida) { return(notificacoes.Where(x => x.DataLeitura != null)); } notificacoes = notificacoes.Where(x => x.DataLeitura == null).ToList(); if (!notificacoes.Any()) { return(notificacoes); } _notificacaoRepository.OpenTransaction(); foreach (var notificacao in notificacoes.Where(x => x.DataLeitura == null)) { _notificacaoRepository.PutDataLeitura(notificacao.Id); } _notificacaoRepository.CommitTransaction(); return(notificacoes); }