public async void Init(ForumsTopicNavigationArgs args) { ViewModelLocator.ForumsMain.CurrentBackNavRegistrar = this; if (LoadingTopic) { return; } LoadingTopic = true; _prevArgs = args; Messages?.Clear(); AvailablePages?.Clear(); ToggleWatchingButtonText = "Toggle watching"; CurrentTopicData = await ForumTopicQueries.GetTopicData(_prevArgs.TopicId, _prevArgs.TopicPage, _prevArgs.LastPost, _prevArgs.MessageId); CurrentPage = _prevArgs.LastPost ? CurrentTopicData.AllPages : CurrentTopicData.CurrentPage; ViewModelLocator.GeneralMain.CurrentStatus = $"Forums - {(CurrentTopicData.IsLocked ? "Locked: " : "")}{CurrentTopicData?.Title}"; Messages = new ObservableCollection <ForumTopicMessageEntryViewModel>( CurrentTopicData.Messages.Select( entry => new ForumTopicMessageEntryViewModel(entry))); if (_prevArgs.FirstVisibleItemIndex != null) { RequestScroll?.Invoke(this, _prevArgs.FirstVisibleItemIndex.Value); } else if (_prevArgs.LastPost) { RequestScroll?.Invoke(this, Messages.Count - 1); } else if (CurrentTopicData.TargetMessageId != null /*|| (_prevArgs.MessageId != null && _prevArgs.MessageId != -1)*/) { //var index = _prevArgs.MessageId != null && _prevArgs.MessageId != -1 ? _prevArgs.MessageId.ToString() : CurrentTopicData.T RequestScroll?.Invoke(this, Messages.IndexOf(Messages.First(model => model.Data.Id == CurrentTopicData.TargetMessageId))); } var watched = _handyDataStorage.WatchedTopics.StoredItems.FirstOrDefault(model => model.Id == CurrentTopicData.Id); if (watched != null) { _isWatched = true; watched.OnCooldown = false; _handyDataStorage.WatchedTopics.SaveData(); } else { _isWatched = false; } RaisePropertyChanged(() => IsWatched); IsPinned = ViewModelLocator.ForumsMain.PinnedTopics.Any(entry => entry.Id == CurrentTopicData.Id); ViewModelLocator.ForumsMain.PinnedTopics.CollectionChanged += PinnedTopicsOnCollectionChanged; LoadingTopic = false; }
public async Task GotoPageAsync(AvailablePages page) { mdPage = (MasterDetailPage)Application.Current.MainPage; switch (page) { case AvailablePages.AddChildPage: mdPage.IsPresented = false; var AddChild = new AddChildPage(); await mdPage.Detail.Navigation.PushAsync(AddChild); break; case AvailablePages.MainPage: Application.Current.Properties.Clear(); await PopToRoot(); Application.Current.MainPage = new NavigationPage(new MainPage()) { BarBackgroundColor = Color.FromHex("#016A6F"), }; break; case AvailablePages.VaccineInfoPage: mdPage.IsPresented = false; PopupPage vacInfoPopUp = new VaccineInfoPage(); await PopupNavigation.PushAsync(vacInfoPopUp); break; case AvailablePages.SettingsPage: mdPage.IsPresented = false; var SettingsPage = new SettingsPage(); await mdPage.Detail.Navigation.PushAsync(SettingsPage); break; case AvailablePages.HistorikPage: mdPage.IsPresented = false; PopupPage HistorikPopup = new HistorikPage(); await PopupNavigation.PushAsync(HistorikPopup); break; default: await App.Current.MainPage.DisplayAlert("Error", "Noget gik galt", "ok"); break; } }
public bool Equals(PostSearchResponse input) { if (input == null) { return(false); } return (( RelatedPosts == input.RelatedPosts || (RelatedPosts != null && RelatedPosts.SequenceEqual(input.RelatedPosts)) ) && ( Authors == input.Authors || (Authors != null && Authors.SequenceEqual(input.Authors)) ) && ( Groups == input.Groups || (Groups != null && Groups.SequenceEqual(input.Groups)) ) && ( SearchedTags == input.SearchedTags || (SearchedTags != null && SearchedTags.SequenceEqual(input.SearchedTags)) ) && ( Polls == input.Polls || (Polls != null && Polls.SequenceEqual(input.Polls)) ) && ( RecruitmentDetails == input.RecruitmentDetails || (RecruitmentDetails != null && RecruitmentDetails.SequenceEqual(input.RecruitmentDetails)) ) && ( AvailablePages == input.AvailablePages || (AvailablePages.Equals(input.AvailablePages)) ) && ( Results == input.Results || (Results != null && Results.SequenceEqual(input.Results)) ) && ( TotalResults == input.TotalResults || (TotalResults.Equals(input.TotalResults)) ) && ( HasMore == input.HasMore || (HasMore != null && HasMore.Equals(input.HasMore)) ) && ( Query == input.Query || (Query != null && Query.Equals(input.Query)) ) && ( ReplacementContinuationToken == input.ReplacementContinuationToken || (ReplacementContinuationToken != null && ReplacementContinuationToken.Equals(input.ReplacementContinuationToken)) ) && ( UseTotalResults == input.UseTotalResults || (UseTotalResults != null && UseTotalResults.Equals(input.UseTotalResults)) )); }