public ApiResult <List <WorkScheduleIssueDto> > Check(WorkScheduleCheckEntry workScheduleCheckEntry)// Check(dynamic workScheduleCheckEntry)// { //WorkScheduleCheckEntry workScheduleCheckEntry = new WorkScheduleCheckEntry(); //workScheduleCheckEntry.CheckTypes.Add("CW7"); //return _workScheduleCheckService.Check(JsonConvert.DeserializeObject<WorkScheduleCheckEntry>(workScheduleCheckEntry.ToString())); //WorkScheduleCheckResult result = DataCheck(workScheduleCheckEntry); //if (result.State) _logger.Info("開始呼叫WorkScheduleCheck.Check"); return(_workScheduleCheckService.Check(workScheduleCheckEntry)); //else // return result; }
/// <summary> /// 輸入資料檢核 /// </summary> /// <param name="workScheduleCheckEntry"></param> /// <returns></returns> private WorkScheduleCheckResult DataCheck(WorkScheduleCheckEntry workScheduleCheckEntry) { WorkScheduleCheckResult result = new WorkScheduleCheckResult(); result.State = true; result.workScheduleIssues = new List <WorkScheduleIssueDto>(); WorkScheduleCheckEntry WSCE = workScheduleCheckEntry; WorkScheduleCheckDto WSCD = workScheduleCheckEntry.workScheduleCheck; for (DateTime DT = WSCD.StartDate; DT <= WSCD.EndCheckDate; DT = DT.AddDays(1)) { if (!WSCD.WorkSchedules.Where(p => p.AttendanceDate == DT).Any()) { result.State = false; result.workScheduleIssues.Add(new WorkScheduleIssueDto { IssueDate = DT, CheckType = "DataCheck", ErrorCode = "DataCheck",//"CDT2", ErrorMessage = string.Format("檢核日期:{0} 並無班表資料.", DT.ToString("yyyy-MM-dd")), }); } else if (!WSCD.ScheduleTypes.Where(p => p.Code == WSCD.WorkSchedules.Where(p => p.AttendanceDate == DT).First().ScheduleType).Any()) { result.State = false; result.workScheduleIssues.Add(new WorkScheduleIssueDto { IssueDate = DT, CheckType = "DataCheck", ErrorCode = "DataCheck",//"CDT2", ErrorMessage = string.Format("檢核日期:{0} 班別資料不存在.", DT.ToString("yyyy-MM-dd")), }); } } return(result); }
public ApiResult <List <WorkScheduleIssueDto> > CheckWithQuery(WorkScheduleCheckEntry workScheduleCheckEntry)// Check(dynamic workScheduleCheckEntry)// { _logger.Info("開始呼叫WorkScheduleCheck.CheckWithQuery"); return(_workScheduleCheckService.CheckWithQuery(workScheduleCheckEntry)); }