protected virtual void SaveStoreMappings(Language language, LanguageModel model) { var existingStoreMappings = _storeMappingService.GetStoreMappings(language); var allStores = _storeService.GetAllStores(); foreach (var store in allStores) { if (model.SelectedStoreIds != null && model.SelectedStoreIds.Contains(store.Id)) { //new store if (existingStoreMappings.Count(sm => sm.StoreId == store.Id) == 0) { _storeMappingService.InsertStoreMapping(language, store.Id); } } else { //remove store var storeMappingToDelete = existingStoreMappings.FirstOrDefault(sm => sm.StoreId == store.Id); if (storeMappingToDelete != null) { _storeMappingService.DeleteStoreMapping(storeMappingToDelete); } } } }
protected virtual void SaveStoreMappings(BlogPost blogPost, BlogPostModel model) { blogPost.LimitedToStores = model.SelectedStoreIds.Any(); var existingStoreMappings = _storeMappingService.GetStoreMappings(blogPost); var allStores = _storeService.GetAllStores(); foreach (var store in allStores) { if (model.SelectedStoreIds.Contains(store.Id)) { //new store if (existingStoreMappings.Count(sm => sm.StoreId == store.Id) == 0) { _storeMappingService.InsertStoreMapping(blogPost, store.Id); } } else { //remove store var storeMappingToDelete = existingStoreMappings.FirstOrDefault(sm => sm.StoreId == store.Id); if (storeMappingToDelete != null) { _storeMappingService.DeleteStoreMapping(storeMappingToDelete); } } } }
protected void SaveStoreMappings(NewsItem newsItem, NewsItemModel model) { var existingStoreMappings = _storeMappingService.GetStoreMappings(newsItem); var allStores = _storeService.GetAllStores(); foreach (var store in allStores) { if (model.SelectedStoreIds != null && model.SelectedStoreIds.Contains(store.Id)) { //new role if (existingStoreMappings.Count(sm => sm.StoreId == store.Id) == 0) { _storeMappingService.InsertStoreMapping(newsItem, store.Id); } } else { //removed role var storeMappingToDelete = existingStoreMappings.FirstOrDefault(sm => sm.StoreId == store.Id); if (storeMappingToDelete != null) { _storeMappingService.DeleteStoreMapping(storeMappingToDelete); } } } }
protected virtual void SaveStoreMappings(Poll poll, PollModel model) { poll.LimitedToStores = model.SelectedStoreIds.Any(); //manage store mappings var existingStoreMappings = _storeMappingService.GetStoreMappings(poll); foreach (var store in _storeService.GetAllStores()) { var existingStoreMapping = existingStoreMappings.FirstOrDefault(storeMapping => storeMapping.StoreId == store.Id); //new store mapping if (model.SelectedStoreIds.Contains(store.Id)) { if (existingStoreMapping == null) { _storeMappingService.InsertStoreMapping(poll, store.Id); } } //or remove existing one else if (existingStoreMapping != null) { _storeMappingService.DeleteStoreMapping(existingStoreMapping); } } }
protected void UpdateStoreMappings <TEntity>(TEntity entity, List <int> passedStoreIds) where TEntity : BaseEntity, IStoreMappingSupported { if (passedStoreIds == null) { return; } entity.LimitedToStores = passedStoreIds.Any(); var existingStoreMappings = _storeMappingService.GetStoreMappings(entity); var allStores = _storeService.GetAllStores(); foreach (var store in allStores) { if (passedStoreIds.Contains(store.Id)) { //new store if (existingStoreMappings.Count(sm => sm.StoreId == store.Id) == 0) { _storeMappingService.InsertStoreMapping(entity, store.Id); } } else { //remove store var storeMappingToDelete = existingStoreMappings.FirstOrDefault(sm => sm.StoreId == store.Id); if (storeMappingToDelete != null) { _storeMappingService.DeleteStoreMapping(storeMappingToDelete); } } } }
/// <summary> /// Save widget zone store mappings /// </summary> /// <param name="model">Widget zone model</param> /// <param name="widgetZone">Widget zone entity</param> protected virtual void SaveWidgetZoneStoreMappings(WidgetZoneModel model, WidgetZone widgetZone) { var existingStoreMappings = _storeMappingService.GetStoreMappings(widgetZone); var allStores = _storeService.GetAllStores(); //process store mappings foreach (var store in allStores) { if (model.SelectedStoreIds.Contains(store.Id)) { //add new store mapping if (existingStoreMappings.Count(sm => sm.StoreId == store.Id) == 0) { _storeMappingService.InsertStoreMapping(widgetZone, store.Id); } } else { //remove store mapping var storeMappingToDelete = existingStoreMappings.FirstOrDefault(sm => sm.StoreId == store.Id); if (storeMappingToDelete != null) { _storeMappingService.DeleteStoreMapping(storeMappingToDelete); } } } }
protected virtual void SaveStoreMappings(Category category, CategoryModel model) { category.LimitedToStores = model.SelectedStoreIds.Any(); _categoryService.UpdateCategory(category); var existingStoreMappings = _storeMappingService.GetStoreMappings(category); var allStores = _storeService.GetAllStores(); foreach (var store in allStores) { if (model.SelectedStoreIds.Contains(store.Id)) { //new store if (existingStoreMappings.Count(sm => sm.StoreId == store.Id) == 0) { _storeMappingService.InsertStoreMapping(category, store.Id); } } else { //remove store var storeMappingToDelete = existingStoreMappings.FirstOrDefault(sm => sm.StoreId == store.Id); if (storeMappingToDelete != null) { _storeMappingService.DeleteStoreMapping(storeMappingToDelete); } } } }
protected virtual void UpdateStoreMapping(Slide slide, SlideModel model) { var allStores = _storeService.GetAllStores(); var limitedToStores = _storeMappingService.GetStoreMappings(slide); foreach (var store in allStores) { if (model.SelectedStoreIds != null && model.SelectedStoreIds.Contains(store.Id)) { //new store mapping if (!limitedToStores.Any(x => x.StoreId == store.Id)) { _storeMappingService.InsertStoreMapping(slide, store.Id); } } else { //delete mapping var storeMapping = limitedToStores.FirstOrDefault(x => x.StoreId == store.Id); if (storeMapping != null) { _storeMappingService.DeleteStoreMapping(storeMapping); } } } }
protected virtual void SaveStoreMappings(BlogPost blogPost, BlogPostModel model) { blogPost.LimitedToStores = model.SelectedStoreIds.Any(); var existingStoreMappings = _storeMappingService.GetStoreMappings(blogPost); #region Extensions by QuanNH //stores var _workContext = Nop.Core.Infrastructure.EngineContext.Current.Resolve <Nop.Core.IWorkContext>(); var allStores = _storeService.GetAllStoresByEntityName(_workContext.CurrentCustomer.Id, "Stores"); if (allStores.Count <= 0) { allStores = _storeService.GetAllStores(); } #endregion foreach (var store in allStores) { if (model.SelectedStoreIds.Contains(store.Id)) { //new store if (existingStoreMappings.Count(sm => sm.StoreId == store.Id) == 0) { _storeMappingService.InsertStoreMapping(blogPost, store.Id); } } else { //remove store var storeMappingToDelete = existingStoreMappings.FirstOrDefault(sm => sm.StoreId == store.Id); if (storeMappingToDelete != null) { _storeMappingService.DeleteStoreMapping(storeMappingToDelete); } } } }
protected virtual void SaveStoreMappings(CheckoutAttribute checkoutAttribute, CheckoutAttributeModel model) { checkoutAttribute.LimitedToStores = model.SelectedStoreIds.Any(); var existingStoreMappings = _storeMappingService.GetStoreMappings(checkoutAttribute); var allStores = _storeService.GetAllStores(); foreach (var store in allStores) { if (model.SelectedStoreIds.Contains(store.Id)) { //new store if (existingStoreMappings.Count(sm => sm.StoreId == store.Id) == 0) _storeMappingService.InsertStoreMapping(checkoutAttribute, store.Id); } else { //remove store var storeMappingToDelete = existingStoreMappings.FirstOrDefault(sm => sm.StoreId == store.Id); if (storeMappingToDelete != null) _storeMappingService.DeleteStoreMapping(storeMappingToDelete); } } }
/// <summary> /// Deletes a store mapping record /// </summary> /// <param name="storeMapping">Store mapping record</param> public void DeleteStoreMapping([FromBody] StoreMapping storeMapping) { _storeMappingService.DeleteStoreMapping(storeMapping); }