public IActionResult FindByDocumentNumber([FromQuery] string DocumentNumber)
        {
            bool uowStatus = false;

            try
            {
                Customer     customer     = new Customer();
                Notification notification = customer.validateFindByDocumentNumber(DocumentNumber);

                if (notification.HasErrors())
                {
                    throw new ArgumentException(notification.ErrorMessage());
                }

                Specification <Customer> specification = GetFindByDocumentNumber(DocumentNumber);
                uowStatus = _unitOfWork.BeginTransaction();
                customer  = _customerRepository.FindByDocumentNumber(specification);
                _unitOfWork.Commit(uowStatus);
                CustomerDto customerDto = _customerAssembler.FromCustomerToCustomerDto(customer);
                return(StatusCode(StatusCodes.Status200OK, customerDto));
            }
            catch (ArgumentException ex)
            {
                return(BadRequest(responseHandler.getAppCustomErrorResponse(ex.Message)));
            }
            catch (Exception ex)
            {
                _unitOfWork.Rollback(uowStatus);
                Console.WriteLine(ex.StackTrace);
                return(StatusCode(StatusCodes.Status500InternalServerError, responseHandler.getAppExceptionResponse()));
            }
        }