示例#1
0
        public GoogleServerSettingsViewModel(OptionsModel model, IOptionTasks optionTasks, IViewOptions viewOptions)
        {
            if (model == null)
            {
                throw new ArgumentNullException(nameof(model));
            }
            if (optionTasks == null)
            {
                throw new ArgumentNullException(nameof(optionTasks));
            }
            if (viewOptions == null)
            {
                throw new ArgumentNullException(nameof(viewOptions));
            }

            _model                  = model;
            _optionTasks            = optionTasks;
            ViewOptions             = viewOptions;
            _doAutoDiscoveryCommand = new DelegateCommandWithoutCanExecuteDelegation(_ => DoAutoDiscovery());
            _testConnectionCommand  = new DelegateCommandWithoutCanExecuteDelegation(_ =>
            {
                ComponentContainer.EnsureSynchronizationContext();
                TestConnectionAsync(CalenderUrl);
            });


            RegisterPropertyChangePropagation(_model, nameof(_model.CalenderUrl), nameof(CalenderUrl));
            RegisterPropertyChangePropagation(_model, nameof(_model.EmailAddress), nameof(EmailAddress));
            RegisterPropertyChangePropagation(_model, nameof(_model.UseGoogleNativeApi), nameof(UseGoogleNativeApi));
            RegisterPropertyChangePropagation(_model, nameof(_model.UseGoogleNativeApiAvailable), nameof(UseGoogleNativeApiAvailable));
        }
