public override async void OnNavigatedTo(INavigationParameters parameters) { _loggerService.StartMethod(); base.OnNavigatedTo(parameters); await _migrationService.MigrateAsync(); var destination = Destination.HomePage; if (parameters.ContainsKey(SplashPage.DestinationKey)) { _loggerService.Info($"Destination is set {destination}"); destination = parameters.GetValue <Destination>(SplashPage.DestinationKey); } if (_userDataRepository.IsAllAgreed()) { _loggerService.Info("User data exists"); var termsUpdateInfo = await _termsUpdateService.GetTermsUpdateInfo(); if (_termsUpdateService.IsUpdated(TermsType.TermsOfService, termsUpdateInfo)) { _loggerService.Info($"Transition to ReAgreeTermsOfServicePage"); var navigationParams = ReAgreeTermsOfServicePage.BuildNavigationParams(termsUpdateInfo, destination, parameters); _ = await NavigationService.NavigateAsync("/" + nameof(ReAgreeTermsOfServicePage), navigationParams); } else if (_termsUpdateService.IsUpdated(TermsType.PrivacyPolicy, termsUpdateInfo)) { _loggerService.Info($"Transition to ReAgreePrivacyPolicyPage"); var navigationParams = ReAgreePrivacyPolicyPage.BuildNavigationParams(termsUpdateInfo.PrivacyPolicy, destination, parameters); _ = await NavigationService.NavigateAsync("/" + nameof(ReAgreePrivacyPolicyPage), navigationParams); } else { _loggerService.Info($"Transition to {destination}"); _ = await NavigationService.NavigateAsync(destination.ToPath(), parameters); } } else { _loggerService.Info("No user data exists"); _loggerService.Info($"Transition to TutorialPage1"); _ = await NavigationService.NavigateAsync("/" + nameof(TutorialPage1)); } _loggerService.EndMethod(); }
public async Task <INavigationResult> NavigateNextAsync(bool isSetupLaterEventLog = false) { _loggerService.StartMethod(); try { string name; INavigationParameters parameters; if (_userDataRepository.IsAllAgreed()) { _loggerService.Info("Is all agreed"); if (_termsUpdateService.IsUpdated(TermsType.TermsOfService, _termsUpdateInfoModel)) { name = $"/{nameof(ReAgreeTermsOfServicePage)}"; parameters = ReAgreeTermsOfServicePage.BuildNavigationParams(_termsUpdateInfoModel.TermsOfService); } else if (_termsUpdateService.IsUpdated(TermsType.PrivacyPolicy, _termsUpdateInfoModel)) { name = $"/{nameof(ReAgreePrivacyPolicyPage)}"; parameters = ReAgreePrivacyPolicyPage.BuildNavigationParams(_termsUpdateInfoModel.PrivacyPolicy); } else if (!isSetupLaterEventLog && _sendEventLogStateRepository.IsExistNotSetEventType()) { name = $"/{nameof(EventLogCooperationPage)}"; parameters = EventLogCooperationPage.BuildNavigationParams(EventLogCooperationPage.TransitionReason.Splash); } else { name = Destination.ToPath(); parameters = DestinationPageParameters; } } else { name = $"/{nameof(TutorialPage1)}"; parameters = null; } _loggerService.Info($"Transition to {name}"); return(await _navigationService.NavigateAsync(name, parameters)); } finally { _loggerService.EndMethod(); } }