/// <summary> /// 要進行登出,所以,清空本機快取資料 /// </summary> /// <returns></returns> public static async Task CleanRepositories() { #region 要進行登出,所以,清空本機快取資料 var fooSystemStatusRepository = new SystemStatusRepository(); await fooSystemStatusRepository.ReadAsync(); fooSystemStatusRepository.Item.AccessToken = ""; await fooSystemStatusRepository.SaveAsync(); var fooLoginRepository = new LoginRepository(); fooLoginRepository.Item = new Models.UserLoginResultModel(); await fooLoginRepository.SaveAsync(); var fooWorkingLogRepository = new WorkingLogRepository(); fooWorkingLogRepository.Items = new List <Models.WorkingLog>(); await fooWorkingLogRepository.SaveAsync(); var fooLeaveAppFormRepository = new LeaveAppFormRepository(); fooLeaveAppFormRepository.Items = new List <Models.LeaveAppForm>(); await fooLeaveAppFormRepository.SaveAsync(MainHelper.LeaveAppFormUserMode); await fooLeaveAppFormRepository.SaveAsync(MainHelper.LeaveAppFormManagerMode); #endregion }
/// <summary> /// 從本地端檔案,讀取快取資料 /// </summary> /// <returns></returns> private async Task RefreshCache() { var fooWorkingLogRepository = new WorkingLogRepository(); await fooWorkingLogRepository.ReadAsync(); WorkingLogList.Clear(); foreach (var item in fooWorkingLogRepository.Items) { WorkingLogList.Add(item); } }
/// <summary> /// 進行工作日誌清單更新 /// </summary> /// <returns></returns> public async Task RetriveRecords() { #region 進行工作日誌清單更新 APIResult fooResult; IsRefreshing = true; var fooProgressDialogConfig = new ProgressDialogConfig() { Title = "請稍後,正在進行工作日誌清單更新中...", IsDeterministic = false, }; using (Acr.UserDialogs.UserDialogs.Instance.Progress(fooProgressDialogConfig)) { var fooLoginRepository = new LoginRepository(); await fooLoginRepository.ReadAsync(); var fooWorkingLogRepository = new WorkingLogRepository(); fooResult = await fooWorkingLogRepository.GetByUserIDAsync(fooLoginRepository.Item.MyUser.EmployeeID); if (fooResult.Success == false) { if (await MainHelper.CheckAccessToken(fooResult) == false) { IsRefreshing = false; return; } try { var fooAlertConfig = new AlertConfig() { Title = "警告", Message = $"更新資料發生了錯誤 {Environment.NewLine}{fooResult.Message}", OkText = "確定" }; CancellationTokenSource fooCancelSrc = new CancellationTokenSource(10000); await Acr.UserDialogs.UserDialogs.Instance.AlertAsync(fooAlertConfig, fooCancelSrc.Token); } catch (OperationCanceledException) { } } } if (fooResult.Success == true) { await RefreshCache(); } IsRefreshing = false; #endregion }