public GenericOptionsViewModel( NameSpace session, IOptionsViewModelParent parent, bool fixInvalidSettings, IOutlookAccountPasswordProvider outlookAccountPasswordProvider, Func <ISettingsFaultFinder, ICurrentOptions, IServerSettingsViewModel> serverSettingsViewModelFactory, Func <ICurrentOptions, IMappingConfigurationViewModelFactory> mappingConfigurationViewModelFactoryFactory) : base(parent) { if (session == null) { throw new ArgumentNullException(nameof(session)); } if (outlookAccountPasswordProvider == null) { throw new ArgumentNullException(nameof(outlookAccountPasswordProvider)); } if (mappingConfigurationViewModelFactoryFactory == null) { throw new ArgumentNullException(nameof(mappingConfigurationViewModelFactoryFactory)); } _syncSettingsViewModel = new SyncSettingsViewModel(); _networkSettingsViewModel = new NetworkSettingsViewModel(); var faultFinder = fixInvalidSettings ? new SettingsFaultFinder(this) : NullSettingsFaultFinder.Instance; _serverSettingsViewModel = serverSettingsViewModelFactory(faultFinder, this); _outlookAccountPasswordProvider = outlookAccountPasswordProvider; _mappingConfigurationViewModelFactory = mappingConfigurationViewModelFactoryFactory(this); _outlookFolderViewModel = new OutlookFolderViewModel(session, faultFinder); _outlookFolderViewModel.PropertyChanged += OutlookFolderViewModel_PropertyChanged; _timeRangeViewModel = new TimeRangeViewModel(); }
public OptionsViewModelFactory( NameSpace session, IOptionsViewModelParent optionsViewModelParent, IOutlookAccountPasswordProvider outlookAccountPasswordProvider, IReadOnlyList <string> availableCategories) { if (session == null) { throw new ArgumentNullException(nameof(session)); } if (optionsViewModelParent == null) { throw new ArgumentNullException(nameof(optionsViewModelParent)); } if (outlookAccountPasswordProvider == null) { throw new ArgumentNullException(nameof(outlookAccountPasswordProvider)); } if (availableCategories == null) { throw new ArgumentNullException(nameof(availableCategories)); } _optionsViewModelParent = optionsViewModelParent; _outlookAccountPasswordProvider = outlookAccountPasswordProvider; _availableCategories = availableCategories; _session = session; }
public GenericOptionsViewModel ( IOptionsViewModelParent parent, GeneralOptions generalOptions, IOutlookAccountPasswordProvider outlookAccountPasswordProvider, Func<ISettingsFaultFinder, ICurrentOptions, IServerSettingsViewModel> serverSettingsViewModelFactory, Func<ICurrentOptions, IMappingConfigurationViewModelFactory> mappingConfigurationViewModelFactoryFactory, IOptionTasks optionTasks) : base (parent) { if (generalOptions == null) throw new ArgumentNullException (nameof (generalOptions)); if (outlookAccountPasswordProvider == null) throw new ArgumentNullException (nameof (outlookAccountPasswordProvider)); if (mappingConfigurationViewModelFactoryFactory == null) throw new ArgumentNullException (nameof (mappingConfigurationViewModelFactoryFactory)); _syncSettingsViewModel = new SyncSettingsViewModel(); _networkSettingsViewModel = new NetworkSettingsViewModel(); var faultFinder = generalOptions.FixInvalidSettings ? new SettingsFaultFinder (this) : NullSettingsFaultFinder.Instance; _serverSettingsViewModel = serverSettingsViewModelFactory (faultFinder, this); _generalOptions = generalOptions; _outlookAccountPasswordProvider = outlookAccountPasswordProvider; _mappingConfigurationViewModelFactory = mappingConfigurationViewModelFactoryFactory(this); _outlookFolderViewModel = new OutlookFolderViewModel (faultFinder, optionTasks); _outlookFolderViewModel.PropertyChanged += OutlookFolderViewModel_PropertyChanged; _timeRangeViewModel = new TimeRangeViewModel(); }
public static IProfileTypeRegistry Create( IOptionsViewModelParent optionsViewModelParent, IOutlookAccountPasswordProvider outlookAccountPasswordProvider, IReadOnlyList <string> availableCategories, IOptionTasks optionTasks, ISettingsFaultFinder settingsFaultFinder, GeneralOptions generalOptions, IViewOptions viewOptions) { if (optionsViewModelParent == null) { throw new ArgumentNullException(nameof(optionsViewModelParent)); } if (outlookAccountPasswordProvider == null) { throw new ArgumentNullException(nameof(outlookAccountPasswordProvider)); } if (availableCategories == null) { throw new ArgumentNullException(nameof(availableCategories)); } if (optionTasks == null) { throw new ArgumentNullException(nameof(optionTasks)); } if (settingsFaultFinder == null) { throw new ArgumentNullException(nameof(settingsFaultFinder)); } if (generalOptions == null) { throw new ArgumentNullException(nameof(generalOptions)); } if (viewOptions == null) { throw new ArgumentNullException(nameof(viewOptions)); } var generic = new GenericProfile(optionsViewModelParent, outlookAccountPasswordProvider, availableCategories, optionTasks, settingsFaultFinder, generalOptions, viewOptions); var google = new GoogleProfile(optionsViewModelParent, outlookAccountPasswordProvider, availableCategories, optionTasks, settingsFaultFinder, generalOptions, viewOptions); var all = new List <IProfileType> { generic, google }; all.Add(new FruuxProfile(optionsViewModelParent, outlookAccountPasswordProvider, availableCategories, optionTasks, settingsFaultFinder, generalOptions, viewOptions)); all.Add(new PosteoProfile(optionsViewModelParent, outlookAccountPasswordProvider, availableCategories, optionTasks, settingsFaultFinder, generalOptions, viewOptions)); all.Add(new YandexProfile(optionsViewModelParent, outlookAccountPasswordProvider, availableCategories, optionTasks, settingsFaultFinder, generalOptions, viewOptions)); all.Add(new GmxCalendarProfile(optionsViewModelParent, outlookAccountPasswordProvider, availableCategories, optionTasks, settingsFaultFinder, generalOptions, viewOptions)); all.Add(new SarenetProfile(optionsViewModelParent, outlookAccountPasswordProvider, availableCategories, optionTasks, settingsFaultFinder, generalOptions, viewOptions)); all.Add(new LandmarksProfile(optionsViewModelParent, outlookAccountPasswordProvider, availableCategories, optionTasks, settingsFaultFinder, generalOptions, viewOptions)); all.Add(new SogoProfile(optionsViewModelParent, outlookAccountPasswordProvider, availableCategories, optionTasks, settingsFaultFinder, generalOptions, viewOptions)); all.Add(new CozyProfile(optionsViewModelParent, outlookAccountPasswordProvider, availableCategories, optionTasks, settingsFaultFinder, generalOptions, viewOptions)); all.Add(new NextcloudProfile(optionsViewModelParent, outlookAccountPasswordProvider, availableCategories, optionTasks, settingsFaultFinder, generalOptions, viewOptions)); all.Add(new MailboxOrgProfile(optionsViewModelParent, outlookAccountPasswordProvider, availableCategories, optionTasks, settingsFaultFinder, generalOptions, viewOptions)); all.Add(new EasyProjectProfile(optionsViewModelParent, outlookAccountPasswordProvider, availableCategories, optionTasks, settingsFaultFinder, generalOptions, viewOptions)); all.Add(new WebDeProfile(optionsViewModelParent, outlookAccountPasswordProvider, availableCategories, optionTasks, settingsFaultFinder, generalOptions, viewOptions)); return(new ProfileTypeRegistry(all, generic, google)); }
public EasyProjectMultipleOptionsTemplateViewModel( IOptionsViewModelParent parent, IServerSettingsTemplateViewModel serverSettingsViewModel, IOptionTasks optionTasks, OptionsModel prototypeModel, IViewOptions viewOptions) { _parent = parent; if (parent == null) { throw new ArgumentNullException(nameof(parent)); } if (optionTasks == null) { throw new ArgumentNullException(nameof(optionTasks)); } if (prototypeModel == null) { throw new ArgumentNullException(nameof(prototypeModel)); } if (viewOptions == null) { throw new ArgumentNullException(nameof(viewOptions)); } _prototypeModel = prototypeModel; ViewOptions = viewOptions; _discoverResourcesCommand = new DelegateCommandWithoutCanExecuteDelegation(_ => { ComponentContainer.EnsureSynchronizationContext(); DiscoverResourcesAsync(); }); _mergeResourcesCommand = new DelegateCommandWithoutCanExecuteDelegation(_ => { ComponentContainer.EnsureSynchronizationContext(); MergeResourcesAsync(); }); SelectFolderCommand = new DelegateCommand(_ => SelectFolder()); _networkSettingsViewModel = new NetworkSettingsViewModel(_prototypeModel); Items = new[] { _networkSettingsViewModel }; _serverSettingsViewModel = serverSettingsViewModel; _optionTasks = optionTasks; var folder = _optionTasks.GetDefaultCalendarFolderOrNull(); if (folder != null) { _selectedFolder = folder; SelectedFolderName = folder.Name; } RegisterPropertyChangePropagation(_prototypeModel, nameof(_prototypeModel.Name), nameof(Name)); }
protected OptionsViewModelBase (IOptionsViewModelParent parent) { if (parent == null) throw new ArgumentNullException (nameof (parent)); _parent = parent; ClearCacheCommand = new DelegateCommand (_ => _parent.RequestCacheDeletion (this)); }
/// <remarks> /// Just for creating the DesingInstance /// </remarks> public GenericOptionsViewModel(IOptionsViewModelParent parent, NetworkSettingsViewModel networkSettingsViewModel, OutlookFolderViewModel outlookFolderViewModel, IServerSettingsViewModel serverSettingsViewModel, SyncSettingsViewModel syncSettingsViewModel, IOptionsViewModel mappingConfigurationViewModel) : base(parent) { _networkSettingsViewModel = networkSettingsViewModel; _outlookFolderViewModel = outlookFolderViewModel; _serverSettingsViewModel = serverSettingsViewModel; _syncSettingsViewModel = syncSettingsViewModel; MappingConfigurationViewModel = mappingConfigurationViewModel; }
/// <remarks> /// Just for creating the DesingInstance /// </remarks> public GenericOptionsViewModel (IOptionsViewModelParent parent, NetworkSettingsViewModel networkSettingsViewModel, OutlookFolderViewModel outlookFolderViewModel, IServerSettingsViewModel serverSettingsViewModel, SyncSettingsViewModel syncSettingsViewModel, ISubOptionsViewModel mappingConfigurationViewModel) : base (parent) { _networkSettingsViewModel = networkSettingsViewModel; _outlookFolderViewModel = outlookFolderViewModel; _serverSettingsViewModel = serverSettingsViewModel; _syncSettingsViewModel = syncSettingsViewModel; MappingConfigurationViewModel = mappingConfigurationViewModel; }
protected OptionsViewModelBase(IOptionsViewModelParent parent) { if (parent == null) { throw new ArgumentNullException(nameof(parent)); } _parent = parent; ClearCacheCommand = new DelegateCommand(_ => _parent.RequestCacheDeletion(this)); }
public MultipleOptionsTemplateViewModel( IOptionsViewModelParent parent, IServerSettingsTemplateViewModel serverSettingsViewModel, IOptionTasks optionTasks, OptionsModel prototypeModel, IViewOptions viewOptions) { _parent = parent; if (parent == null) { throw new ArgumentNullException(nameof(parent)); } if (optionTasks == null) { throw new ArgumentNullException(nameof(optionTasks)); } if (prototypeModel == null) { throw new ArgumentNullException(nameof(prototypeModel)); } if (viewOptions == null) { throw new ArgumentNullException(nameof(viewOptions)); } ViewOptions = viewOptions; _prototypeModel = prototypeModel; _discoverResourcesCommand = new DelegateCommandWithoutCanExecuteDelegation(_ => { ComponentContainer.EnsureSynchronizationContext(); DiscoverResourcesAsync(); }); _getAccountSettingsCommand = new DelegateCommandWithoutCanExecuteDelegation(_ => { ComponentContainer.EnsureSynchronizationContext(); GetAccountSettings(); }); _networkSettingsViewModel = new NetworkSettingsViewModel(_prototypeModel); Items = new[] { _networkSettingsViewModel }; _serverSettingsViewModel = serverSettingsViewModel; _optionTasks = optionTasks; RegisterPropertyChangePropagation(_prototypeModel, nameof(_prototypeModel.Name), nameof(Name)); }
protected ProfileModelFactoryBase(IProfileType profileType, IOptionsViewModelParent optionsViewModelParent, IOutlookAccountPasswordProvider outlookAccountPasswordProvider, IReadOnlyList <string> availableCategories, IOptionTasks optionTasks, ISettingsFaultFinder settingsFaultFinder, GeneralOptions generalOptions, IViewOptions viewOptions, OptionModelSessionData sessionData) { if (profileType == null) { throw new ArgumentNullException(nameof(profileType)); } if (optionsViewModelParent == null) { throw new ArgumentNullException(nameof(optionsViewModelParent)); } if (outlookAccountPasswordProvider == null) { throw new ArgumentNullException(nameof(outlookAccountPasswordProvider)); } if (availableCategories == null) { throw new ArgumentNullException(nameof(availableCategories)); } if (optionTasks == null) { throw new ArgumentNullException(nameof(optionTasks)); } if (settingsFaultFinder == null) { throw new ArgumentNullException(nameof(settingsFaultFinder)); } if (generalOptions == null) { throw new ArgumentNullException(nameof(generalOptions)); } if (viewOptions == null) { throw new ArgumentNullException(nameof(viewOptions)); } if (sessionData == null) { throw new ArgumentNullException(nameof(sessionData)); } ProfileType = profileType; OptionsViewModelParent = optionsViewModelParent; OutlookAccountPasswordProvider = outlookAccountPasswordProvider; AvailableCategories = availableCategories; OptionTasks = optionTasks; SettingsFaultFinder = settingsFaultFinder; GeneralOptions = generalOptions; ViewOptions = viewOptions; SessionData = sessionData; ServerSettingsDetector = new Lazy <IServerSettingsDetector>(CreateServerSettingsDetector); }
public GenericOptionsViewModel( IOptionsViewModelParent parent, IOptionsSection serverSettingsViewModel, IOptionTasks optionTasks, OptionsModel model, IReadOnlyList <string> availableCategories, IViewOptions viewOptions) : base(viewOptions, model) { if (parent == null) { throw new ArgumentNullException(nameof(parent)); } if (serverSettingsViewModel == null) { throw new ArgumentNullException(nameof(serverSettingsViewModel)); } if (optionTasks == null) { throw new ArgumentNullException(nameof(optionTasks)); } if (model == null) { throw new ArgumentNullException(nameof(model)); } if (availableCategories == null) { throw new ArgumentNullException(nameof(availableCategories)); } Model = model; _availableCategories = availableCategories; _syncSettingsViewModel = new SyncSettingsViewModel(model, viewOptions); _networkSettingsViewModel = new NetworkSettingsViewModel(model); _serverSettingsViewModel = serverSettingsViewModel; _outlookFolderViewModel = new OutlookFolderViewModel(model, optionTasks, viewOptions); _timeRangeViewModel = new TimeRangeViewModel(model, viewOptions); RegisterPropertyChangeHandler(model, nameof(model.MappingConfigurationModelOrNull), UpdateMappingConfigurationViewModel); RegisterPropertyChangePropagation(model, nameof(model.SelectedFolderOrNull), nameof(OutlookFolderType)); }
public MultipleOptionsTemplateViewModel( NameSpace session, IOptionsViewModelParent parent, GeneralOptions generalOptions, IServerSettingsTemplateViewModel serverSettingsViewModel, ProfileType profileType) { _parent = parent; _session = session; if (session == null) { throw new ArgumentNullException(nameof(session)); } if (parent == null) { throw new ArgumentNullException(nameof(parent)); } if (generalOptions == null) { throw new ArgumentNullException(nameof(generalOptions)); } _discoverResourcesCommand = new DelegateCommandWithoutCanExecuteDelegation(_ => { ComponentContainer.EnsureSynchronizationContext(); DiscoverResourcesAsync(); }); _getAccountSettingsCommand = new DelegateCommandWithoutCanExecuteDelegation(_ => { ComponentContainer.EnsureSynchronizationContext(); GetAccountSettings(); }); _networkSettingsViewModel = new NetworkSettingsViewModel(); SubOptions = new[] { _networkSettingsViewModel }; _serverSettingsViewModel = serverSettingsViewModel; _profileType = profileType; _generalOptions = generalOptions; }
public OptionsViewModelFactory ( IOptionsViewModelParent optionsViewModelParent, IOutlookAccountPasswordProvider outlookAccountPasswordProvider, IReadOnlyList<string> availableCategories, IOptionTasks optionTasks) { if (optionsViewModelParent == null) throw new ArgumentNullException (nameof (optionsViewModelParent)); if (outlookAccountPasswordProvider == null) throw new ArgumentNullException (nameof (outlookAccountPasswordProvider)); if (availableCategories == null) throw new ArgumentNullException (nameof (availableCategories)); if (optionTasks == null) throw new ArgumentNullException(nameof(optionTasks)); _optionsViewModelParent = optionsViewModelParent; _outlookAccountPasswordProvider = outlookAccountPasswordProvider; _availableCategories = availableCategories; _optionTasks = optionTasks; }
protected ProfileBase(IOptionsViewModelParent optionsViewModelParent, IOutlookAccountPasswordProvider outlookAccountPasswordProvider, IReadOnlyList <string> availableCategories, IOptionTasks optionTasks, ISettingsFaultFinder settingsFaultFinder, GeneralOptions generalOptions, IViewOptions viewOptions) { if (optionsViewModelParent == null) { throw new ArgumentNullException(nameof(optionsViewModelParent)); } if (outlookAccountPasswordProvider == null) { throw new ArgumentNullException(nameof(outlookAccountPasswordProvider)); } if (availableCategories == null) { throw new ArgumentNullException(nameof(availableCategories)); } if (optionTasks == null) { throw new ArgumentNullException(nameof(optionTasks)); } if (settingsFaultFinder == null) { throw new ArgumentNullException(nameof(settingsFaultFinder)); } if (generalOptions == null) { throw new ArgumentNullException(nameof(generalOptions)); } if (viewOptions == null) { throw new ArgumentNullException(nameof(viewOptions)); } OptionsViewModelParent = optionsViewModelParent; OutlookAccountPasswordProvider = outlookAccountPasswordProvider; AvailableCategories = availableCategories; OptionTasks = optionTasks; SettingsFaultFinder = settingsFaultFinder; GeneralOptions = generalOptions; ViewOptions = viewOptions; }
public MultipleOptionsTemplateViewModel ( IOptionsViewModelParent parent, GeneralOptions generalOptions, IServerSettingsTemplateViewModel serverSettingsViewModel, ProfileType profileType, IOptionTasks optionTasks) { _parent = parent; if (parent == null) throw new ArgumentNullException (nameof (parent)); if (generalOptions == null) throw new ArgumentNullException (nameof (generalOptions)); if (optionTasks == null) throw new ArgumentNullException(nameof(optionTasks)); _discoverResourcesCommand = new DelegateCommandWithoutCanExecuteDelegation (_ => { ComponentContainer.EnsureSynchronizationContext(); DiscoverResourcesAsync(); }); _getAccountSettingsCommand = new DelegateCommandWithoutCanExecuteDelegation(_ => { ComponentContainer.EnsureSynchronizationContext(); GetAccountSettings(); }); _networkSettingsViewModel = new NetworkSettingsViewModel(); Items = new[] { _networkSettingsViewModel }; _serverSettingsViewModel = serverSettingsViewModel; _profileType = profileType; _optionTasks = optionTasks; _generalOptions = generalOptions; }
public ProfileModelFactory(IProfileType profileType, IOptionsViewModelParent optionsViewModelParent, IOutlookAccountPasswordProvider outlookAccountPasswordProvider, IReadOnlyList <string> availableCategories, IOptionTasks optionTasks, GeneralOptions generalOptions, IViewOptions viewOptions, OptionModelSessionData sessionData) : base(profileType, optionsViewModelParent, outlookAccountPasswordProvider, availableCategories, optionTasks, generalOptions, viewOptions, sessionData) { }
public override IProfileModelFactory CreateModelFactory(IOptionsViewModelParent optionsViewModelParent, IOutlookAccountPasswordProvider outlookAccountPasswordProvider, IReadOnlyList <string> availableCategories, IOptionTasks optionTasks, GeneralOptions generalOptions, IViewOptions viewOptions, OptionModelSessionData sessionData) { return(new ProfileModelFactory(this, optionsViewModelParent, outlookAccountPasswordProvider, availableCategories, optionTasks, generalOptions, viewOptions, sessionData)); }
public GenericProfile(IOptionsViewModelParent optionsViewModelParent, IOutlookAccountPasswordProvider outlookAccountPasswordProvider, IReadOnlyList <string> availableCategories, IOptionTasks optionTasks, ISettingsFaultFinder settingsFaultFinder, GeneralOptions generalOptions, IViewOptions viewOptions) : base(optionsViewModelParent, outlookAccountPasswordProvider, availableCategories, optionTasks, settingsFaultFinder, generalOptions, viewOptions) { }
public IProfileModelFactory CreateModelFactory(IOptionsViewModelParent optionsViewModelParent, IOutlookAccountPasswordProvider outlookAccountPasswordProvider, IReadOnlyList <string> availableCategories, IOptionTasks optionTasks, ISettingsFaultFinder settingsFaultFinder, GeneralOptions generalOptions, IViewOptions viewOptions, OptionModelSessionData sessionData) { return(this); }
public abstract IProfileModelFactory CreateModelFactory(IOptionsViewModelParent optionsViewModelParent, IOutlookAccountPasswordProvider outlookAccountPasswordProvider, IReadOnlyList <string> availableCategories, IOptionTasks optionTasks, GeneralOptions generalOptions, IViewOptions viewOptions, OptionModelSessionData sessionData);