public void UseCloudData() { var result = GetCloudTaskData(); try { JArray localTaskArray = (JArray)JsonConvert.DeserializeObject(result); List <TaskJson> taskJsons = new List <TaskJson>(); PushData pushData = new PushData(); pushData.UserName = userName; pushData.Token = token; foreach (var item in localTaskArray) { TaskJson taskJson = new TaskJson { TaskId = item["TaskId"].ToString(), TaskName = item["TaskName"].ToString(), Date = item["Date"].ToString(), Star = item["Star"].ToString(), Done = item["Done"].ToString(), Remark = item["Remark"].ToString(), UpdateTime = item["UpdateTime"].ToString(), IsDelete = item["IsDelete"].ToString() }; List <StepJson> stepJsons = new List <StepJson>(); string taskStepListStr = item["TaskStepList"].ToString(); JArray localStepArray = (JArray)JsonConvert.DeserializeObject(taskStepListStr); foreach (var subItem in localStepArray) { StepJson stepJson = new StepJson() { TaskId = subItem["TaskId"].ToString(), StepId = subItem["StepId"].ToString(), Content = subItem["Content"].ToString(), Done = subItem["Done"].ToString(), UpdateTime = subItem["UpdateTime"].ToString(), IsDelete = subItem["IsDelete"].ToString() }; stepJsons.Add(stepJson); } taskJson.TaskStepList = stepJsons; taskJsons.Add(taskJson); } pushData.TaskList = taskJsons; string pushDataJsonStr = JsonConvert.SerializeObject(pushData); PushDataToLocal(pushDataJsonStr); } catch (Exception e) { this.Invoke(() => { PopupNotice popupNotice = new PopupNotice("同步失败:" + e.Message); popupNotice.ShowAPopup(); }); } }
public void UseLocalData() { var result = GetLocalTaskData(); try { JArray localTaskArray = (JArray)JsonConvert.DeserializeObject(result); List <TaskJson> taskJsons = new List <TaskJson>(); PushData pushData = new PushData(); pushData.UserName = userName; pushData.Token = token; foreach (var item in localTaskArray) { TaskJson taskJson = new TaskJson { TaskId = item["TaskId"].ToString(), TaskName = item["TaskName"].ToString(), Date = item["Date"].ToString(), Star = item["Star"].ToString(), Done = item["Done"].ToString(), Remark = item["Remark"].ToString(), UpdateTime = item["UpdateTime"].ToString(), IsDelete = item["IsDelete"].ToString() }; List <StepJson> stepJsons = new List <StepJson>(); string taskStepListStr = item["TaskStepList"].ToString(); JArray localStepArray = (JArray)JsonConvert.DeserializeObject(taskStepListStr); foreach (var subItem in localStepArray) { StepJson stepJson = new StepJson() { TaskId = subItem["TaskId"].ToString(), StepId = subItem["StepId"].ToString(), Content = subItem["Content"].ToString(), Done = subItem["Done"].ToString(), UpdateTime = subItem["UpdateTime"].ToString(), IsDelete = subItem["IsDelete"].ToString() }; stepJsons.Add(stepJson); } taskJson.TaskStepList = stepJsons; taskJsons.Add(taskJson); } pushData.TaskList = taskJsons; string pushDataJsonStr = JsonConvert.SerializeObject(pushData); PushDataToCloud(pushDataJsonStr); } catch { } }
public string GetLocalTaskData() { try { List <ToDoTasks> taskListDB = conn.Query <ToDoTasks>("select * from ToDoTasks"); List <TaskJson> taskJsons = new List <TaskJson>(); foreach (var item in taskListDB) { TaskJson taskJson = new TaskJson(); taskJson.TaskId = item.TaskId; taskJson.TaskName = item.Name; taskJson.Date = item.Date; taskJson.Star = item.Star; taskJson.Done = item.Done; taskJson.Remark = item.Remark; taskJson.UpdateTime = item.UpdateTime; taskJson.IsDelete = item.IsDelete; List <ToDoTaskSteps> stepListDB = conn.Query <ToDoTaskSteps>("select *from ToDoTaskSteps where TaskId = ?", item.TaskId); List <StepJson> stepJsons = new List <StepJson>(); foreach (var subItem in stepListDB) { StepJson stepJson = new StepJson(); stepJson.TaskId = subItem.TaskId; stepJson.StepId = subItem.StepId; stepJson.Content = subItem.Content; if (subItem.Finish) { stepJson.Done = "1"; } else { stepJson.Done = "0"; } stepJson.UpdateTime = subItem.UpdateTime; stepJson.IsDelete = subItem.IsDelete; stepJsons.Add(stepJson); } taskJson.TaskStepList = stepJsons; taskJsons.Add(taskJson); } return(JsonConvert.SerializeObject(taskJsons)); } catch (Exception e) { return(e.Message); } }
public static Step Convert(StepJson stepJson) { var step = new Step { Number = stepJson.Number, Success = stepJson.Success, DateEnd = stepJson.DateEnd, TitleStep = stepJson.TitleStep, DateRun = stepJson.DateRun, Pivot = new Pivot() { ProjectId = stepJson.Pivot.ProjectId, StepId = stepJson.Pivot.StepId } }; return(step); }
public void MergeData() { try { var localData = GetLocalTaskData(); var cloudData = GetCloudTaskData(); JArray cloudTaskArray = (JArray)JsonConvert.DeserializeObject(cloudData); JArray localTaskArray = (JArray)JsonConvert.DeserializeObject(localData); List <TaskJson> taskJsons = new List <TaskJson>(); PushData pushData = new PushData(); pushData.UserName = userName; pushData.Token = token; foreach (var cloudTaskItem in cloudTaskArray) { string taskId = cloudTaskItem["TaskId"].ToString(); List <ToDoTasks> tempList = conn.Query <ToDoTasks>("select * from ToDoTasks where TaskId = ?", taskId); if (tempList.Count == 0) { TaskJson taskJson = new TaskJson { TaskId = cloudTaskItem["TaskId"].ToString(), TaskName = cloudTaskItem["TaskName"].ToString(), Date = cloudTaskItem["Date"].ToString(), Star = cloudTaskItem["Star"].ToString(), Done = cloudTaskItem["Done"].ToString(), Remark = cloudTaskItem["Remark"].ToString(), UpdateTime = cloudTaskItem["UpdateTime"].ToString(), IsDelete = cloudTaskItem["IsDelete"].ToString() }; List <StepJson> stepJsons = new List <StepJson>(); string taskStepListStr = cloudTaskItem["TaskStepList"].ToString(); JArray localStepArray = (JArray)JsonConvert.DeserializeObject(taskStepListStr); foreach (var subItem in localStepArray) { StepJson stepJson = new StepJson() { TaskId = subItem["TaskId"].ToString(), StepId = subItem["StepId"].ToString(), Content = subItem["Content"].ToString(), Done = subItem["Done"].ToString(), UpdateTime = subItem["UpdateTime"].ToString(), IsDelete = subItem["IsDelete"].ToString() }; stepJsons.Add(stepJson); } taskJson.TaskStepList = stepJsons; taskJsons.Add(taskJson); } else { string localUpdateTimeStr = tempList[0].UpdateTime; string cloudUpdateTimeStr = cloudTaskItem["UpdateTime"].ToString(); DateTime localUpdateTime = Convert.ToDateTime(localUpdateTimeStr); DateTime cloudUpdateTime = Convert.ToDateTime(cloudUpdateTimeStr); if (cloudUpdateTime >= localUpdateTime) { TaskJson taskJson = new TaskJson { TaskId = cloudTaskItem["TaskId"].ToString(), TaskName = cloudTaskItem["TaskName"].ToString(), Date = cloudTaskItem["Date"].ToString(), Star = cloudTaskItem["Star"].ToString(), Done = cloudTaskItem["Done"].ToString(), Remark = cloudTaskItem["Remark"].ToString(), UpdateTime = cloudTaskItem["UpdateTime"].ToString(), IsDelete = cloudTaskItem["IsDelete"].ToString() }; List <StepJson> stepJsons = new List <StepJson>(); string taskStepListStr = cloudTaskItem["TaskStepList"].ToString(); JArray localStepArray = (JArray)JsonConvert.DeserializeObject(taskStepListStr); foreach (var subItem in localStepArray) { StepJson stepJson = new StepJson() { TaskId = subItem["TaskId"].ToString(), StepId = subItem["StepId"].ToString(), Content = subItem["Content"].ToString(), Done = subItem["Done"].ToString(), UpdateTime = subItem["UpdateTime"].ToString(), IsDelete = subItem["IsDelete"].ToString() }; stepJsons.Add(stepJson); } taskJson.TaskStepList = stepJsons; taskJsons.Add(taskJson); } else { TaskJson taskJson = new TaskJson { TaskId = tempList[0].TaskId, TaskName = tempList[0].Name, Date = tempList[0].Date, Star = tempList[0].Star, Done = tempList[0].Done, Remark = tempList[0].Remark, UpdateTime = tempList[0].UpdateTime, IsDelete = tempList[0].IsDelete }; List <StepJson> stepJsons = new List <StepJson>(); List <ToDoTaskSteps> subTempList = conn.Query <ToDoTaskSteps>("select * from ToDoTaskSteps where TaskId = ?", taskId); foreach (var subItem in subTempList) { StepJson stepJson = new StepJson() { TaskId = subItem.TaskId, StepId = subItem.StepId, Content = subItem.Content, UpdateTime = subItem.UpdateTime, IsDelete = subItem.IsDelete }; if (subItem.Finish) { stepJson.Done = "1"; } else { stepJson.Done = "0"; } stepJsons.Add(stepJson); } taskJson.TaskStepList = stepJsons; taskJsons.Add(taskJson); } } } foreach (var localTaskItem in localTaskArray) { string taskId = localTaskItem["TaskId"].ToString(); foreach (var cloudTaskItem in cloudTaskArray) { bool isItemOnCloud = false; if (cloudTaskItem["TaskId"].ToString().Equals(taskId)) { isItemOnCloud = true; string localUpdateTimeStr = localTaskItem["UpdateTime"].ToString(); string cloudUpdateTimeStr = cloudTaskItem["UpdateTime"].ToString(); DateTime localUpdateTime = Convert.ToDateTime(localUpdateTimeStr); DateTime cloudUpdateTime = Convert.ToDateTime(cloudUpdateTimeStr); if (cloudUpdateTime >= localUpdateTime) { TaskJson taskJson = new TaskJson { TaskId = cloudTaskItem["TaskId"].ToString(), TaskName = cloudTaskItem["TaskName"].ToString(), Date = cloudTaskItem["Date"].ToString(), Star = cloudTaskItem["Star"].ToString(), Done = cloudTaskItem["Done"].ToString(), Remark = cloudTaskItem["Remark"].ToString(), UpdateTime = cloudTaskItem["UpdateTime"].ToString(), IsDelete = cloudTaskItem["IsDelete"].ToString() }; List <StepJson> stepJsons = new List <StepJson>(); string taskStepListStr = cloudTaskItem["TaskStepList"].ToString(); JArray localStepArray = (JArray)JsonConvert.DeserializeObject(taskStepListStr); foreach (var subItem in localStepArray) { StepJson stepJson = new StepJson() { TaskId = subItem["TaskId"].ToString(), StepId = subItem["StepId"].ToString(), Content = subItem["Content"].ToString(), Done = subItem["Done"].ToString(), UpdateTime = subItem["UpdateTime"].ToString(), IsDelete = subItem["IsDelete"].ToString() }; stepJsons.Add(stepJson); } taskJson.TaskStepList = stepJsons; taskJsons.Add(taskJson); } else { TaskJson taskJson = new TaskJson { TaskId = localTaskItem["TaskId"].ToString(), TaskName = localTaskItem["TaskName"].ToString(), Date = localTaskItem["Date"].ToString(), Star = localTaskItem["Star"].ToString(), Done = localTaskItem["Done"].ToString(), Remark = localTaskItem["Remark"].ToString(), UpdateTime = localTaskItem["UpdateTime"].ToString(), IsDelete = localTaskItem["IsDelete"].ToString() }; List <StepJson> stepJsons = new List <StepJson>(); string taskStepListStr = localTaskItem["TaskStepList"].ToString(); JArray localStepArray = (JArray)JsonConvert.DeserializeObject(taskStepListStr); foreach (var subItem in localStepArray) { StepJson stepJson = new StepJson() { TaskId = subItem["TaskId"].ToString(), StepId = subItem["StepId"].ToString(), Content = subItem["Content"].ToString(), Done = subItem["Done"].ToString(), UpdateTime = subItem["UpdateTime"].ToString(), IsDelete = subItem["IsDelete"].ToString() }; stepJsons.Add(stepJson); } taskJson.TaskStepList = stepJsons; taskJsons.Add(taskJson); } } if (!isItemOnCloud) { TaskJson taskJson = new TaskJson { TaskId = localTaskItem["TaskId"].ToString(), TaskName = localTaskItem["TaskName"].ToString(), Date = localTaskItem["Date"].ToString(), Star = localTaskItem["Star"].ToString(), Done = localTaskItem["Done"].ToString(), Remark = localTaskItem["Remark"].ToString(), UpdateTime = localTaskItem["UpdateTime"].ToString(), IsDelete = localTaskItem["IsDelete"].ToString() }; List <StepJson> stepJsons = new List <StepJson>(); string taskStepListStr = localTaskItem["TaskStepList"].ToString(); JArray localStepArray = (JArray)JsonConvert.DeserializeObject(taskStepListStr); foreach (var subItem in localStepArray) { StepJson stepJson = new StepJson() { TaskId = subItem["TaskId"].ToString(), StepId = subItem["StepId"].ToString(), Content = subItem["Content"].ToString(), Done = subItem["Done"].ToString(), UpdateTime = subItem["UpdateTime"].ToString(), IsDelete = subItem["IsDelete"].ToString() }; stepJsons.Add(stepJson); } taskJson.TaskStepList = stepJsons; taskJsons.Add(taskJson); } } } pushData.TaskList = taskJsons; string pushDataJsonStr = JsonConvert.SerializeObject(pushData); PushDataToLocal(pushDataJsonStr); PushDataToCloud(pushDataJsonStr); this.Invoke(() => { PopupNotice popupNotice = new PopupNotice("同步成功!"); popupNotice.ShowAPopup(); }); } catch (Exception e) { this.Invoke(() => { PopupNotice popupNotice = new PopupNotice("同步失败:" + e.Message); popupNotice.ShowAPopup(); }); } }