public override Task <bool> ValidateModelAsync(CriarResponsavelCommand model)
        {
            var result = this.Validate(model);

            if (!result.IsValid)
            {
                foreach (var error in result.Errors)
                {
                    this.AddError(error.ErrorCode, error.ErrorMessage);
                }

                return(Task.FromResult(false));
            }

            Util.Cpf cpf = model.Cpf;
            var      responsavelCount = this.responsavelRepository.Count(r => r.Cpf == cpf.ToString());

            if (responsavelCount > 0)
            {
                this.AddError(NotificationKeys.InvalidArgument, string.Format(ErrorMessages.CpfEmUso, model.Cpf));
                return(Task.FromResult(false));
            }

            return(Task.FromResult(true));
        }
        public override Task <bool> ValidateModelAsync(AtualizarResponsavelCommand model)
        {
            var result = this.Validate(model);

            if (!result.IsValid)
            {
                foreach (var error in result.Errors)
                {
                    this.AddError(error.ErrorCode, error.ErrorMessage);
                }

                return(Task.FromResult(false));
            }

            var responsavel = this.responsavelRepository.ObterPorId(model.Id.Value);

            if (responsavel == null)
            {
                this.AddError(NotificationKeys.InvalidArgument, ErrorMessages.ResponsavelNaoEncontrado);
                return(Task.FromResult(false));
            }

            Util.Cpf cpf = model.Cpf;
            responsavel = this.responsavelRepository.Obter(r => r.Cpf == cpf.ToString()).FirstOrDefault();
            if (responsavel != null && responsavel.Id != model.Id)
            {
                this.AddError(NotificationKeys.InvalidArgument, string.Format(ErrorMessages.CpfEmUso, model.Cpf));
                return(Task.FromResult(false));
            }

            return(Task.FromResult(true));
        }
        public override async Task <RequestResponseWrapper> Handle(AtualizarResponsavelCommand request, CancellationToken cancellationToken)
        {
            try
            {
                if (await this.ValidateAsync(request))
                {
                    var      responsavel = this.responsavelRepository.ObterPorId(request.Id.Value);
                    Util.Cpf cpf         = request.Cpf;
                    responsavel.Cpf   = cpf.ToString();
                    responsavel.Email = request.Email;
                    responsavel.Foto  = request.Foto;
                    responsavel.Nome  = request.Nome;

                    this.responsavelRepository.Atualizar(responsavel);
                    await this.unitOfWork.SaveChangesAsync();

                    return(new RequestResponseWrapper(true));
                }
            }
            catch (System.Exception e)
            {
                this.logger.LogError(e, "Erro Inesperado");
                this.NotificationContext.Add(NotificationKeys.UnexpectedError, "Erro inesperado.");
            }

            return(new RequestResponseWrapper(false));
        }
Exemplo n.º 4
0
        public override async Task <RequestResponseWrapper <int?> > Handle(CriarResponsavelCommand request, CancellationToken cancellationToken)
        {
            try
            {
                if (await this.ValidateAsync(request))
                {
                    Util.Cpf cpf = request.Cpf;

                    var responsavel = new Responsavel
                    {
                        Cpf   = cpf.ToString(),
                        Email = request.Email,
                        Nome  = request.Nome,
                        Foto  = request.Foto
                    };

                    this.responsavelRepository.Criar(responsavel);
                    await this.unitOfWork.SaveChangesAsync();

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

            return(new RequestResponseWrapper <int?>(false, null));
        }
        public override async Task <RequestResponseWrapper <PagedList <ResponsavelDto> > > Handle(ObterResponsaveisQuery request, CancellationToken cancellationToken)
        {
            if (await this.ValidateAsync(request))
            {
                try
                {
                    var query = this.responsavelRepository.Query();

                    if (!string.IsNullOrWhiteSpace(request.Nome))
                    {
                        query = query.Where(r => r.Nome.ContainsIgnoreCase(request.Nome));
                    }

                    if (!string.IsNullOrWhiteSpace(request.Cpf))
                    {
                        Util.Cpf cpf = request.Cpf;
                        query = query.Where(r => r.Cpf == cpf.ToString());
                    }

                    if (!string.IsNullOrWhiteSpace(request.NumeroProcesso))
                    {
                        query = query.Where(r => r.Processos.Any(p => p.NumeroProcesso.Contains(request.NumeroProcesso)));
                    }

                    var pagedList = PagedList <Responsavel> .Create(query, request.PageNumber, request.PageSize);

                    var responsavelDtos = pagedList.Select(r => new ResponsavelDto
                    {
                        Id    = r.Id,
                        Cpf   = r.Cpf,
                        Email = r.Email,
                        Foto  = r.Foto,
                        Nome  = r.Nome
                    });

                    var pagedResult = PagedList <ResponsavelDto> .Create(responsavelDtos.ToList(), pagedList.TotalCount, request.PageNumber, request.PageSize);

                    return(new RequestResponseWrapper <PagedList <ResponsavelDto> >(true, pagedResult));
                }
                catch (Exception e)
                {
                    // Log
                    this.logger.LogError(e, "Erro Inesperado");
                    this.NotificationContext.Add(NotificationKeys.UnexpectedError, "Erro inesperado.");
                }
            }

            return(new RequestResponseWrapper <PagedList <ResponsavelDto> >(false, null));
        }
Exemplo n.º 6
0
 public void ValidarSemFormatacao(string cpf, string cpfFormatado)
 {
     Util.Cpf sut = cpfFormatado;
     sut.ToString().Should().Be(cpf);
 }
Exemplo n.º 7
0
 public void ValidarFormatacao(string cpf, string cpfFormatado)
 {
     Util.Cpf sut = cpf;
     sut.Formatado.Should().Be(cpfFormatado);
 }
Exemplo n.º 8
0
 public void ValidarCpf(string cpf, bool valido)
 {
     Util.Cpf sut = cpf;
     sut.Valido.Should().Be(valido);
 }