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;
 }