public async Task <AvailabilityResponse> SaveByProductIdAsync(int providerId, int productId, Availability availability)
        {
            var productDB = _productRepository.FindByIdAsync(productId);

            try
            {
                if (productDB != null)
                {
                    availability.Product   = productDB.Result;
                    availability.ProductId = productId;
                    await _availabilityRepository.SaveByProductIdAsync(providerId, productId, availability);

                    await _unitOfWork.CompleteAsync();

                    return(new AvailabilityResponse(availability));
                }


                return(new AvailabilityResponse("Product not found"));
            }
            catch (Exception ex)
            {
                return(new AvailabilityResponse($"An error ocurred while saving th Availability: {ex.Message}"));
            }
        }