/// <summary> /// 注销。 /// </summary> public void SignOut() { _refreshToken = "empty"; _accessToken = "empty"; Save(); _rootNavigationService.Navigate(typeof(LoginPage), null, NavigationTransition.EntranceNavigationTransition); }
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); }
/// <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); }
/// <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); }
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; } } } }); }