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)));
        }
Beispiel #3
0
        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" }
                    }
                }
            });
        }
Beispiel #4
0
 public CategoryController(IRepository <Category> repository)
 {
     _repository       = repository;
     _translationStore = TranslationStores.Get(CurrentInstance.Name);
 }
Beispiel #5
0
 public BrandController(BrandService brandService)
 {
     _brandService     = brandService;
     _translationStore = TranslationStores.Get(CurrentInstance.Name);
 }
Beispiel #6
0
 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);
 }