public override void ViewWillAppear(bool animated) { base.ViewWillAppear(animated); if (ToolbarItems != null) { NavigationController.SetToolbarHidden(false, animated); } //Before we select which one, make sure we detach the event handler or silly things will happen _viewSegment.ValueChanged -= SegmentValueChanged; var application = Mvx.Resolve <IApplicationService>(); //Select which one is currently selected if (ViewModel.Issues.Filter.Equals(IssuesFilterModel.CreateAllFilter())) { _viewSegment.SelectedSegment = 0; } else if (ViewModel.Issues.Filter.Equals(IssuesFilterModel.CreateOpenFilter())) { _viewSegment.SelectedSegment = 1; } else if (ViewModel.Issues.Filter.Equals(IssuesFilterModel.CreateMineFilter(application.Account.Username))) { _viewSegment.SelectedSegment = 2; } else { _viewSegment.SelectedSegment = 3; } _viewSegment.ValueChanged += SegmentValueChanged; }
void SegmentValueChanged(object sender, EventArgs e) { var application = Mvx.Resolve <IApplicationService>(); // If there is searching going on. Finish it. FinishSearch(); if (_viewSegment.SelectedSegment == 0) { ViewModel.Issues.ApplyFilter(IssuesFilterModel.CreateOpenFilter(), true); } else if (_viewSegment.SelectedSegment == 1) { ViewModel.Issues.ApplyFilter(IssuesFilterModel.CreateClosedFilter(), true); } else if (_viewSegment.SelectedSegment == 2) { ViewModel.Issues.ApplyFilter(IssuesFilterModel.CreateMineFilter(application.Account.Username), true); } else if (_viewSegment.SelectedSegment == 3) { var filter = new IssuesFilterViewController(ViewModel.Username, ViewModel.Repository, ViewModel.Issues); var nav = new UINavigationController(filter); PresentViewController(nav, true, null); } }
public IssuesViewModel( string username, string repository, IApplicationService applicationService = null, IMessageService messageService = null) { Username = username; Repository = repository; applicationService = applicationService ?? Locator.Current.GetService <IApplicationService>(); messageService = messageService ?? Locator.Current.GetService <IMessageService>(); var currentUser = applicationService.Account.Username; GoToNewIssueCommand .Select(_ => new IssueAddViewModel(username, repository)) .Subscribe(NavigateTo); Title = "Issues"; this.WhenAnyValue(x => x.SelectedFilter) .Subscribe(x => { if (x == 0) { Filter = IssuesFilterModel.CreateOpenFilter(); } else if (x == 1) { Filter = IssuesFilterModel.CreateMineFilter(currentUser); } else if (x == 2) { Filter = IssuesFilterModel.CreateAllFilter(); } }); this.WhenAnyValue(x => x.Filter) .Select(x => new IssueListViewModel(username, repository, x)) .Do(x => x.LoadMoreCommand.ExecuteNow()) .Subscribe(x => Issues = x); this.WhenAnyValue(x => x.Issues) .Select(x => x.IssueSelected) .Switch() .Select(x => new IssueViewModel(username, repository, x)) .Subscribe(NavigateTo); }
void SegmentValueChanged(object sender, EventArgs e) { var application = Mvx.Resolve <IApplicationService>(); if (_viewSegment.SelectedSegment == 0) { ViewModel.Issues.ApplyFilter(IssuesFilterModel.CreateAllFilter(), true); } else if (_viewSegment.SelectedSegment == 1) { ViewModel.Issues.ApplyFilter(IssuesFilterModel.CreateOpenFilter(), true); } else if (_viewSegment.SelectedSegment == 2) { ViewModel.Issues.ApplyFilter(IssuesFilterModel.CreateMineFilter(application.Account.Username), true); } else if (_viewSegment.SelectedSegment == 3) { ViewModel.GoToFiltersCommand.Execute(null); } }
void SegmentValueChanged(object sender, EventArgs e) { if (_viewSegment.SelectedSegment == 0) { ViewModel.Issues.ApplyFilter(IssuesFilterModel.CreateOpenFilter(), true); } else if (_viewSegment.SelectedSegment == 1) { ViewModel.Issues.ApplyFilter(IssuesFilterModel.CreateClosedFilter(), true); } else if (_viewSegment.SelectedSegment == 2) { ViewModel.Issues.ApplyFilter(IssuesFilterModel.CreateMineFilter(Application.Account.Username), true); } else if (_viewSegment.SelectedSegment == 3) { var filter = new IssuesFilterViewController(ViewModel.User, ViewModel.Slug, ViewModel.Issues); var nav = new UINavigationController(filter); PresentViewController(nav, true, null); } }
void SegmentValueChanged(object sender, EventArgs e) { // If there is searching going on. Finish it. //FinishSearch(); if (_viewSegment.SelectedSegment == 0) { ViewModel.Filter = IssuesFilterModel.CreateOpenFilter(); } else if (_viewSegment.SelectedSegment == 1) { ViewModel.Filter = IssuesFilterModel.CreateClosedFilter(); } else if (_viewSegment.SelectedSegment == 2) { ViewModel.Filter = IssuesFilterModel.CreateMineFilter(_applicationService.Account.Username); } else if (_viewSegment.SelectedSegment == 3) { //ShowFilterController(new IssuesFilterViewController(ViewModel.RepositoryOwner, ViewModel.RepositoryName, ViewModel.Issues)); } }