/// <summary> /// Gets the custom options provider. /// </summary> /// <returns>Custom options provider</returns> private ICustomOptionProvider GetCustomOptionsProvider(ICustomOption customOption) { if (customOption == null) { return(null); } return(CustomOptionsProvider.GetProvider(customOption.Identifier)); }
/// <summary> /// Initializes a new instance of the <see cref="MediaManagerModuleDescriptor" /> class. /// </summary> public MediaManagerModuleDescriptor(ICmsConfiguration cmsConfiguration) : base(cmsConfiguration) { mediaJsModuleIncludeDescriptor = new MediaManagerJsModuleIncludeDescriptor(this); mediaUploadModuleIncludeDescriptor = new MediaUploadJsModuleIncludeDescriptor(this); imageEditorModuleIncludeDescriptor = new ImageEditorJsModuleIncludeDescriptor(this); fileEditorModuleIncludeDescriptor = new FileEditorJsModuleIncludeDescriptor(this); mediaHistoryJsModuleIncludeDescriptor = new MediaHistoryJsModuleIncludeDescriptor(this); // Register images gallery custom option: album CustomOptionsProvider.RegisterProvider(MediaManagerFolderOptionProvider.Identifier, new MediaManagerFolderOptionProvider()); }
/// <summary> /// Initializes a new instance of the <see cref="MediaManagerModuleDescriptor" /> class. /// </summary> public MediaManagerModuleDescriptor(ICmsConfiguration cmsConfiguration) : base(cmsConfiguration) { mediaJsModuleIncludeDescriptor = new MediaManagerJsModuleIncludeDescriptor(this); mediaUploadModuleIncludeDescriptor = new MediaUploadJsModuleIncludeDescriptor(this); imageEditorModuleIncludeDescriptor = new ImageEditorJsModuleIncludeDescriptor(this); fileEditorModuleIncludeDescriptor = new FileEditorJsModuleIncludeDescriptor(this); mediaHistoryJsModuleIncludeDescriptor = new MediaHistoryJsModuleIncludeDescriptor(this); CategoryAccessors.Register <MediaFileCategoryAccessor>(); CategoryAccessors.Register <MediaImageCategoryAccessor>(); // Register images gallery custom option: album CustomOptionsProvider.RegisterProvider(MediaManagerFolderOptionProvider.Identifier, new MediaManagerFolderOptionProvider()); CustomOptionsProvider.RegisterProvider(MediaManagerImageUrlOptionProvider.Identifier, new MediaManagerImageUrlOptionProvider()); Events.MediaManagerEvents.Instance.MediaFileDeleted += Instance_MediaFileDeleted; }
/// <summary> /// Sets the custom option value titles. /// </summary> /// <param name="optionModels">The option models.</param> /// <param name="valueModels">The value models.</param> public void SetCustomOptionValueTitles(IEnumerable <OptionViewModel> optionModels, IEnumerable <OptionValueEditViewModel> valueModels = null) { var values = optionModels .Where(m => m.Type == OptionType.Custom) .Select(m => new { m.CustomOption.Identifier, Value = m.OptionDefaultValue }); if (valueModels != null) { values = values.Concat(valueModels .Where(m => m.Type == OptionType.Custom) .Select(m => new { m.CustomOption.Identifier, Value = m.OptionValue })); } var groupped = values.Distinct().GroupBy(g => g.Identifier); foreach (var group in groupped) { var provider = CustomOptionsProvider.GetProvider(group.Key); if (provider != null) { var ids = group.Select(g => g.Value).Distinct().ToArray(); var titles = provider.GetTitlesForValues(ids, repository); if (titles != null) { foreach (var pair in titles) { optionModels .Where(g => g.Type == OptionType.Custom && (g.OptionDefaultValue == pair.Key || (pair.Key == string.Empty && string.IsNullOrEmpty(g.OptionDefaultValue)))) .ToList() .ForEach(g => g.CustomOptionDefaultValueTitle = pair.Value); if (valueModels != null) { valueModels .Where(g => g.Type == OptionType.Custom && (g.OptionValue == pair.Key || (pair.Key == string.Empty && string.IsNullOrEmpty(g.OptionValue)))) .ToList() .ForEach(g => g.CustomOptionValueTitle = pair.Value); } } } } } }