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)); }
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 TaskMappingConfigurationViewModel(IReadOnlyList <string> availableCategories, TaskMappingConfigurationModel model, IViewOptions viewOptions) { if (availableCategories == null) { throw new ArgumentNullException(nameof(availableCategories)); } if (viewOptions == null) { throw new ArgumentNullException(nameof(viewOptions)); } AvailableCategories = availableCategories; _model = model; ViewOptions = viewOptions; _customPropertyMappingViewModel = new CustomPropertyMappingViewModel(model); Items = new[] { _customPropertyMappingViewModel }; RegisterPropertyChangePropagation(_model, nameof(_model.MapBody), nameof(MapBody)); RegisterPropertyChangePropagation(_model, nameof(_model.MapPriority), nameof(MapPriority)); RegisterPropertyChangePropagation(_model, nameof(_model.MapRecurringTasks), nameof(MapRecurringTasks)); RegisterPropertyChangePropagation(_model, nameof(_model.MapReminder), nameof(MapReminder)); RegisterPropertyChangePropagation(_model, nameof(_model.TaskCategory), nameof(TaskCategory)); RegisterPropertyChangePropagation(_model, nameof(_model.UseTaskCategoryAsFilter), nameof(UseTaskCategoryAsFilter)); RegisterPropertyChangePropagation(_model, nameof(_model.IncludeEmptyTaskCategoryFilter), nameof(IncludeEmptyTaskCategoryFilter)); RegisterPropertyChangePropagation(_model, nameof(_model.InvertTaskCategoryFilter), nameof(InvertTaskCategoryFilter)); 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)); }
public TemplateState(IViewOptions viewOptions, TModel model) { _model = model; _viewOptions = viewOptions; _formatter = viewOptions.Formatter; _currentFrame = new Frame(); _frameStack = new Stack <Frame>(); }
public OptionsCollectionViewModel( bool expandAllSyncProfiles, Func <Guid, string> profileDataDirectoryFactory, IUiService uiService, IOptionTasks optionTasks, IProfileTypeRegistry profileTypeRegistry, Func <IOptionsViewModelParent, IProfileType, IProfileModelFactory> profileModelFactoryFactory, IViewOptions viewOptions) { _optionTasks = optionTasks; ViewOptions = viewOptions; _profileDataDirectoryFactory = profileDataDirectoryFactory; _uiService = uiService; if (profileDataDirectoryFactory == null) { throw new ArgumentNullException(nameof(profileDataDirectoryFactory)); } if (optionTasks == null) { throw new ArgumentNullException(nameof(optionTasks)); } if (viewOptions == null) { throw new ArgumentNullException(nameof(viewOptions)); } _expandAllSyncProfiles = expandAllSyncProfiles; _profileTypeRegistry = profileTypeRegistry; _profileModelFactoriesByType = profileTypeRegistry.AllTypes.ToDictionary(t => t, t => profileModelFactoryFactory(this, t)); RegisterPropertyChangeHandler(viewOptions, nameof(viewOptions.IsAdvancedViewEnabled), () => { if (!viewOptions.IsAdvancedViewEnabled) { OnAdvancedViewDisabled(); } }); AddCommand = new DelegateCommand(_ => Add()); AddMultipleCommand = new DelegateCommand(_ => AddMultiple()); CloseCommand = new DelegateCommand(shouldSaveNewOptions => Close((bool)shouldSaveNewOptions)); DeleteSelectedCommand = new DelegateCommandHandlingRequerySuggested(_ => DeleteSelected(), _ => CanDeleteSelected); ClearCacheOfSelectedCommand = new DelegateCommandHandlingRequerySuggested(_ => ClearCacheOfSelected(), _ => CanClearCacheOfSelected); CopySelectedCommand = new DelegateCommandHandlingRequerySuggested(_ => CopySelected(), _ => CanCopySelected); MoveSelectedUpCommand = new DelegateCommandHandlingRequerySuggested(_ => MoveSelectedUp(), _ => CanMoveSelectedUp); MoveSelectedDownCommand = new DelegateCommandHandlingRequerySuggested(_ => MoveSelectedDown(), _ => CanMoveSelectedDown); OpenProfileDataDirectoryCommand = new DelegateCommandHandlingRequerySuggested(_ => OpenProfileDataDirectory(), _ => CanOpenProfileDataDirectory); ExpandAllCommand = new DelegateCommandHandlingRequerySuggested(_ => ExpandAll(), _ => _options.Count > 0); CollapseAllCommand = new DelegateCommandHandlingRequerySuggested(_ => CollapseAll(), _ => _options.Count > 0); ExportAllCommand = new DelegateCommandHandlingRequerySuggested(_ => ExportAll(), _ => _options.Count > 0); ImportCommand = new DelegateCommandHandlingRequerySuggested(_ => Import(), _ => true); }
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 string View(IViewOptions viewOptions, TModel model) { var state = new TemplateState <TModel>(viewOptions, model); try { var result = View(state); return(result?.ToString()); } catch (Exception e) { throw new Exception($"Error during template processing:{e.Message}. After producing:{state.GetClue()}", e); } }
public void UpdateLayout(ILayoutDesigner designer, IViewOptions viewOptions) { var projects = new List <ProjectLayout>(); var projectGroups = Map.Epics.Where(e => ApplyFilter(e, viewOptions)).GroupBy(e => e.Epic.Project).OrderBy(p => p.Key); int row = 1; foreach (var projectGroup in projectGroups) { var projectLayout = ProjectLayout.Create(projectGroup.Key, projectGroup, row + 1, designer); projects.Add(projectLayout); row = projectLayout.LastRowIndex; } Projects = projects; OnLayoutUpdate?.Invoke(); }
private bool ApplyFilter(EpicMetadata epic, IViewOptions viewOptions) { if (!viewOptions.ShowUnplanned && !epic.Epic.StartDate.HasValue && !epic.Epic.DueDate.HasValue) { return(false); } if (!viewOptions.ShowClosed && string.Equals(epic.Epic.StatusCategory, "done", StringComparison.OrdinalIgnoreCase)) { return(false); } if (viewOptions.SelectedProjects.Any() && !viewOptions.SelectedProjects.Contains(epic.Epic.Project.ToLowerInvariant())) { return(false); } return(true); }
protected OptionsViewModelBase(IViewOptions options, OptionsModel model) { if (options == null) { throw new ArgumentNullException(nameof(options)); } if (model == null) { throw new ArgumentNullException(nameof(model)); } ViewOptions = options; _model = model; RegisterPropertyChangePropagation(_model, nameof(_model.Name), nameof(Name)); RegisterPropertyChangePropagation(_model, nameof(_model.IsActive), nameof(IsActive)); }
public static void UpdatePaging(this IPageableModel model, IViewOptions options, IViewResult result) { int count = result.Rows.Count(); var limit = options.Limit.HasValue ? options.Limit.Value : 10; model.Limit = limit; int rowsMinusOffset = (result.TotalRows - result.OffSet); model.ShowPrev = result.OffSet != 0 && !(model.Descending && (rowsMinusOffset <= count)); model.ShowNext = (result.TotalRows > options.Limit + result.OffSet) || options.Descending.GetValueOrDefault(); string skipPrev = result.OffSet < limit ? "" : "&skip=1"; string skipNext = rowsMinusOffset < limit ? "" : "&skip=1"; JToken lastRow; JToken firstRow; if (options.Descending.HasValue && options.Descending.Value) { //descending lastRow = result.Rows.FirstOrDefault(); firstRow = result.Rows.LastOrDefault(); model.StartIndex = (rowsMinusOffset - limit) < 1 ? 1 : (rowsMinusOffset - limit + 1); } else { //ascending lastRow = result.Rows.LastOrDefault(); firstRow = result.Rows.FirstOrDefault(); model.StartIndex = result.OffSet + 1; } var startIndexPlusCount = model.StartIndex + count - 1; model.EndIndex = result.TotalRows == 0 ? 0 : startIndexPlusCount; if (count == 0) { model.EndIndex = model.StartIndex = 0; } model.TotalRows = result.TotalRows; string prevStartKey = firstRow != null ? "&startkey=" + HttpUtility.UrlEncode(firstRow.Value <string>("key")) + "&StartKeyDocId=" + firstRow.Value <string>("id") : ""; string nextStartKey = lastRow != null ? "&startkey=" + HttpUtility.UrlEncode(lastRow.Value <string>("key")) + "&StartKeyDocId=" + lastRow.Value <string>("id") : ""; model.NextUrlParameters = "?limit=" + model.Limit + nextStartKey + skipNext; model.PrevUrlParameters = "?limit=" + model.Limit + prevStartKey + skipPrev + "&descending=true"; }
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 TimeRangeViewModel(OptionsModel model, IViewOptions viewOptions) { if (model == null) { throw new ArgumentNullException(nameof(model)); } if (viewOptions == null) { throw new ArgumentNullException(nameof(viewOptions)); } _model = model; ViewOptions = viewOptions; RegisterPropertyChangePropagation(_model, nameof(_model.UseSynchronizationTimeRange), nameof(UseSynchronizationTimeRange)); RegisterPropertyChangePropagation(_model, nameof(_model.DaysToSynchronizeInThePast), nameof(DaysToSynchronizeInThePast)); RegisterPropertyChangePropagation(_model, nameof(_model.DaysToSynchronizeInTheFuture), nameof(DaysToSynchronizeInTheFuture)); }
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 IEnumerable<JToken> GetDocs(string viewName, IViewOptions options) { // We are only interested in viewNames "broadcastMessages" and "directedMessages" // options always has IncludeDocs=true and either: // Keys = list of keys to get, each all [topic, couchId] or all [topic, destination, couchId] respectively. Or // StartKey = [topic, couchId] or [topic, destination, couchId] and EndKey = [topic, maxvalue] or [topic, destination, maxvalue] respectively // Extract topic and possibly destination from here JArray filterArray; string startId = null; HashSet<string> keySet = null; if (options.StartKey.HasValues) { filterArray = JArray.Parse(HttpUtility.UrlDecode(options.StartKey.ToString())); startId = (string) filterArray.Last; } else { var keyArray = options.Keys.Select(key => JArray.Parse(HttpUtility.UrlDecode(key.ToString()))).ToList(); // Empty array of keys for some reason if (!options.Keys.Any()) return Enumerable.Empty<JToken>(); filterArray = keyArray[0]; keySet = new HashSet<string>(keyArray.Select(key => (string) key.Last)); } string topic = (string) filterArray[0]; // Find the docs matching topic and possibly destination IEnumerable<DocInfo> filteredDocInfos; if (viewName == "broadcastMessages") { filteredDocInfos = _docInfos.Where(di => di.Topic == topic && di.Destination == null); } else if (viewName == "directedMessages") { string destination = (string) filterArray[1]; filteredDocInfos = _docInfos.Where(di => di.Topic == topic && di.Destination == destination); } else { throw new Exception(string.Format("MockStore.GetDocs: View name {0} is not implemented.", viewName)); } // Return either those on or after startId, or in keySet if (startId != null) { filteredDocInfos = filteredDocInfos.Where(di => String.Compare(di.DocId, startId, StringComparison.InvariantCulture) >= 0); } else { filteredDocInfos = filteredDocInfos.Where(di => keySet.Contains(di.DocId)); } return filteredDocInfos.OrderBy(di => di.DocId).Select(di => _docs[di.DocId]); }
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 SyncSettingsViewModel(OptionsModel model, IViewOptions viewOptions) { if (model == null) { throw new ArgumentNullException(nameof(model)); } if (viewOptions == null) { throw new ArgumentNullException(nameof(viewOptions)); } _model = model; ViewOptions = viewOptions; RegisterPropertyChangePropagation(_model, nameof(_model.Resolution), nameof(Resolution)); RegisterPropertyChangePropagation(_model, nameof(_model.SynchronizationIntervalInMinutes), nameof(SynchronizationIntervalInMinutes)); RegisterPropertyChangePropagation(_model, nameof(_model.ChunkSize), nameof(ChunkSize)); RegisterPropertyChangePropagation(_model, nameof(_model.IsChunkedSynchronizationEnabled), nameof(IsChunkedSynchronizationEnabled)); RegisterPropertyChangePropagation(_model, nameof(_model.SynchronizationMode), nameof(SynchronizationMode)); RegisterPropertyChangePropagation(_model, nameof(_model.SynchronizationMode), nameof(ConflictResolutionAvailable)); }
public OutlookFolderViewModel(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; ModelOptions = model.ModelFactory.ModelOptions; RegisterPropertyChangePropagation(_model, nameof(_model.EnableChangeTriggeredSynchronization), nameof(EnableChangeTriggeredSynchronization)); RegisterPropertyChangePropagation(_model, nameof(_model.SelectedFolderOrNull), nameof(SelectedFolderName)); SelectFolderCommand = new DelegateCommand(_ => SelectFolder()); }
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 SwisscomServerSettingsViewModel(OptionsModel model, IOptionTasks optionTasks, IViewOptions viewOptions) : base(model, optionTasks, viewOptions) { }
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 IProfileModelFactory CreateModelFactory(IOptionsViewModelParent optionsViewModelParent, IOutlookAccountPasswordProvider outlookAccountPasswordProvider, IReadOnlyList <string> availableCategories, IOptionTasks optionTasks, ISettingsFaultFinder settingsFaultFinder, GeneralOptions generalOptions, IViewOptions viewOptions, OptionModelSessionData sessionData) { return(this); }
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 Task <IViewResult> ViewQuery <T>(string statement, IViewOptions options) { throw new NotImplementedException(); }
public IEnumerable<JToken> GetDocs(string viewName, IViewOptions options) { // TODO: check out whether LoveSeat can be improved to use IViewOptions for the second parameter type return _db.View(viewName, (ViewOptions) options, DesignDoc).Rows; }
public string View(IViewOptions viewOptions, object model) { return(View(viewOptions, (TModel)model)); }
public abstract IProfileModelFactory CreateModelFactory(IOptionsViewModelParent optionsViewModelParent, IOutlookAccountPasswordProvider outlookAccountPasswordProvider, IReadOnlyList <string> availableCategories, IOptionTasks optionTasks, GeneralOptions generalOptions, IViewOptions viewOptions, OptionModelSessionData sessionData);
public static void UpdatePaging(this IPageableModel model, IViewOptions options, IViewResult result) { int count = result.Rows.Count(); var limit = options.Limit.HasValue ? options.Limit.Value : 10 ; model.Limit = limit; int rowsMinusOffset = (result.TotalRows - result.OffSet); model.ShowPrev = result.OffSet != 0 && !(model.Descending && (rowsMinusOffset <= count)); model.ShowNext = (result.TotalRows > options.Limit + result.OffSet) || options.Descending.GetValueOrDefault(); string skipPrev = result.OffSet < limit ? "" : "&skip=1"; string skipNext = rowsMinusOffset < limit ? "" : "&skip=1"; JToken lastRow; JToken firstRow; if (options.Descending.HasValue && options.Descending.Value) { //descending lastRow = result.Rows.FirstOrDefault(); firstRow = result.Rows.LastOrDefault(); model.StartIndex = (rowsMinusOffset - limit) < 1 ? 1 : (rowsMinusOffset - limit+1); }else { //ascending lastRow = result.Rows.LastOrDefault(); firstRow = result.Rows.FirstOrDefault(); model.StartIndex = result.OffSet + 1; } var startIndexPlusCount = model.StartIndex + count-1; model.EndIndex =result.TotalRows == 0 ? 0 : startIndexPlusCount; if (count == 0 ) model.EndIndex = model.StartIndex = 0; model.TotalRows = result.TotalRows; string prevStartKey = firstRow != null ? "&startkey=" + HttpUtility.UrlEncode(firstRow.Value<string>("key")) + "&StartKeyDocId=" + firstRow.Value<string>("id") : ""; string nextStartKey = lastRow != null ? "&startkey=" + HttpUtility.UrlEncode(lastRow.Value<string>("key") ) + "&StartKeyDocId="+ lastRow.Value<string>("id") : ""; model.NextUrlParameters = "?limit=" + model.Limit + nextStartKey + skipNext ; model.PrevUrlParameters = "?limit=" + model.Limit + prevStartKey + skipPrev + "&descending=true"; }