public void Handle(NavigatedEventMessage message) { //HANDLE IF WE ARE THE TARGET PAGE if (message.NavigationInfo.TargetPage == this) { UserPrincipal.Logout(); AuthenticationChangedEventMessage.Publish(); ((LogoutViewModel)ContentViewModel).LogoutMessage = ViewViewModelResources.MsgLoggedOut; } else if (Navigation.Navigator.Ton.GetPreviousPage() == this) { //HANDLE IF WE ARE THE PREVIOUS PAGE (NAVIGATED AWAY FROM) } }
public async Task Login() { if (!CanLogin) { return; } LoggingIn = true; #if DEBUG //var allEdits = await Business.PhraseList.GetAllAsync(); #endif IncrementApplicationBusyEventMessage.Publish("LoginViewModel.Login"); try { var result = await UserPrincipal.LoginAsync(Username, Password); AuthenticationChangedEventMessage.Publish(); } finally { DecrementApplicationBusyEventMessage.Publish("LoginViewModel.Login"); } if (Csla.ApplicationContext.User.Identity.IsAuthenticated) { //LOGIN SUCCESSFUL LoggingIn = false; } else { //LOGIN UNSUCCESSFUL //PENALIZE FOR NOT LOGGING IN PROPERLY. //QUICK AND DIRTY PENALTY. //HACK: LOGIN FAILED PENALTY EASILY CIRCUMVENTED. THIS REALLY NEEDS TO BE DONE ON THE SERVER SIDE. System.Windows.MessageBox.Show(AppResources.LoginFailedMessage); BackgroundWorker worker = new BackgroundWorker(); worker.DoWork += (sender, eventArg) => { System.Threading.Thread.Sleep(int.Parse(AppResources.LoginFailedPenaltyInMilliseconds)); LoggingIn = false; }; worker.RunWorkerAsync(); } }
public void Handle(AuthenticationChangedEventMessage message) { PopulatePanel(_NavigationSetsCache); }