public async Task <string[]> Handle(RemoverNotificacaoCommand request, CancellationToken cancellationToken)
        {
            var erros = new StringBuilder();

            string[] errosArray = new string[request.Ids.Length];

            for (int i = 0; i < request.Ids.Length; i++)
            {
                var notificacao = await _repository.ObterPorIdAsync(request.Ids[i]);

                if (notificacao == null)
                {
                    errosArray.SetValue($"{request.Ids[i]} - Notificação não encontrada", i);
                }

                else
                {
                    try
                    {
                        await _repository.Remover(notificacao);
                    }
                    catch
                    {
                        erros.Append($"<li>{request.Ids[i]} - {notificacao.Titulo}</li>");
                    }
                }
            }
            return(errosArray);
        }
Esempio n. 2
0
        public async Task <NotificacaoResposta> Handle(ObterNotificacaoPorIdQuery request, CancellationToken cancellationToken)
        {
            var Notificacao = await _repository.ObterPorIdAsync(request.Id);

            var turmas = await _repository.ObterTurmasPorNotificacao(Notificacao.Id);

            var notificacaoResposta = new NotificacaoResposta()
            {
                AlteradoEm                                           = Notificacao.AlteradoEm,
                AlteradoPor                                          = Notificacao.AlteradoPor,
                CriadoEm                                             = Notificacao.CriadoEm,
                CriadoPor                                            = Notificacao.CriadoPor,
                Id                                                   = Notificacao.Id,
                CodigoDre                                            = Notificacao.CodigoDre,
                CodigoUe                                             = Notificacao.CodigoUe,
                Turmas                                               = turmas == default ? default : turmas,
                                                DataEnvio            = Notificacao.DataEnvio,
                                                DataExpiracao        = Notificacao.DataExpiracao,
                                                Mensagem             = Notificacao.Mensagem,
                                                Titulo               = Notificacao.Titulo,
                                                TipoComunicado       = Notificacao.TipoComunicado,
                                                CategoriaNotificacao = Notificacao.CategoriaNotificacao,
                                                GruposId             = Notificacao.Grupo.Split(',')
            };

            return(notificacaoResposta);
        }
        public async Task <NotificacaoResposta> Handle(ObterNotificacaoPorIdQuery request, CancellationToken cancellationToken)
        {
            var notificacao = await _repository.ObterPorIdAsync(request.Id);

            var turmas = await _repository.ObterTurmasPorNotificacao(notificacao.Id);

            var notificacaoResposta = new NotificacaoResposta()
            {
                AlteradoEm                                           = notificacao.AlteradoEm,
                AlteradoPor                                          = notificacao.AlteradoPor,
                CriadoEm                                             = notificacao.CriadoEm,
                CriadoPor                                            = notificacao.CriadoPor,
                Id                                                   = notificacao.Id,
                CodigoDre                                            = notificacao.CodigoDre,
                CodigoUe                                             = notificacao.CodigoUe,
                Turmas                                               = turmas == default ? default : turmas,
                                                DataEnvio            = notificacao.DataEnvio,
                                                DataExpiracao        = notificacao.DataExpiracao,
                                                Mensagem             = notificacao.Mensagem,
                                                Titulo               = notificacao.Titulo,
                                                TipoComunicado       = notificacao.TipoComunicado,
                                                CategoriaNotificacao = notificacao.CategoriaNotificacao,
                                                ModalidadesId        = notificacao.Modalidades.ToStringEnumerable().ToArray(),
                                                SeriesResumidas      = notificacao.SeriesResumidas
            };

            return(notificacaoResposta);
        }
    }
        public async Task <bool> Handle(RemoverNotificacaoPorIdCommand request, CancellationToken cancellationToken)
        {
            var notificacao = await _repository.ObterPorIdAsync(request.Id);

            if (notificacao == null)
            {
                return(false);
            }

            try
            {
                await _repository.Remover(notificacao);
            }
            catch
            {
                return(false);
            }

            return(true);
        }