public IActionResult Add([FromBody] Schedule model) { try { if (model == null) { return(BadRequest()); } using (var db = new AllInOneContext.AllInOneContext()) { if (model.ScheduleCycle != null) { //补全数据 SystemOption cycletype = db.Set <SystemOption>() .FirstOrDefault(p => p.SystemOptionId.Equals(model.ScheduleCycle.CycleTypeId)); Schedule Schedule = model; if (cycletype != null) { Schedule.ScheduleCycle.CycleType = cycletype; } DateTime?executeTime = ScheduleUtility.GetExecuteTime(Schedule, DateTime.Now); model.ScheduleCycle.NextExecute = executeTime; } db.Schedule.Add(model); db.SaveChanges(); return(Created("", "OK")); } } catch (DbUpdateException dbEx) { _logger.LogError("Add:Message:{0}\r\n,StackTrace:{1}", dbEx.Message, dbEx.StackTrace); return(BadRequest(new ApplicationException { ErrorCode = "DBUpdate", ErrorMessage = "数据保存异常:" + dbEx.Message })); } catch (System.Exception ex) { _logger.LogError("Add:Message:{0}\r\n,StackTrace:{1}", ex.Message, ex.StackTrace); return(BadRequest(new ApplicationException { ErrorCode = "Unknown", ErrorMessage = ex.Message })); } }
/// <summary> /// 设置查勤包运行时间 /// </summary> /// <param name="planSchedule"></param> /// <returns></returns> private void SetPlanNextExecute(Schedule planSchedule, DateTime startTime) { try { //更新查勤计划下执行时间 DateTime?executeTime = ScheduleUtility.GetExecuteTime(planSchedule, startTime); planSchedule.ScheduleCycle.LastExecute = planSchedule.ScheduleCycle.NextExecute; planSchedule.ScheduleCycle.NextExecute = executeTime; //更新查勤计划执行时间 string url = string.Format("{0}/Infrastructure/schedule", GlobalSetting.AppServerBaseUrl); string result = string.Empty; HttpClientHelper.Put <Schedule>(planSchedule, url); _logger.LogInformation("更新查勤计划下一运行时间...."); } catch (Exception ex) { _logger.LogError("更新查勤计划运行时间异常:Message:{0}\r\nStackTrace:{1}", ex.Message, ex.StackTrace); } }
public IActionResult Update([FromBody] Schedule model) { try { if (model == null) { return(BadRequest()); } using (var db = new AllInOneContext.AllInOneContext()) { using (var tran = db.Database.BeginTransaction()) { if (model.ScheduleCycle != null) { //补全数据 SystemOption cycletype = db.Set <SystemOption>() .FirstOrDefault(p => p.SystemOptionId.Equals(model.ScheduleCycle.CycleTypeId)); Schedule Schedule = model; if (cycletype != null) { Schedule.ScheduleCycle.CycleType = cycletype; } DateTime?executeTime = ScheduleUtility.GetExecuteTime(Schedule, DateTime.Now); model.ScheduleCycle.NextExecute = executeTime; } //转换一般数据 Schedule shedule = db.Schedule .Include(t => t.ScheduleType) .Include(t => t.ScheduleCycle).ThenInclude(t => t.DayPeriods) .Include(t => t.ScheduleCycle).ThenInclude(t => t.CycleType) .FirstOrDefault(p => p.ScheduleId.Equals(model.ScheduleId)); if (shedule == null) { return(BadRequest()); } shedule.EffectiveTime = model.EffectiveTime; shedule.ExpirationTime = model.ExpirationTime; shedule.ScheduleTypeId = model.ScheduleTypeId; shedule.ScheduleName = model.ScheduleName; // ScheduleCycle scheduleCycle = db.Set <ScheduleCycle>() .Include(t => t.DayPeriods) .FirstOrDefault(p => p.ScheduleCycleId.Equals(shedule.ScheduleCycle.ScheduleCycleId)); //转换ScheduleCycle scheduleCycle.CycleTypeId = model.ScheduleCycle.CycleTypeId; scheduleCycle.Days = model.ScheduleCycle.Days; scheduleCycle.DaysJson = model.ScheduleCycle.DaysJson; scheduleCycle.LastExecute = model.ScheduleCycle.LastExecute; scheduleCycle.Months = model.ScheduleCycle.Months; scheduleCycle.MonthsJson = model.ScheduleCycle.MonthsJson; scheduleCycle.NextExecute = model.ScheduleCycle.NextExecute; scheduleCycle.WeekDayJson = model.ScheduleCycle.WeekDayJson; scheduleCycle.WeekDays = model.ScheduleCycle.WeekDays; // RemoveList(db, shedule); // scheduleCycle.DayPeriods = model.ScheduleCycle.DayPeriods; shedule.ScheduleCycle = scheduleCycle; db.Schedule.Update(shedule); db.SaveChanges(); // tran.Commit(); return(new NoContentResult()); } } } catch (DbUpdateException dbEx) { _logger.LogError("Update:Message:{0}\r\n,StackTrace:{1}", dbEx.Message, dbEx.StackTrace); return(BadRequest(new ApplicationException { ErrorCode = "DBUpdate", ErrorMessage = "数据保存异常:" + dbEx.Message })); } catch (System.Exception ex) { _logger.LogError("Update:Message:{0}\r\n,StackTrace:{1}", ex.Message, ex.StackTrace); return(BadRequest(new ApplicationException { ErrorCode = "Unknown", ErrorMessage = ex.Message })); } }