예제 #1
0
파일: Program.cs 프로젝트: twpol/toggl-cli
        static async Task Projects(ProjectsOptions options)
        {
            var query = GetQuery(options);

            foreach (var workspace in await query.GetWorkspaces())
            {
                Console.WriteLine($"* {workspace.name} ({workspace.id})");
                foreach (var project in await query.GetProjects(workspace))
                {
                    Console.WriteLine($"  * {project.name} ({project.id})");
                }
            }
        }
예제 #2
0
        public async Task RevertSettings()
        {
            // If we haven't fully loaded and the user cancels the dialog,
            // _unmodifiedSettings will be null so abort.
            if (_unmodifiedSettings == null)
            {
                return;
            }

            // Reverts properties to the values saved in _unmodifiedSettings.  This
            // is used to cancel changes or to set the properties' initial values.

            // Unsubscribe from solution events on the old solution.
            var oldSolutionVm = ProjectsOptions?.FirstOrDefault();

            if (oldSolutionVm != null)
            {
                oldSolutionVm.PropertyChanging -= SolutionProjectOptionsVmOnPropertyChanging;
                oldSolutionVm.LocationDescriptorForViewModel.PropertyChanging -= LocationDescriptorOnPropertyChanging;
                oldSolutionVm.LocationDescriptorForView.PropertyChanging      -= LocationDescriptorOnPropertyChanging;

                oldSolutionVm.PropertyChanged -= SolutionProjectOptionsVmOnPropertyChanged;
                oldSolutionVm.LocationDescriptorForViewModel.PropertyChanged -= LocationDescriptorForViewModelOnPropertyChanged;
                oldSolutionVm.LocationDescriptorForView.PropertyChanged      -= LocationDescriptorForViewOnPropertyChanged;
            }

            SelectedGoToViewOrViewModelOption = _unmodifiedSettings.GoToViewOrViewModelOption;
            GoToViewOrViewModelSearchSolution = _unmodifiedSettings.GoToViewOrViewModelSearchSolution;
            ViewSuffixes        = new ObservableCollection <StringViewModel>(_unmodifiedSettings.ViewSuffixes.Select(s => StringViewModel.CreateFromString(Kernel, s)));
            LocalTemplateFolder = _unmodifiedSettings.LocalTemplateFolder;

            // Add solution and other projects.
            var tmp = new List <ProjectOptionsUserControlViewModel>();

            if (_unmodifiedSettings.SolutionOptions != null)
            {
                // Create global vm defaults using the global defaults.
                var solutiondefaultProjectOptionsVm = await CreateProjectOptionsUserControlViewModel(SettingsService.SolutionDefaultProjectOptions, null, false);

                // Use the global defaults in the solution vm.
                var solutionProjectOptionsVm = await CreateProjectOptionsUserControlViewModel(_unmodifiedSettings.SolutionOptions, solutiondefaultProjectOptionsVm, false);

                tmp.Add(solutionProjectOptionsVm);

                // Subscribe to solution PropertyChanging and PropertyChanged events so we can
                // pass them down to the projects.
                solutionProjectOptionsVm.PropertyChanging += SolutionProjectOptionsVmOnPropertyChanging;
                solutionProjectOptionsVm.LocationDescriptorForViewModel.PropertyChanging += LocationDescriptorOnPropertyChanging;
                solutionProjectOptionsVm.LocationDescriptorForView.PropertyChanging      += LocationDescriptorOnPropertyChanging;

                solutionProjectOptionsVm.PropertyChanged += SolutionProjectOptionsVmOnPropertyChanged;
                solutionProjectOptionsVm.LocationDescriptorForViewModel.PropertyChanged += LocationDescriptorForViewModelOnPropertyChanged;
                solutionProjectOptionsVm.LocationDescriptorForView.PropertyChanged      += LocationDescriptorForViewOnPropertyChanged;

                // Use the solution vm as the inherited for all the projects.
                foreach (var po in _unmodifiedSettings.ProjectOptions)
                {
                    tmp.Add(await CreateProjectOptionsUserControlViewModel(po, solutionProjectOptionsVm, true));
                }
            }
            ProjectsOptions = tmp;

            ResetAllToInheritedCommand.RaiseCanExecuteChanged();
        }