示例#2
0
        public EventMappingConfigurationViewModel(IReadOnlyList <string> availableCategories, ICurrentOptions currentOptions)
        {
            if (availableCategories == null)
            {
                throw new ArgumentNullException(nameof(availableCategories));
            }
            if (currentOptions == null)
            {
                throw new ArgumentNullException(nameof(currentOptions));
            }

            AvailableCategories           = availableCategories;
            _currentOptions               = currentOptions;
            SetServerCalendarColorCommand = new DelegateCommand(_ =>
            {
                ComponentContainer.EnsureSynchronizationContext();
                SetServerCalendarColorAsync();
            });
            GetServerCalendarColorCommand = new DelegateCommand(_ =>
            {
                ComponentContainer.EnsureSynchronizationContext();
                GetServerCalendarColorAsync();
            });

            _customPropertyMappingViewModel = new CustomPropertyMappingViewModel();
            Items = new[] { _customPropertyMappingViewModel };
        }
        public ServerSettingsViewModel(ISettingsFaultFinder settingsFaultFinder, ICurrentOptions currentOptions, IOutlookAccountPasswordProvider outlookAccountPasswordProvider)
        {
            if (settingsFaultFinder == null)
            {
                throw new ArgumentNullException(nameof(settingsFaultFinder));
            }
            if (currentOptions == null)
            {
                throw new ArgumentNullException(nameof(currentOptions));
            }

            _settingsFaultFinder            = settingsFaultFinder;
            _currentOptions                 = currentOptions;
            _outlookAccountPasswordProvider = outlookAccountPasswordProvider;

            _testConnectionCommand = new DelegateCommandWithoutCanExecuteDelegation(_ =>
            {
                ComponentContainer.EnsureSynchronizationContext();
                TestConnectionAsync();
            });
            _getAccountSettingsCommand = new DelegateCommandWithoutCanExecuteDelegation(_ =>
            {
                ComponentContainer.EnsureSynchronizationContext();
                GetAccountSettings();
            });
            _createDavResourceCommand = new DelegateCommandWithoutCanExecuteDelegation(_ =>
            {
                ComponentContainer.EnsureSynchronizationContext();
                CreateDavResource();
            });
        }
        public EventMappingConfigurationViewModel(IReadOnlyList <string> availableCategories, EventMappingConfigurationModel model, OptionsModel optionsModel)
        {
            if (availableCategories == null)
            {
                throw new ArgumentNullException(nameof(availableCategories));
            }
            if (model == null)
            {
                throw new ArgumentNullException(nameof(model));
            }
            if (optionsModel == null)
            {
                throw new ArgumentNullException(nameof(optionsModel));
            }

            AvailableCategories = availableCategories;
            _model        = model;
            _optionsModel = optionsModel;
            SetServerCalendarColorCommand = new DelegateCommand(_ =>
            {
                ComponentContainer.EnsureSynchronizationContext();
                SetServerCalendarColorAsync();
            });
            GetServerCalendarColorCommand = new DelegateCommand(_ =>
            {
                ComponentContainer.EnsureSynchronizationContext();
                GetServerCalendarColorAsync();
            });

            Items = new[] { new CustomPropertyMappingViewModel(model) };

            RegisterPropertyChangePropagation(_model, nameof(_model.OneTimeSetCategoryShortcutKey), nameof(OneTimeSetCategoryShortcutKey));
            RegisterPropertyChangePropagation(_model, nameof(_model.CreateEventsInUtc), nameof(CreateEventsInUtc));
            RegisterPropertyChangePropagation(_model, nameof(_model.UseIanaTz), nameof(UseIanaTz));
            RegisterPropertyChangePropagation(_model, nameof(_model.EventTz), nameof(EventTz));
            RegisterPropertyChangePropagation(_model, nameof(_model.IncludeHistoricalData), nameof(IncludeHistoricalData));
            RegisterPropertyChangePropagation(_model, nameof(_model.UseGlobalAppointmentId), nameof(UseGlobalAppointmentId));
            RegisterPropertyChangePropagation(_model, nameof(_model.EventCategory), nameof(EventCategory));
            RegisterPropertyChangePropagation(_model, nameof(_model.OneTimeSetEventCategoryColor), nameof(OneTimeSetEventCategoryColor));
            RegisterPropertyChangePropagation(_model, nameof(_model.IncludeEmptyEventCategoryFilter), nameof(IncludeEmptyEventCategoryFilter));
            RegisterPropertyChangePropagation(_model, nameof(_model.InvertEventCategoryFilter), nameof(InvertEventCategoryFilter));
            RegisterPropertyChangePropagation(_model, nameof(_model.MapAttendees), nameof(MapAttendees));
            RegisterPropertyChangePropagation(_model, nameof(_model.MapAttendees), nameof(MapAttendees));
            RegisterPropertyChangePropagation(_model, nameof(_model.MapBody), nameof(MapBody));
            RegisterPropertyChangePropagation(_model, nameof(_model.MapRtfBodyToXAltDesc), nameof(MapRtfBodyToXAltDesc));
            RegisterPropertyChangePropagation(_model, nameof(_model.MapXAltDescToRtfBody), nameof(MapXAltDescToRtfBody));
            RegisterPropertyChangePropagation(_model, nameof(_model.MapClassConfidentialToSensitivityPrivate), nameof(MapClassConfidentialToSensitivityPrivate));
            RegisterPropertyChangePropagation(_model, nameof(_model.MapClassConfidentialToSensitivityPrivate), nameof(MapClassConfidentialToSensitivityPrivate));
            RegisterPropertyChangePropagation(_model, nameof(_model.MapReminder), nameof(MapReminder));
            RegisterPropertyChangePropagation(_model, nameof(_model.MapSensitivityPrivateToClassConfidential), nameof(MapSensitivityPrivateToClassConfidential));
            RegisterPropertyChangePropagation(_model, nameof(_model.MapClassPublicToSensitivityPrivate), nameof(MapClassPublicToSensitivityPrivate));
            RegisterPropertyChangePropagation(_model, nameof(_model.ScheduleAgentClient), nameof(ScheduleAgentClient));
            RegisterPropertyChangePropagation(_model, nameof(_model.SendNoAppointmentNotifications), nameof(SendNoAppointmentNotifications));
            RegisterPropertyChangePropagation(_model, nameof(_model.DoOneTimeSetCategoryColor), nameof(DoOneTimeSetCategoryColor));
            RegisterPropertyChangePropagation(_model, nameof(_model.CleanupDuplicateEvents), nameof(CleanupDuplicateEvents));
            RegisterPropertyChangePropagation(_model, nameof(_model.MapEventColorToCategory), nameof(MapEventColorToCategory));
            RegisterPropertyChangePropagation(_model, nameof(_model.UseEventCategoryAsFilter), nameof(UseEventCategoryAsFilter));
            RegisterPropertyChangePropagation(_model, nameof(_model.UseEventCategoryAsFilterAndDoOneTimeSetCategoryColor), nameof(UseEventCategoryAsFilterAndDoOneTimeSetCategoryColor));
            RegisterPropertyChangePropagation(_model, nameof(_model.IsCategoryFilterSticky), nameof(IsCategoryFilterSticky));
        }
        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));
        }
示例#6
0
 private void TestConnectionButton_Click(object sender, EventArgs e)
 {
     try
     {
         ComponentContainer.EnsureSynchronizationContext();
         TestServerConnectionAsync();
     }
     catch (Exception x)
     {
         ExceptionHandler.Instance.DisplayException(x, s_logger);
     }
 }
示例#7
0
 private void SynchronizeNow()
 {
     try
     {
         ComponentContainer.EnsureSynchronizationContext();
         _calDavSynchronizerCommands.SynchronizeNowAsync();
     }
     catch (Exception x)
     {
         ExceptionHandler.Instance.DisplayException(x, s_logger);
     }
 }
 private void CheckForUpdatesButton_Click(object sender, EventArgs e)
 {
     try
     {
         ComponentContainer.EnsureSynchronizationContext();
         _checkForUpdatesActionAsync();
     }
     catch (Exception x)
     {
         ExceptionHandler.Instance.DisplayException(x, s_logger);
     }
 }
 private void CalendarColorSetButton_Click(object sender, EventArgs e)
 {
     try
     {
         ComponentContainer.EnsureSynchronizationContext();
         SetCalendarColor();
     }
     catch (Exception x)
     {
         ExceptionHandler.Instance.DisplayException(x, s_logger);
     }
 }
        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));
        }
        private void DoAutoDiscovery()
        {
            if (_serverAdapterType == ServerAdapterType.GoogleTaskApi)
            {
                CalenderUrl = string.Empty;
            }
            else
            {
                CalenderUrl = OptionTasks.GoogleDavBaseUrl;
            }

            ComponentContainer.EnsureSynchronizationContext();
            TestConnectionAsync();
        }
