Esempio n. 1
0
        private void ListenerViewChanged(ChangeView info)
        {
            switch (info.Event)
            {
            case EventType.LoginSuccess:
                CacheProvider tempCache1 = new CacheProvider(StorageType.IsolatedStorage);
                UserContext   user       = info.Context as UserContext;

                if (tempCache1.ContainItem(CacheKey.UserContext))
                {
                    tempCache1.UpdateItem(CacheKey.UserContext, user);
                }
                else
                {
                    tempCache1.AddItem(CacheKey.UserContext, user);
                }

                GlobalValue.CurrentUserContext = user;

                Avatar  = new Uri(GlobalValue.CurrentUserContext.Avatar, UriKind.Absolute);
                IsLogin = true;
                break;

            case EventType.Logout:
                CacheProvider tempCache2 = new CacheProvider(StorageType.IsolatedStorage);

                GlobalValue.CurrentUserContext.IsLogin = false;
                tempCache2.UpdateItem(CacheKey.UserContext, GlobalValue.CurrentUserContext);

                Avatar  = GlobalValue.DefaultAvatar;
                IsLogin = false;

                WebContentProvider.CancelPendingRequests();

                homeViewModel.Cleanup();
                followViewModel.Cleanup();
                friendsViewModel.Cleanup();
                specialTopicViewModel.Cleanup();
                likeViewModel.Cleanup();
                userCenterViewModel.Cleanup();

                View.FriendsView.VerticalOffset    = 0;
                View.SpecialTopicView.leftOffset   = 0;
                View.SpecialTopicView.rightOffset  = 0;
                View.SpecialTopicView.rightCanShow = false;
                break;

            default:
                break;
            }

            SwitchViewModel(info.ToView, info);
        }