public ActionResult Index(int?page) { int pageIndex = PagingHelper.GetPageIndex(page); ITaskRoundService ss = new TaskRoundService(Settings.Default.db); IPagedList <TaskRound> rounds = ss.List().ToPagedList(pageIndex, Settings.Default.pageSize); return(View(rounds)); }
/// <summary> /// 分发任务 /// </summary> /// <param name="ts"></param> public void Dispatch(TaskSetting ts) { ITaskRoundService trs = new TaskRoundService(this.DbString); TaskRound taskRound = null; try { if (ts.LogTaskRound) { taskRound = trs.Create(ts.TaskType); } LogUtil.Logger.Info("获取到任务信息:"); LogUtil.Logger.Info(ts.TaskType); LogUtil.Logger.Info(ts.JsonParameter); switch (ts.TaskType) { case TaskType.CalAtt: CalAttParameter calAtt = JSONHelper.parse <CalAttParameter>(ts.JsonParameter); IAttendanceRecordService ars = new AttendanceRecordService(this.DbString); //ars.CalculateAttendRecord(calAtt.AttCalculateDateTime, calAtt.ShiftCodes); ars.CalculateAttendRecordWithExtrawork(calAtt.AttCalculateDateTime); // add send email to queue SendAttWarnEmailMessage(calAtt.AttCalculateDateTime, calAtt.ShiftCodes); // create message record SendAttWarnMsgRecordMessage(calAtt.AttCalculateDateTime, calAtt.ShiftCodes); break; case TaskType.SendMail: break; case TaskType.SendAttExceptionMail: AttWarnEmailParameter attWarn = JSONHelper.parse <AttWarnEmailParameter>(ts.JsonParameter); IAttendanceRecordCalService arcs = new AttendanceRecordCalService(this.DbString); arcs.SendWarnEmail(attWarn.AttWarnDate); break; case TaskType.ToFullMemeberWarn: IMessageRecordService mrs = new MessageRecordService(this.DbString); mrs.CreateToFullMemberMessage(ts.TaskCreateAt.Date); break; case TaskType.AttExceptionWarn: AttWarnParameter attWarnP = JSONHelper.parse <AttWarnParameter>(ts.JsonParameter); IMessageRecordService mrss = new MessageRecordService(this.DbString); mrss.CreateAttExceptionMessage(attWarnP.AttWarnDate); break; case TaskType.ReStartSvc: this.IsRestartSvc = true; break; default: throw new TaskTypeNotSupportException(); } if (ts.LogTaskRound && taskRound != null) { trs.FinishTaskByUniqId(taskRound.uuid, "任务运行成功"); } } catch (Exception ex) { string msg = string.Format("{0}: {1}", ex.Message, ex.StackTrace); LogUtil.Logger.Error("任务执行错误:", ex); try { if (ts.LogTaskRound && taskRound != null) { trs.FinishTaskByUniqId(taskRound.uuid, msg, true); } } catch { } throw new Exception(msg, ex); } }