예제 #1
0
        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)
            }
        }
예제 #2
0
        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);
 }