public override async Task <RequestResponseWrapper <int?> > Handle(CriarProcessoCommand request, CancellationToken cancellationToken)
        {
            try
            {
                if (await this.ValidateAsync(request))
                {
                    var processo = new Processo();
                    processo.DataDistribuicao    = request.DataDistribuicao;
                    processo.Descricao           = request.Descricao;
                    processo.NumeroProcesso      = request.NumeroProcesso;
                    processo.PastaFisicaCliente  = request.PastaFisicaCliente;
                    processo.ProcessoVinculadoId = request.ProcessoVinculadoId;
                    processo.SituacaoId          = request.SituacaoProcessoId;
                    processo.SegredoJustica      = request.SegredoJustica;

                    var responsaveis = this.responsavelRepository.Obter(r => request.ResponsaveisIds.Contains(r.Id)).ToList();
                    processo.AtribuirResponsaveis(responsaveis);

                    this.processoRepository.Criar(processo);
                    await this.unitOfWork.SaveChangesAsync();

                    return(new RequestResponseWrapper <int?>(true, processo.Id));
                }
            }
            catch (System.Exception e)
            {
                // Log
                this.logger.LogError(e, "Erro Inesperado");
                this.NotificationContext.Add(NotificationKeys.UnexpectedError, "Erro inesperado.");
            }

            return(new RequestResponseWrapper <int?>(false, null));
        }
示例#2
0
        public ObterProcessoQueryHandlerTests()
        {
            this.mockValidator           = new Mock <IObterProcessoQueryValidator>();
            this.mockProcessoRepository  = new Mock <IProcessoRepository>();
            this.mockNotificationContext = new Mock <INotificationContext>();
            this.mockLogger = new Mock <ILogger <ObterProcessoQueryHandler> >();

            query = new ObterProcessoQuery {
                Id = 1
            };

            respKelvin = new Responsavel
            {
                Id   = 3,
                Nome = "Kelvin Teixeira"
            };

            processo = new Processo
            {
                Id = 1,
                DataDistribuicao   = new DateTimeOffset(2020, 1, 1, 0, 0, 0, TimeSpan.Zero),
                Descricao          = "Aqui uma descrição simples",
                NumeroProcesso     = "115566-88-79",
                PastaFisicaCliente = "Alguma coisa deve ser colocada aqui"
            };

            processo.AtribuirResponsaveis(new List <Responsavel> {
                respKelvin
            });

            sut = new ObterProcessoQueryHandler(
                this.mockProcessoRepository.Object,
                this.mockNotificationContext.Object,
                this.mockValidator.Object,
                this.mockLogger.Object);
        }
        public ObterProcessosQueryHandlerTests()
        {
            this.mockValidator           = new Mock <IObterProcessosQueryValidator>();
            this.mockProcessoRepository  = new Mock <IProcessoRepository>();
            this.mockNotificationContext = new Mock <INotificationContext>();
            this.mockLogger = new Mock <ILogger <ObterProcessosQueryHandler> >();

            respAline = new Responsavel
            {
                Id   = 1,
                Nome = "Aline Schorn"
            };

            respCalvin = new Responsavel
            {
                Id   = 2,
                Nome = "Calvin Schmaltz"
            };

            respKelvin = new Responsavel
            {
                Id   = 3,
                Nome = "Kelvin Teixeira"
            };

            var p1 = new Processo
            {
                Id = 1,
                DataDistribuicao   = new DateTimeOffset(2020, 1, 1, 0, 0, 0, TimeSpan.Zero),
                Descricao          = "Aqui uma descrição simples",
                NumeroProcesso     = "1155668879",
                PastaFisicaCliente = "Alguma coisa deve ser colocada aqui"
            };

            p1.AtribuirResponsaveis(new List <Responsavel> {
                respKelvin
            });

            var p2 = new Processo
            {
                Id = 2,
                DataDistribuicao   = new DateTimeOffset(2021, 10, 10, 0, 0, 0, TimeSpan.Zero),
                Descricao          = "Sempre pensar antes de falar",
                NumeroProcesso     = "9875158815",
                PastaFisicaCliente = "Em algum lugar muito além da escuridão do universo"
            };

            p2.AtribuirResponsaveis(new List <Responsavel> {
                respCalvin
            });

            var p3 = new Processo
            {
                Id = 3,
                DataDistribuicao   = new DateTimeOffset(2022, 5, 5, 0, 0, 0, TimeSpan.Zero),
                Descricao          = "Podemos parar por mim",
                NumeroProcesso     = "57478185451",
                PastaFisicaCliente = "Enfim, tudo acabou"
            };

            p3.AtribuirResponsaveis(new List <Responsavel> {
                respAline, respKelvin
            });

            this.processos = new List <Processo> {
                p1, p2, p3
            };

            this.sut = new ObterProcessosQueryHandler(
                this.mockProcessoRepository.Object,
                this.mockNotificationContext.Object,
                this.mockValidator.Object,
                this.mockLogger.Object);
        }
        public ObterResponsaveisQueryHandlerTests()
        {
            this.mockResponsavelRepository = new Mock <IResponsavelRepository>();
            this.mockNotificationContext   = new Mock <INotificationContext>();
            this.mockValidator             = new Mock <IObterResponsaveisQueryValidator>();
            this.mockLogger = new Mock <ILogger <ObterResponsaveisQueryHandler> >();

            this.processo1 = new Processo
            {
                Id             = 1,
                NumeroProcesso = "115566-88-79"
            };

            this.processo2 = new Processo
            {
                Id             = 2,
                NumeroProcesso = "987515-88-15"
            };

            this.processo3 = new Processo
            {
                Id             = 3,
                NumeroProcesso = "574781-85-451"
            };

            var aline = new Responsavel
            {
                Id   = 1,
                Nome = "Aline Schorn",
                Cpf  = "40729427072"
            };

            var calvin = new Responsavel
            {
                Id   = 2,
                Nome = "Calvin Schmaltz",
                Cpf  = "12252771089"
            };

            var kelvin = new Responsavel
            {
                Id   = 3,
                Nome = "Kelvin Teixeira",
                Cpf  = "39455771012"
            };

            this.responsaveis = new List <Responsavel> {
                aline, calvin, kelvin
            };

            aline.AtribuirProcessos(new List <Processo> {
                processo1, processo2
            });
            calvin.AtribuirProcessos(new List <Processo> {
                processo1, processo2
            });
            kelvin.AtribuirProcessos(new List <Processo> {
                processo1, processo3
            });

            processo1.AtribuirResponsaveis(new List <Responsavel> {
                aline, calvin
            });
            processo2.AtribuirResponsaveis(new List <Responsavel> {
                aline
            });
            processo3.AtribuirResponsaveis(new List <Responsavel> {
                calvin, kelvin
            });

            this.responsaveis = new List <Responsavel> {
                aline, calvin, kelvin
            };

            this.sut = new ObterResponsaveisQueryHandler(
                this.mockResponsavelRepository.Object,
                this.mockNotificationContext.Object,
                this.mockValidator.Object,
                this.mockLogger.Object);
        }