コード例 #1
0
        /// <summary>
        ///     注销。
        /// </summary>
        public void SignOut()
        {
            _refreshToken = "empty";
            _accessToken  = "empty";
            Save();

            _rootNavigationService.Navigate(typeof(LoginPage), null,
                                            NavigationTransition.EntranceNavigationTransition);
        }
コード例 #2
0
        protected override async Task <HttpResponseMessage> SendAsync(
            HttpRequestMessage request, CancellationToken cancellationToken)
        {
            var response = await base.SendAsync(request, cancellationToken)
                           .ConfigureAwait(false);

            if (response.StatusCode == HttpStatusCode.Unauthorized)
            {
                _rootNavigationService.Navigate(typeof(LoginPage), null,
                                                NavigationTransition.EntranceNavigationTransition);
            }
            else if (response.StatusCode == HttpStatusCode.Forbidden)
            {
                _rootNavigationService.Navigate(typeof(BindingPage), null,
                                                NavigationTransition.EntranceNavigationTransition);
            }

            return(response);
        }
コード例 #3
0
 /// <summary>
 ///     注销。
 /// </summary>
 public void SignOut()
 {
     _refreshToken = "empty";
     _accessToken  = "empty";
     Save();
     CurrentUser.ID                = 0;
     CurrentUser.UserName          = null;
     CurrentUser.ApplicationUserID = null;
     CurrentUser.Image             = null;
     CurrentUser.TotalTime         = 0;
     CurrentUser.WeekTotalTime     = 0;
     _rootNavigationService.Navigate(typeof(MainPage), null,
                                     NavigationTransition.EntranceNavigationTransition);
 }
コード例 #4
0
ファイル: IdentityService.cs プロジェクト: beself-zjh/pbuvp
        /// <summary>
        ///     注销。
        /// </summary>
        public async Task <ServiceResult> SignOutAsync()
        {
            ServiceResult serviceResult;

            using (var httpClient = new HttpClient()) {
                HttpResponseMessage response;

                try {
                    response =
                        await httpClient.GetAsync(
                            App.ServerEndpoint + "/Account/Logout");
                } catch (Exception e) {
                    return(new ServiceResult {
                        Status = ServiceResultStatus.Exception,
                        Message = e.Message
                    });
                }

                serviceResult = new ServiceResult {
                    Status =
                        ServiceResultStatusHelper.FromHttpStatusCode(
                            response.StatusCode)
                };

                switch (response.StatusCode)
                {
                case HttpStatusCode.NoContent:
                    break;

                default:
                    serviceResult.Message = response.ReasonPhrase;
                    break;
                }
            }

            _refreshToken = "empty";
            _accessToken  = "empty";
            Save();

            _rootNavigationService.Navigate(typeof(LoginPage), null,
                                            NavigationTransition.EntranceNavigationTransition);

            return(serviceResult);
        }
コード例 #5
0
        public AddProgressViewModel(IProcessService processService, ILocalBlackListProgressService localBlackListProgressService,
                                    IWebBlackListProgressService webBlackListProgress, IIdentityService identityService, IRootNavigationService iNavigationService)
        {
            //变量初始化
            _secondCollection      = new ObservableCollection <Process>();
            _firstCollection       = new ObservableCollection <Process>();
            addProgressCollection  = new ObservableCollection <Process>();
            viewProgressCollection = new ObservableCollection <MyDatabaseContext.BlackListProgress>();
            //服务初始化
            _localBlackListProgressService = localBlackListProgressService;
            _processService = processService;
            _webBlackListProgressService = webBlackListProgress;
            _identityService             = identityService;
            _rootNavigationService       = iNavigationService;

            Messenger.Default.Register <AddProgressMessage>(this, async(message) =>
            {
                //选择添加
                if (message.ifSelectToAdd == true)
                {
                    switch (message.choice)
                    {
                    case 1:
                        {
                            //清空数组
                            _firstCollection.Clear();
                            _secondCollection.Clear();

                            //第一次读取
                            _firstCollection = _processService.GetProcessNow();

                            break;
                        }

                    case 2:
                        {
                            //第二次读取
                            _secondCollection = _processService.GetProcessNow();

                            //获得不同的进程
                            var temp = _processService.GetProcessDifferent(_firstCollection, _secondCollection);

                            //清空数组,加入
                            addProgressCollection.Clear();
                            if (temp != null)
                            {
                                foreach (var template in temp)
                                {
                                    addProgressCollection.Add(template);
                                }
                            }
                            break;
                        }

                    case 3: {
                        if (message.parameter == null)
                        {
                            await new MessageDialog("添加失败").ShowAsync();
                        }

                        //传入参数,写入数据库
                        //UWP进程
                        Motherlibrary.MyDatabaseContext.BlackListProgress temp;
                        temp = _localBlackListProgressService.GetBlackListProgress(message.parameter.ID, message.parameter.FileName, message.newName, message.parameter.Type);

                        bool judge = await _localBlackListProgressService.AddBlackListProgressAsync(temp);

                        _rootNavigationService.Navigate((typeof(ViewProgress)));

                        break;
                    }
                    }
                }
                else
                {
                    //删除、更新、刷新
                    switch (message.choice)
                    {
                    case 1:
                        {
                            Task t1 = Task.Factory.StartNew(delegate
                            {
                                _localBlackListProgressService.DeleteBlackListProgressAsync(message.deleteList);
                                RefreshTheCollection();
                            });
                            break;
                        }

                    case 2: {
                        //更新
                        await RefreshTheCollection();
                        break;
                    }

                    case 3: {
                        //刷新
                        await RefreshTheCollection();
                        break;
                    }
                    }
                }
            });
        }