public async Task <IHttpActionResult> GetCarByCustomerId(string customerId = "")
        {
            if (customerId == "")
            {
                return(Ok(SuccessResult(new DTOCar())));
            }

            var result = await CallAsyncWithRetry(() => _carService.GetSpecifyCarByCustomerIdAsync(customerId));

            if (!result.HasErrors)
            {
                var allBranches = await CallAsyncWithRetry(() => _branchService.GetAllAsync());

                var allManufacturers = await CallAsyncWithRetry(() => _manufacturerService.GetAllAsync());

                result.Target.Branches      = !allBranches.HasErrors ? allBranches.Target : new List <DTOBranch>();
                result.Target.Manufacturers = !allManufacturers.HasErrors ? allManufacturers.Target : new List <DTOManufacturer>();

                var successResult = SuccessResult(result.Target);
                return(Ok(successResult));
            }

            var errorResult = ErrorResult(result.Errors);

            return(Content(HttpStatusCode.InternalServerError, errorResult));
        }