public async Task <HttpResponseMessage> ScheduleTask([FromBody] ScheduleTaskRequest request)
        {
            Trace.TraceInformation($"Request came to Web for JobId: {request.JobId} and TaskId: {request.TaskId}");
            PageJobEntity entity = await GetJobIdFromTable(request.JobId);

            if (entity == null)
            {
                return(new HttpResponseMessage(HttpStatusCode.NotFound));
            }
            else
            {
                await queueProvider.InsertMessageAsync(JsonConvert.SerializeObject(new ConnectorTask
                {
                    TenantId      = Settings.TenantId,
                    JobId         = request.JobId,
                    TaskId        = request.TaskId,
                    StartTime     = request.StartTime,
                    EndTime       = request.EndTime,
                    DirtyEntities = request.DirtyEntities,
                    BlobSasUri    = request.BlobSasUri
                }));

                return(new HttpResponseMessage(HttpStatusCode.OK));
            }
        }
Example #2
0
        /// <summary>
        /// 获取所有任务列表
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public BusinessPagedBaseViewModel <ScheduleTaskResponse> FindList(ScheduleTaskRequest request)
        {
            int totalCount = 0;
            var res        = new BusinessPagedBaseViewModel <ScheduleTaskResponse>()
            {
                Status = ResponseStatus.Fail
            };

            #region 条件处理
            var filter = PredicateBuilder.True <ScheduleTaskConfig>();
            filter = filter.And(x => x.Status == (int)YesOrNo.Yes);
            if (request.CreateBeginTime.HasValue)
            {
                filter = filter.And(x => x.CreateTime >= request.CreateBeginTime.Value);
            }
            if (request.CreateEndTime.HasValue)
            {
                filter = filter.And(x => x.CreateTime <= request.CreateEndTime.Value);
            }

            if (!string.IsNullOrWhiteSpace(request.KeyWords))
            {
                filter = filter.And(x => x.TaskName.Contains(request.KeyWords));
            }

            #endregion

            #region 排序处理
            var order = new IOrderByBuilder <ScheduleTaskConfig>[]
            {
                new OrderByBuilder <ScheduleTaskConfig, DateTime?>(x => x.CreateTime, true),
            };
            #endregion

            var query = _scheduleTaskConfigRepository.Find(out totalCount, request.PageIndex, request.PageSize, filter, order);

            #region 返回数据处理
            res.Status = ResponseStatus.Success;
            var list = query.ToList();
            res.BusinessData = list.MapToList <ScheduleTaskResponse>();
            res.Total        = totalCount;
            #endregion

            return(res);
        }
Example #3
0
        public ActionResult FindList(ScheduleTaskRequest request)
        {
            var res = _scheduleTaskConfigService.FindList(request);

            return(Content(res.ToJsonString()));
        }