public virtual async Task SaveChangesAsync(TaxProvider[] taxProviders) { var pkMap = new PrimaryKeyResolvingMap(); using (var repository = _repositoryFactory()) { var dataExistEntities = await repository.GetStoreTaxProviderByIdsAsync(taxProviders.Where(x => !x.IsTransient()).Select(x => x.Id).ToArray()); foreach (var taxProvider in taxProviders) { var originalEntity = dataExistEntities.FirstOrDefault(x => x.Id == taxProvider.Id); var modifiedEntity = AbstractTypeFactory <StoreTaxProviderEntity> .TryCreateInstance().FromModel(taxProvider, pkMap); if (originalEntity != null) { modifiedEntity.Patch(originalEntity); } else { repository.Add(modifiedEntity); } } //Raise domain events await repository.UnitOfWork.CommitAsync(); pkMap.ResolvePrimaryKeys(); //Save settings await _settingManager.DeepSaveSettingsAsync(taxProviders); } TaxCacheRegion.ExpireRegion(); }
public ActionResult ResetCache() { //TODO: Replace to some other (maybe with using reflection) ThemeEngineCacheRegion.ExpireRegion(); CartCacheRegion.ExpireRegion(); CatalogCacheRegion.ExpireRegion(); ContentBlobCacheRegion.ExpireRegion(); CustomerCacheRegion.ExpireRegion(); MarketingCacheRegion.ExpireRegion(); PricingCacheRegion.ExpireRegion(); QuoteCacheRegion.ExpireRegion(); RecommendationsCacheRegion.ExpireRegion(); StaticContentCacheRegion.ExpireRegion(); StoreCacheRegion.ExpireRegion(); TaxCacheRegion.ExpireRegion(); SubscriptionCacheRegion.ExpireRegion(); SecurityCacheRegion.ExpireRegion(); return(StoreFrontRedirect("~/")); }