예제 #1
0
        public List <AlteracaoStatusNotificacaoDto> Excluir(IList <long> notificacoesId)
        {
            if (notificacoesId == null)
            {
                throw new NegocioException("A lista de notificações deve ser informada.");
            }
            var resultado = new List <AlteracaoStatusNotificacaoDto>();

            foreach (var notificacaoId in notificacoesId)
            {
                try
                {
                    Notificacao notificacao = ObterPorIdENotificarCasoNaoExista(notificacaoId);
                    notificacao.Remover();
                    repositorioNotificacao.Salvar(notificacao);
                    resultado.Add(new AlteracaoStatusNotificacaoDto($"Notificação com Código: '{notificacao.Codigo}' excluída com sucesso.", true));
                }
                catch (NegocioException nex)
                {
                    resultado.Add(new AlteracaoStatusNotificacaoDto(nex.Message, false));
                }
                catch (Exception)
                {
                    resultado.Add(new AlteracaoStatusNotificacaoDto($"Não foi possível excluir a notificação com id: '{notificacaoId}'", false));
                }
            }
            return(resultado);
        }
예제 #2
0
        private void AtualizaNiveis(IEnumerable <WorkflowAprovacaoNivel> niveis)
        {
            foreach (var nivel in niveis)
            {
                workflowAprovacaoNivel.Salvar(nivel);

                foreach (var notificacao in nivel.Notificacoes)
                {
                    repositorioNotificacao.Salvar(notificacao);
                }
            }
        }
예제 #3
0
        public NotificacaoDetalheDto Obter(long notificacaoId)
        {
            var notificacao = repositorioNotificacao.ObterPorId(notificacaoId);

            if (notificacao == null)
            {
                throw new NegocioException($"Notificação de Id: '{notificacaoId}' não localizada.");
            }

            if (notificacao.Status != NotificacaoStatus.Lida && notificacao.MarcarComoLidaAoObterDetalhe())
            {
                repositorioNotificacao.Salvar(notificacao);
            }

            var retorno = MapearEntidadeParaDetalheDto(notificacao);

            return(retorno);
        }
        public void Salvar(Notificacao notificacao)
        {
            GeraNovoCodigo(notificacao);

            repositorioNotificacao.Salvar(notificacao);
        }