void fillModulesList(CalendarOptions options) { //for (int i = 0; i < PluginsManager.Instance.EntryObjectExtensions.Length; i++) //{ // var module = PluginsManager.Instance.EntryObjectExtensions[i]; // var optionItem=options.DefaultEntries.Where(x => x.ModuleId == module.GlobalId).SingleOrDefault(); // if(optionItem!=null) // { // var item = new ModuleSettingViewModel(module,optionItem); // item.IsDefault = options.GetDefaultEntry(module.GlobalId); // lvModulesSettings.Items.Add(item); // } //} var temp = new ObservableCollection <ModuleSettingViewModel>(); for (int i = 0; i < PluginsManager.Instance.EntryObjectExtensions.Length; i++) { var module = PluginsManager.Instance.EntryObjectExtensions[i]; var optionItem = options.DefaultEntries.Where(x => x.ModuleId == module.GlobalId).SingleOrDefault(); if (optionItem == null) { optionItem = new CalendarOptionsItem(module.GlobalId, false); } ModuleSettingViewModel item = new ModuleSettingViewModel(optionItem); item.Value = module.GlobalId; item.Text = EntryObjectLocalizationManager.Instance.GetString(module.EntryObjectType, EnumLocalizer.EntryObjectName); item.Image = module.ModuleImage; item.IsDefault = options.GetDefaultEntry(module.GlobalId); item.CanBeDefault = canBeDefault(module.EntryObjectType); temp.Add(item); } for (int i = 0; i < PluginsManager.Instance.CalendarDayContentsEx.Count(); i++) { var module = PluginsManager.Instance.CalendarDayContentsEx.ElementAt(i); var optionItem = options.DefaultEntries.Where(x => x.ModuleId == module.Value.GlobalId).SingleOrDefault(); if (optionItem == null) { optionItem = new CalendarOptionsItem(module.Value.GlobalId, false); } ModuleSettingViewModel item = temp.Where(x => x.Value == module.Value.GlobalId).SingleOrDefault(); if (item == null) { item = new ModuleSettingViewModel(optionItem); item.Value = module.Value.GlobalId; item.Text = module.Value.Name; item.Image = module.Value.Image; item.CanBeDefault = false; temp.Add(item); } item.Order = options.DefaultEntries.IndexOf(optionItem); } Modules = new ObservableCollection <ModuleSettingViewModel>(temp.OrderBy(x => x.Order)); //foreach (var calendarOptionsItem in options.DefaultEntries) //{ // var module = PluginsManager.Instance.GetEntryObjectProvider(calendarOptionsItem.ModuleId); // var item = new ModuleSettingViewModel(module, calendarOptionsItem); // item.IsDefault = options.GetDefaultEntry(module.GlobalId); // lvModulesSettings.Items.Add(item); //} }
public ModuleSettingViewModel(CalendarOptionsItem item) { this.item = item; ShowIcon = true; CanBeDefault = true; }