示例#12
0
        private void DoAutoDiscovery()
        {
            string testUrl;

            if (_model.SelectedFolderOrNull?.DefaultItemType == OlItemType.olTaskItem)
            {
                testUrl = string.Empty;
            }
            else
            {
                testUrl = OptionTasks.GoogleDavBaseUrl;
            }

            ComponentContainer.EnsureSynchronizationContext();
            TestConnectionAsync(testUrl);
        }
        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;
        }
示例#14
0
        public ServerSettingsViewModel(OptionsModel model, IOptionTasks optionTasks, IViewOptions viewOptions)
        {
            if (model == null)
            {
                throw new ArgumentNullException(nameof(model));
            }
            if (optionTasks == null)
            {
                throw new ArgumentNullException(nameof(optionTasks));
            }
            if (viewOptions == null)
            {
                throw new ArgumentNullException(nameof(viewOptions));
            }

            _model = model;

            _optionTasks = optionTasks;
            ViewOptions  = viewOptions;

            _testConnectionCommand = new DelegateCommandWithoutCanExecuteDelegation(_ =>
            {
                ComponentContainer.EnsureSynchronizationContext();
                TestConnectionAsync();
            });
            _getAccountSettingsCommand = new DelegateCommandWithoutCanExecuteDelegation(_ =>
            {
                ComponentContainer.EnsureSynchronizationContext();
                _model.AutoFillAccountSettings();
            });
            _createDavResourceCommand = new DelegateCommandWithoutCanExecuteDelegation(_ =>
            {
                ComponentContainer.EnsureSynchronizationContext();
                CreateDavResource();
            });

            RegisterPropertyChangePropagation(_model, nameof(_model.CalenderUrl), nameof(CalenderUrl));
            RegisterPropertyChangePropagation(_model, nameof(_model.UserName), nameof(UserName));
            RegisterPropertyChangePropagation(_model, nameof(_model.Password), nameof(Password));
            RegisterPropertyChangePropagation(_model, nameof(_model.EmailAddress), nameof(EmailAddress));
            RegisterPropertyChangePropagation(_model, nameof(_model.UseAccountPassword), nameof(UseAccountPassword));
            RegisterPropertyChangePropagation(_model, nameof(_model.UseWebDavCollectionSync), nameof(UseWebDavCollectionSync));
        }
        public ServerSettingsViewModel(ISettingsFaultFinder settingsFaultFinder, ICurrentOptions currentOptions)
        {
            if (settingsFaultFinder == null)
            {
                throw new ArgumentNullException(nameof(settingsFaultFinder));
            }
            if (currentOptions == null)
            {
                throw new ArgumentNullException(nameof(currentOptions));
            }

            _settingsFaultFinder   = settingsFaultFinder;
            _currentOptions        = currentOptions;
            _testConnectionCommand = new DelegateCommandWithoutCanExecuteDelegation(_ =>
            {
                ComponentContainer.EnsureSynchronizationContext();
                TestConnectionAsync();
            });
        }
示例#16
0
 private void DoAutodiscoveryButton_Click(object sender, EventArgs e)
 {
     try
     {
         ComponentContainer.EnsureSynchronizationContext();
         if (_serverAdapterType == ServerAdapterType.GoogleTaskApi)
         {
             _calenderUrlTextBox.Text = string.Empty;
         }
         else
         {
             _calenderUrlTextBox.Text = OptionTasks.GoogleDavBaseUrl;
         }
         TestServerConnectionAsync();
     }
     catch (Exception x)
     {
         ExceptionHandler.Instance.DisplayException(x, s_logger);
     }
 }
示例#17
0
        public GoogleServerSettingsViewModel(ISettingsFaultFinder settingsFaultFinder, ICurrentOptions currentOptions)
        {
            if (settingsFaultFinder == null)
            {
                throw new ArgumentNullException(nameof(settingsFaultFinder));
            }
            if (currentOptions == null)
            {
                throw new ArgumentNullException(nameof(currentOptions));
            }

            _settingsFaultFinder = settingsFaultFinder;
            _currentOptions      = currentOptions;
            _currentOptions.OutlookFolderTypeChanged += CurrentOptions_OutlookFolderTypeChanged;
            _doAutoDiscoveryCommand = new DelegateCommandWithoutCanExecuteDelegation(_ => DoAutoDiscovery());
            _testConnectionCommand  = new DelegateCommandWithoutCanExecuteDelegation(_ =>
            {
                ComponentContainer.EnsureSynchronizationContext();
                TestConnectionAsync(CalenderUrl);
            });
        }
示例#18
0
 public void DiplayBEntity(Guid synchronizationProfileId, string entityId)
 {
     ComponentContainer.EnsureSynchronizationContext();
     _parent.DiplayBEntityAsync(synchronizationProfileId, entityId);
 }