예제 #1
0
        public ResponseBase <PageInfoResponse <List <TaskLogListDto> > > LoadTaskExecuteLog(LoadTaskExecuteLogRequest req)
        {
            try
            {
                DateTime starttime   = Convert.ToDateTime(req.TaskLogCreateTimeRange.Split('/')[0]);
                DateTime endtime     = Convert.ToDateTime(req.TaskLogCreateTimeRange.Split('/')[1]).AddDays(1);
                int      pageIndex   = (req.iDisplayStart / req.iDisplayLength) + 1;
                int      totalCount  = 0;
                var      tasklogList = taskLogRep.Find(out totalCount, pageIndex, req.iDisplayLength, x => x.logcreatetime.ToString(), x =>
                                                       x.taskid == (req.TaskId <= 0 ? x.taskid : req.TaskId) &&
                                                       x.nodeid == (req.NodeId <= 0 ? x.nodeid : req.NodeId) &&
                                                       x.taskstatus == (req.TaskExecuteStatus < 0 ? x.taskstatus : req.TaskExecuteStatus) &&
                                                       x.logcreatetime >= starttime && x.logcreatetime < endtime
                                                       ).OrderByDescending(x => x.logcreatetime).ToList();//.OrderByDescending(x=>x.id)

                if (tasklogList.Count <= 0)
                {
                    return(ResponseToClient <PageInfoResponse <List <TaskLogListDto> > >(ResponesStatus.Failed, "暂无对应的任务执行日志列表"));
                }
                List <TaskLogListDto> dtolist = new List <TaskLogListDto>();
                tasklogList.ForEach(x =>
                {
                    dtolist.Add(new TaskLogListDto()
                    {
                        TaskLogDetail = x,
                        NodeDetail    = noderepository.FindSingle(m => m.id == x.nodeid)
                    });
                });
                return(ResponseToClient <PageInfoResponse <List <TaskLogListDto> > >(ResponesStatus.Success, "", new PageInfoResponse <List <TaskLogListDto> >()
                {
                    aaData = dtolist, iTotalDisplayRecords = totalCount, iTotalRecords = totalCount, sEcho = req.sEcho
                }));
            }
            catch (Exception ex)
            {
                return(ResponseToClient <PageInfoResponse <List <TaskLogListDto> > >(ResponesStatus.Exception, JsonConvert.SerializeObject(ex)));
            }
        }