public static void Configure() { var instanceManager = EngineContext.Current.Resolve <ICommerceInstanceManager>(); // Ensure sqlce db folder for each instances var instances = instanceManager.GetInstances().ToList(); foreach (var instance in instances) { var folder = DataFolders.Instances.GetFolder(instance.Name).GetFolder("Multilingual"); if (!folder.Exists) { folder.Create(); } } // Configure DbConfiguration DbConfiguration.Loaded += DbConfiguration_Loaded; // Register stores foreach (var instance in instances) { LanguageStores.Register(instance.Name, new CachedLanguageStore(new SqlceLanguageStore(instance.Name, instanceManager))); TranslationStores.Register(instance.Name, new CachedTranslactionStore(new SqlceTranslationStore(instance.Name, instanceManager))); } }
public void Handle(CommerceInstanceCreated @event, CommerceInstance instance) { var folder = DataFolders.Instances.GetFolder(@event.Settings.Name).GetFolder("Multilingual"); folder.Create(); var instanceManager = EngineContext.Current.Resolve <ICommerceInstanceManager>(); // Register stores LanguageStores.Register(@event.InstanceName, new CachedLanguageStore(new SqlceLanguageStore(instance.Name, instanceManager))); TranslationStores.Register(@event.InstanceName, new CachedTranslactionStore(new SqlceTranslationStore(instance.Name, instanceManager))); }
private void AddLanguageChildItem <T>(MenuItem parent, CultureInfo culture, string text, string controller, IQueryable <T> originalDataQuery) { var store = TranslationStores.Get(CommerceInstance.Current.Name); var totalPending = originalDataQuery.Count() - store.TotalTranslated(culture, typeof(T)) + store.TotalOutOfDate(culture, typeof(T)); parent.Items.Add(new LanguageSpecificMenuItem(culture.Name) { Text = text, Controller = controller, Badge = totalPending == 0 ? null : new Badge { Text = totalPending.ToString(), HtmlAttributes = new Dictionary <string, object> { { "class", "badge badge-danger" } } } }); }
public CategoryController(IRepository <Category> repository) { _repository = repository; _translationStore = TranslationStores.Get(CurrentInstance.Name); }
public BrandController(BrandService brandService) { _brandService = brandService; _translationStore = TranslationStores.Get(CurrentInstance.Name); }
public ProductController() { _translationStore = TranslationStores.Get(CurrentInstance.Name); }
public ProductTypeController(IRepository <ProductType> repository) { _repository = repository; _translationStore = TranslationStores.Get(CurrentInstance.Name); }
public void Handle(CommerceInstanceDeleted @event, CommerceInstance instance) { LanguageStores.Remove(@event.InstanceName); TranslationStores.Remove(@event.InstanceName); }