public static async Task <string> DownloadData(string type = "") { string retMsg = ""; var commonFun = Resolver.Resolve <ICommonFun>(); IRemoteService remoteService = Resolver.Resolve <IRemoteService>(); CommonHelper commonHelper = Resolver.Resolve <CommonHelper>(); var conn = Resolver.Resolve <ISQLite>().GetConnection(); var localScoreService = Resolver.Resolve <ILocalScoreService>(); if (commonHelper.IsNetWorkConnected() == true) { try { if (type == "") { commonFun.ShowLoading("正在下载数据,请稍等。"); } else { commonFun.ShowLoading("正在同步数据..."); } var result = await remoteService.GetAllDataForLocalDB(CommonContext.Account.UserId); if (result.ResultCode == Module.ResultType.Success) { RemoteResultDto resultList = JsonConvert.DeserializeObject <RemoteResultDto>(result.Body); #region table var plansInfo = conn.GetTableInfo("Plans"); var distributorInfo = conn.GetTableInfo("Distributor"); var employeeInfo = conn.GetTableInfo("Employee"); var taskOfPlanInfo = conn.GetTableInfo("TaskOfPlan"); var taskCardInfo = conn.GetTableInfo("TaskCard"); var taskItemInfo = conn.GetTableInfo("TaskItem"); var scoreInfo = conn.GetTableInfo("Score"); var checkStandardInfo = conn.GetTableInfo("CheckStandard"); var checkResultInfo = conn.GetTableInfo("CheckResult"); var standardPicInfo = conn.GetTableInfo("StandardPic"); var pictureStandardInfo = conn.GetTableInfo("PictureStandard"); var hiddenCodeInfo = conn.GetTableInfo("CodeHidden"); if (plansInfo == null || plansInfo.Count == 0) { conn.CreateTable <Plans>(); } if (distributorInfo == null || distributorInfo.Count == 0) { conn.CreateTable <Distributor>(); } if (employeeInfo == null || employeeInfo.Count == 0) { conn.CreateTable <Employee>(); } if (taskOfPlanInfo == null || taskOfPlanInfo.Count == 0) { conn.CreateTable <TaskOfPlan>(); } if (taskCardInfo == null || taskCardInfo.Count == 0) { conn.CreateTable <TaskCard>(); } if (taskItemInfo == null || taskItemInfo.Count == 0) { conn.CreateTable <TaskItem>(); } if (scoreInfo == null || scoreInfo.Count == 0) { conn.CreateTable <Score>(); } if (checkStandardInfo == null || checkStandardInfo.Count == 0) { conn.CreateTable <Domain.CheckStandard>(); } if (checkResultInfo == null || checkResultInfo.Count == 0) { conn.CreateTable <CheckResult>(); } if (standardPicInfo == null || standardPicInfo.Count == 0) { conn.CreateTable <Domain.StandardPic>(); } if (pictureStandardInfo == null || pictureStandardInfo.Count == 0) { conn.CreateTable <PictureStandard>(); } if (hiddenCodeInfo == null || hiddenCodeInfo.Count == 0) { conn.CreateTable <CodeHidden>(); } #endregion if (resultList != null) { if (localScoreService.CheckLocalModiYN()) { if (App.SysOS == "IOS") { commonFun.HideLoading(); } //if (await commonFun.Confirm("手机中有未上传的数据,同步数据的话将覆盖手机数据,是否继续?")) //{ // UpdateLocalData(conn, resultList); // commonFun.ShowToast("数据同步完毕。"); //} //else //{ // commonFun.ShowToast("同步数据请求已被取消。"); //} } else { UpdateLocalData(conn, resultList); if (type == "") { commonFun.ShowToast("数据同步完毕。"); } } } else { commonFun.ShowToast("没有需要同步的数据。"); } } } catch (OperationCanceledException) { commonFun.HideLoading(); commonFun.AlertLongText("请求超时.请手动下载数据。"); } catch (Exception) { commonFun.AlertLongText("同步异常,请手动下载数据。"); commonFun.HideLoading(); } finally { commonFun.HideLoading(); } } else { commonFun.AlertLongText("网络不给力。请检查网络"); } return(retMsg); }