public async Task Start(string id, string message, string code, string url) { try { dialogService.ShowProgress(); await ReviewVersion(); if (await fileService.FileExists(string.Format("{0} User", AppConfigurations.Brand))) { ResponseLogin userSaved = await fileService.LoadAsync <ResponseLogin>(string.Format("{0} User", AppConfigurations.Brand)); if (userSaved != null && userSaved.Expires != null && userSaved.Expires_in > 0) { dialogService.ShowProgress(); loginViewModel.User = new ResponseLogin(); ViewModelHelper.CloneUser(loginViewModel, userSaved); apiService.Token = loginViewModel.User.Access_token; var req = new RequestEnabledSession { Code = loginViewModel.User.SessionCode, Document = loginViewModel.User.Document, DocumentType = loginViewModel.User.DocumentType, Controller = "Account", Action = "EnabledSession" }; RequestSoftwareVersion request = new RequestSoftwareVersion(); ResponseSoftwareVersion response = await apiService.GetSoftwareVersion(request); IMenuPageViewModel menuPageViewModel = ServiceLocator.Current.GetInstance <IMenuPageViewModel>(); if (response.Success && response.StatusCode == 0) { menuPageViewModel.Version = response.Value; } menuPageViewModel.LoadMenu(); await navigationService.Navigate(AppPages.MenuPage); ICallViewModel callViewModel = ServiceLocator.Current.GetInstance <ICallViewModel>(); await callViewModel.Init(); INotificationService notificationService = ServiceLocator.Current.GetInstance <INotificationService>(); notificationService.RegisterNotifications(); //if (id != null) //{ // switch (id) // { // case "1": // await navigationService.Navigate(AppPages.MedicalCenterCoordinationPage); // break; // case "2": // await navigationService.Navigate(AppPages.QualifyServicesPage, false, code); // break; // case "3": // await navigationService.Navigate(AppPages.ScheduledServicesPage); // break; // } // return; //} await navigationService.Navigate(AppPages.LandingPage); dialogService.HideProgress(); if (!string.IsNullOrWhiteSpace(url)) { await Launcher.OpenAsync(url); } IContingencyMessagePageViewModel contingencyMessage = ServiceLocator.Current.GetInstance <IContingencyMessagePageViewModel>(); contingencyMessage.LoadData(); return; } } await navigationService.Navigate(AppPages.LoginPage); } catch (Exception ex) { exceptionService.RegisterException(ex); INotificationService notificationsService = ServiceLocator.Current.GetInstance <INotificationService>(); ILoginPageViewModel loginPageViewModel = ServiceLocator.Current.GetInstance <ILoginPageViewModel>(); INotificationService notificationService = ServiceLocator.Current.GetInstance <INotificationService>(); loginViewModel.User = null; loginPageViewModel.Email = string.Empty; loginPageViewModel.Password = string.Empty; notificationsService.UnregisterNotifications(); await fileService.SaveAsync(string.Format("{0} User", AppConfigurations.Brand), loginViewModel.User); await navigationService.Navigate(AppPages.LoginPage); } finally { dialogService.HideProgress(); } }