public bool SetFolder(OutlookFolderDescriptor folderDescriptor)
        {
            if (folderDescriptor.DefaultItemType != OlItemType.olAppointmentItem && folderDescriptor.DefaultItemType != OlItemType.olTaskItem && folderDescriptor.DefaultItemType != OlItemType.olContactItem)
            {
                return(false);
            }

            SelectedFolderOrNull = folderDescriptor;

            FolderAccountName = _selectedFolderOrNull != null
                ? _optionTasks.GetFolderAccountNameOrNull(_selectedFolderOrNull.StoreId)
                : null;

            if (!UseWebDavCollectionSync)
            {
                UseSynchronizationTimeRange = folderDescriptor.DefaultItemType != OlItemType.olContactItem;
            }
            else
            {
                if (folderDescriptor.DefaultItemType == OlItemType.olTaskItem)
                {
                    UseWebDavCollectionSync = false;
                }
            }
            CoerceMappingConfiguration();

            return(true);
        }
        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));
        }
        private void SelectFolder()
        {
            var folder = _optionTasks.PickFolderOrNull();

            if (folder != null && folder.DefaultItemType == OlItemType.olAppointmentItem)
            {
                _selectedFolder    = folder;
                SelectedFolderName = folder.Name;
            }
            else
            {
                MessageBox.Show(
                    "You need to choose a calendar folder to merge the EasyProject resources!",
                    ComponentContainer.MessageBoxTitle,
                    MessageBoxButton.OK,
                    MessageBoxImage.Error);
            }
        }
 private void InitializeFolder(Contracts.Options data)
 {
     if (!string.IsNullOrEmpty(data.OutlookFolderEntryId) && !string.IsNullOrEmpty(data.OutlookFolderStoreId))
     {
         try
         {
             _selectedFolderOrNull = _optionTasks.GetFolderFromId(data.OutlookFolderEntryId, data.OutlookFolderStoreId);
         }
         catch (System.Exception x)
         {
             s_logger.Error(null, x);
             _selectedFolderOrNull = null;
         }
     }
     else
     {
         _selectedFolderOrNull = null;
     }
 }
Пример #5
0
        public bool SetFolder(OutlookFolderDescriptor folderDescriptor)
        {
            if (folderDescriptor.DefaultItemType != OlItemType.olAppointmentItem && folderDescriptor.DefaultItemType != OlItemType.olTaskItem && folderDescriptor.DefaultItemType != OlItemType.olContactItem)
            {
                return(false);
            }

            SelectedFolderOrNull = folderDescriptor;

            FolderAccountName = _selectedFolderOrNull != null
         ? _optionTasks.GetFolderAccountNameOrNull(_selectedFolderOrNull.StoreId)
         : null;

            _faultFinder.FixTimeRangeUsage(this, folderDescriptor.DefaultItemType);

            CoerceMappingConfiguration();

            return(true);
        }