Example #1
0
        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();
                });
            }
        }
Example #2
0
        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
            {
            }
        }
Example #3
0
 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);
     }
 }
Example #4
0
        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);
        }
Example #5
0
 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();
         });
     }
 }