예제 #1
0
        /// <summary>
        /// 新增任务
        /// </summary>
        /// <param name="taskRequestData">新增的数据</param>
        /// <param name="page"></param>
        /// <returns></returns>
        public async Task <ResponseData> AddTask(TaskRequestData taskRequestData, Page page)
        {
            if (!helperFunction.CheckForNull(taskRequestData))
            {
                string Message = "任务名字 和 任务类型 和 业务类型 和 预定时间 不能为空";
                return(new ResponseData(Message, "", StatusCode.Fail));
            }
            var taskData     = mapper.Map <TaskData>(taskRequestData);
            var NameIsExists = Db.SingleOrDefault <TaskData>("where Task_Name = @0", taskData.Task_Name);
            var TimeSpanDate = Convert.ToDateTime(taskRequestData.Task_PresetTime) - DateTime.Now;

            if (NameIsExists != null)
            {
                return(new ResponseData("任务名,已存在", "", StatusCode.Fail));
            }
            if (Convert.ToInt32(TimeSpanDate.Seconds) < 0)
            {
                return(new ResponseData("执行时间 必须大于 当前时间", "", StatusCode.Fail));
            }
            switch (taskData.Task_TaskType)
            {
            // 添加一次性任务
            case "OneOff":
                taskData.Task_CreateTime    = DateTime.Now.ToString("F");
                taskData.Task_PresetTime    = DateTime.Now.ToString("F");
                taskData.Task_ExecuteReuslt = 0;
                taskData.Task_Isexists      = 1;
                await Db.InsertAsync(taskData);

                await formalBusiness.AddOneOffTask(taskData);

                return(new ResponseData("增加一次性任务成功", await Db.PageAsync <TaskData>(page.PageNumber, page.PageSize, "where Task_Isexists = 1"), StatusCode.Success));

            // 添加定时任务
            case "TimedTask":
                if (string.IsNullOrEmpty(taskData.Task_PresetTime))
                {
                    return(new ResponseData("增加任务失败,必须指定执行时间", "", StatusCode.Success));
                }
                var dateTimeMap = await formalBusiness.AddTimedTask(taskData);

                taskData.Task_CreateTime = DateTime.Now.ToString("F");
                var TimeDifference = (dateTimeMap.ExDateTime - DateTime.Now).TotalSeconds;
                //taskData.Task_IntervalTime = helperFunction.CheckDateTime(TimeDifference);
                taskData.Task_ExecuteReuslt = 0;
                taskData.Task_Isexists      = 1;
                await Db.InsertAsync(taskData);

                return(new ResponseData("增加定时任务成功", await Db.PageAsync <TaskData>(page.PageNumber, page.PageSize, "where Task_Isexists = 1"), StatusCode.Success));

            default:
                return(new ResponseData("增加任务失败,请明确任务类型", "", StatusCode.Success));
            }
        }
예제 #2
0
        public bool CheckForNull(TaskRequestData taskRequestData)
        {
            var IsName         = string.IsNullOrEmpty(taskRequestData.Task_Name);
            var IsTaskType     = string.IsNullOrEmpty(taskRequestData.Task_TaskType);
            var IsBusinessType = string.IsNullOrEmpty(taskRequestData.Task_BusinessType);

            //var IsPresetTime = string.IsNullOrEmpty(taskRequestData.Task_PresetTime);

            if (IsName || IsTaskType || IsBusinessType)
            {
                return(false);
            }
            return(true);
        }
예제 #3
0
 public async Task <IActionResult> Add(TaskRequestData taskRequestData, [FromQuery] Page page)
 {
     return(Ok(await tasksServer.AddTask(taskRequestData, page)));
 }