/// <summary> /// 清除所有的資料 /// </summary> public void CleanAllData() { // 將工作資料全部刪除掉 db.UserTasks.RemoveRange(db.UserTasks.ToList()); // 將使用者的資料全部刪除掉 var fooUsers = db.Users.ToList(); db.Users.RemoveRange(fooUsers); db.SaveChanges(); }
public APIResult Get() { var fooToday = DateTime.Now.Date; // 查詢今天產生的工作有那些 var fooTasks = db.UserTasks.Where(x => DbFunctions.TruncateTime(x.TaskDateTime) == fooToday).ToList(); if (fooTasks.Count > 0) { #region 今天的工作已經有產生了 fooAPIResult.Success = false; fooAPIResult.Message = DateTime.Now.ToString("yyyy.MM.dd") + " 已經有存在的的代辦工作"; fooAPIResult.Payload = null; #endregion } else { #region 幫每個使用者,產生今天要用到的五個工作 for (int i = 0; i < 40; i++) { var fooAccount = $"user{i}"; for (int j = 0; j < 5; j++) { var fooTask = new UserTasks() { Account = fooAccount, Title = $"請前往地點 {j} 進行簽到與調查作業環境", Description = "請到指定地點掃描 QR Code,並且填寫當時工作環境數據", TaskDateTime = DateTime.Now.Date, CheckinId = RandomString(30), Condition1_Ttile = "請讀取儀表1的數據", Condition1_Result = "", Condition2_Ttile = "請讀取儀表2的數據", Condition2_Result = "", Condition3_Ttile = "請讀取儀表3的數據", Condition3_Result = "", Checkin_Latitude = 0, Checkin_Longitude = 0, PhotoURL = "", Reported = false, ReportedDatetime = new DateTime(1900, 1, 1), CheckinDatetime = new DateTime(1900, 1, 1), }; db.UserTasks.Add(fooTask); } } #endregion db.SaveChanges(); fooAPIResult.Success = true; fooAPIResult.Message = DateTime.Now.ToString("yyyy.MM.dd") + " 的代辦工作已經產生完成"; fooAPIResult.Payload = null; } return(fooAPIResult); }
/// <summary> /// 更新App傳入的工作紀錄內容 /// </summary> /// <param name="userTasks">工作紀錄內容</param> /// <returns></returns> public APIResult Put([FromBody] UserTasks userTasks) { string foot = HttpContext.Current.Server.MapPath("~/Uploads"); int fooNumRec = 0; var fooDBObj = db.UserTasks.FirstOrDefault(x => x.Id == userTasks.Id); if (fooDBObj != null) { switch (userTasks.Status) { case TaskStatus.NOT_START: #region 工作尚未開始 fooAPIResult.Success = false; fooAPIResult.Message = "指定狀態不正確"; fooAPIResult.Payload = userTasks; #endregion break; case TaskStatus.CHECKIN: #region 打卡 UpdateStatus_CHECKIN(userTasks, fooDBObj); // 通知 Entity Framework,這個紀錄有異動了 db.Entry(fooDBObj).State = EntityState.Modified; fooNumRec = db.SaveChanges(); if (fooNumRec > 0) { fooAPIResult.Success = true; fooAPIResult.Message = "成功更新資料"; fooAPIResult.Payload = fooDBObj; } else { fooAPIResult.Success = false; fooAPIResult.Message = "沒有成功更新任何資料"; fooAPIResult.Payload = userTasks; } #endregion break; case TaskStatus.INPUT: #region 工作內容輸入 UpdateStatus_CHECKIN(userTasks, fooDBObj); UpdateStatus_INPUT(userTasks, fooDBObj); // 通知 Entity Framework,這個紀錄有異動了 db.Entry(fooDBObj).State = EntityState.Modified; fooNumRec = db.SaveChanges(); if (fooNumRec > 0) { fooAPIResult.Success = true; fooAPIResult.Message = "成功更新資料"; fooAPIResult.Payload = fooDBObj; } else { fooAPIResult.Success = false; fooAPIResult.Message = "沒有成功更新任何資料"; fooAPIResult.Payload = userTasks; } #endregion break; case TaskStatus.UPLOAD_IMAGE: #region 圖片上傳 UpdateStatus_CHECKIN(userTasks, fooDBObj); UpdateStatus_INPUT(userTasks, fooDBObj); UpdateStatus_UPLOAD_IMAGE(userTasks, fooDBObj); // 通知 Entity Framework,這個紀錄有異動了 db.Entry(fooDBObj).State = EntityState.Modified; fooNumRec = db.SaveChanges(); if (fooNumRec > 0) { fooAPIResult.Success = true; fooAPIResult.Message = "成功更新資料"; fooAPIResult.Payload = fooDBObj; } else { fooAPIResult.Success = false; fooAPIResult.Message = "沒有成功更新任何資料"; fooAPIResult.Payload = userTasks; } #endregion break; case TaskStatus.REPORTED: #region 完工與回報 UpdateStatus_CHECKIN(userTasks, fooDBObj); UpdateStatus_INPUT(userTasks, fooDBObj); UpdateStatus_UPLOAD_IMAGE(userTasks, fooDBObj); UpdateStatus_REPORTED(userTasks, fooDBObj); // 通知 Entity Framework,這個紀錄有異動了 db.Entry(fooDBObj).State = EntityState.Modified; fooNumRec = db.SaveChanges(); if (fooNumRec > 0) { fooAPIResult.Success = true; fooAPIResult.Message = "成功更新資料"; fooAPIResult.Payload = fooDBObj; } else { fooAPIResult.Success = false; fooAPIResult.Message = "沒有成功更新任何資料"; fooAPIResult.Payload = userTasks; } #endregion break; default: fooAPIResult.Success = false; fooAPIResult.Message = $"沒有符合的工作狀態馬 = {userTasks.Status}"; fooAPIResult.Payload = userTasks; break; } } else { fooAPIResult.Success = false; fooAPIResult.Message = $"沒有發現工作紀錄 ID = {userTasks.Id}"; fooAPIResult.Payload = userTasks; } return(fooAPIResult); }