public AppliancesDistribution(IRepository <Product> productContext, IDataSerialization serializer, ICacheable cacheProvider, IConverterService converterProvider, IUnitOfWork unitOfWork) { _productRepository = productContext ?? throw new ArgumentNullException(nameof(productContext)); _dataSerializer = serializer ?? throw new ArgumentNullException(nameof(serializer)); _cache = cacheProvider ?? throw new ArgumentNullException(nameof(cacheProvider)); converterProvider.GetExchengesRateAsync(new CancellationToken()); _cache.SetInstance(_productRepository.GetAll().ToList()); _unitOfWork = unitOfWork; }