Esempio n. 1
0
        public MyIssuesViewModel(ISessionService sessionService)
            : base(sessionService)
        {
            _sessionService = sessionService;

            Title  = "My Issues";
            Filter = MyIssuesFilterModel.CreateOpenFilter();

            _selectedFilter = this.WhenAnyValue(x => x.Filter)
                              .Select(x =>
            {
                if (x == null || _openFilter.Equals(x))
                {
                    return(0);
                }
                return(_closedFilter.Equals(x) ? 1 : -1);
            })
                              .ToProperty(this, x => x.SelectedFilter);

            this.WhenAnyValue(x => x.Filter).Skip(1).Subscribe(filter => {
                IssuesBacking.Clear();
                LoadCommand.ExecuteIfCan();
                CustomFilterEnabled = !(filter == _closedFilter || filter == _openFilter);
            });

            GoToFilterCommand = ReactiveCommand.Create();
            GoToFilterCommand.Subscribe(_ => {
                var vm = this.CreateViewModel <MyIssuesFilterViewModel>();
                vm.Init(Filter);
                vm.SaveCommand.Subscribe(filter => Filter = filter);
                NavigateTo(vm);
            });
        }
Esempio n. 2
0
        public IssuesViewModel(ISessionService sessionService)
            : base(sessionService)
        {
            _sessionService = sessionService;
            Filter          = new IssuesFilterModel();

            Title = "Issues";

            GoToNewIssueCommand = ReactiveCommand.Create();
            GoToNewIssueCommand.Subscribe(_ => {
                var vm             = this.CreateViewModel <IssueAddViewModel>();
                vm.RepositoryOwner = RepositoryOwner;
                vm.RepositoryName  = RepositoryName;
                vm.SaveCommand.Subscribe(x => LoadCommand.ExecuteIfCan());
                NavigateTo(vm);
            });

            this.WhenAnyValue(x => x.Filter).Skip(1).Subscribe(filter => {
                IssuesBacking.Clear();
                LoadCommand.ExecuteIfCan();
                //CustomFilterEnabled = !(filter == _closedFilter || filter == _openFilter);
            });

            GoToFilterCommand = ReactiveCommand.Create();
            GoToFilterCommand.Subscribe(_ => {
                var vm = this.CreateViewModel <RepositoryIssuesFilterViewModel>();
                vm.Init(RepositoryOwner, RepositoryName, Filter);
                vm.SaveCommand.Subscribe(filter => {
                    Filter          = filter;
                    FilterSelection = IssueFilterSelection.Custom;
                });
                NavigateTo(vm);
            });
        }
Esempio n. 3
0
        public IssuesViewModel(IApplicationService applicationService)
        {
            _applicationService = applicationService;
            _mineFilter         = IssuesFilterModel.CreateMineFilter(applicationService.Account.Username);

            Filter = _openFilter;
            Title  = "Issues";

            _filterSelection = this.WhenAnyValue(x => x.Filter)
                               .Select(x =>
            {
                if (x == null || _openFilter.Equals(x))
                {
                    return(IssueFilterSelection.Open);
                }
                if (_closedFilter.Equals(x))
                {
                    return(IssueFilterSelection.Closed);
                }
                if (_mineFilter.Equals(x))
                {
                    return(IssueFilterSelection.Mine);
                }
                return(IssueFilterSelection.Custom);
            })
                               .ToProperty(this, x => x.FilterSelection);

            GoToNewIssueCommand = ReactiveCommand.Create();
            GoToNewIssueCommand.Subscribe(_ =>
            {
                var vm             = this.CreateViewModel <IssueAddViewModel>();
                vm.RepositoryOwner = RepositoryOwner;
                vm.RepositoryName  = RepositoryName;
                vm.CreatedIssue.IsNotNull().Subscribe(IssuesBacking.Add);
                NavigateTo(vm);
            });

            this.WhenAnyValue(x => x.Filter).Skip(1).Subscribe(_ =>
            {
                IssuesBacking.Clear();
                LoadCommand.ExecuteIfCan();
            });

            GoToCustomFilterCommand = ReactiveCommand.Create();
        }
Esempio n. 4
0
        public MyIssuesViewModel(IApplicationService applicationService)
        {
            _applicationService = applicationService;

            Title  = "My Issues";
            Filter = MyIssuesFilterModel.CreateOpenFilter();

            _selectedFilter = this.WhenAnyValue(x => x.Filter)
                              .Select(x =>
            {
                if (x == null || _openFilter.Equals(x))
                {
                    return(0);
                }
                return(_closedFilter.Equals(x) ? 1 : -1);
            })
                              .ToProperty(this, x => x.SelectedFilter);

            this.WhenAnyValue(x => x.Filter).Skip(1).Subscribe(_ =>
            {
                IssuesBacking.Clear();
                LoadCommand.ExecuteIfCan();
            });
        }