public JsonResult NodeLog(LoadNodeLogRequest req)
        {
            ViewBag.NodeId = req.NodeId.ToString();
            ViewBag.NodeLogCreateTimeRange = req.NodeLogCreateTimeRange.ToString();
            ViewBag.NodeLogType            = req.NodeLogType.ToString();
            ResponseBase <PageInfoResponse <List <tb_log> > > tasklist = PostToServer <PageInfoResponse <List <tb_log> >, LoadNodeLogRequest>(ClientProxy.LoadNodeLogList_Url, req);

            if (tasklist.Status != ResponesStatus.Success)
            {
                return(Json(new
                {
                    sEcho = 0,
                    iTotalRecords = 0,
                    iTotalDisplayRecords = 0,
                    aaData = new List <string>()
                }));
            }
            return(Json(tasklist.Data));
        }
Esempio n. 2
0
        public ResponseBase <PageInfoResponse <List <tb_log> > > LoadNodeLog(LoadNodeLogRequest req)
        {
            try
            {
                DateTime      starttime  = Convert.ToDateTime(req.NodeLogCreateTimeRange.Split('/')[0]);
                DateTime      endtime    = Convert.ToDateTime(req.NodeLogCreateTimeRange.Split('/')[1]).AddDays(1);
                int           pageIndex  = (req.iDisplayStart / req.iDisplayLength) + 1;
                int           totalCount = 0;
                List <tb_log> logList    = new List <tb_log>();
                switch ((LogType)req.NodeLogType)
                {
                case LogType.CommonError:
                case LogType.SystemError:
                {
                    List <tb_error> errorList = errorrespository.Find(out totalCount, pageIndex, req.iDisplayLength, x => x.id.ToString(),
                                                                      x => x.nodeid == (req.NodeId <= 0 ? x.nodeid : req.NodeId) &&
                                                                      x.errorcreatetime >= starttime && x.errorcreatetime < endtime &&
                                                                      x.errortype == (req.NodeLogType < 0 ? x.errortype : req.NodeLogType)).OrderByDescending(x => x.errorcreatetime).ToList();
                    errorList.ForEach(x =>
                        {
                            logList.Add(new tb_log()
                            {
                                logcreatetime = x.errorcreatetime,
                                logtype       = x.errortype,
                                msg           = x.msg,
                                nodeid        = x.nodeid,
                                taskid        = x.taskid
                            });
                        });
                }
                break;

                case LogType.RefreshCommandQueueLog:
                {
                    List <tb_refreshcommadqueuelog> refreshlogList = refreshcommandQueueLogRepository.Find(out totalCount, pageIndex, req.iDisplayLength, x => x.id.ToString(),
                                                                                                           x => x.nodeid == (req.NodeId <= 0 ? x.nodeid : req.NodeId) &&
                                                                                                           x.logcreatetime >= starttime && x.logcreatetime < endtime &&
                                                                                                           x.logtype == (req.NodeLogType < 0 ? x.logtype : req.NodeLogType)
                                                                                                           ).OrderByDescending(x => x.logcreatetime).ToList();
                    refreshlogList.ForEach(x =>
                        {
                            logList.Add(new tb_log()
                            {
                                logcreatetime = x.logcreatetime,
                                logtype       = x.logtype,
                                msg           = x.msg,
                                nodeid        = x.nodeid,
                                taskid        = x.taskid
                            });
                        });
                }
                break;

                default:
                {
                    logList = logrespository.Find(out totalCount, pageIndex, req.iDisplayLength, x => x.id.ToString(),
                                                  x => x.nodeid == (req.NodeId <= 0 ? x.nodeid : req.NodeId) &&
                                                  x.logcreatetime >= starttime && x.logcreatetime < endtime &&
                                                  x.logtype == (req.NodeLogType < 0 ? x.logtype : req.NodeLogType)
                                                  ).OrderByDescending(x => x.logcreatetime).ToList();
                }
                break;
                }
                if (logList.Count <= 0)
                {
                    return(ResponseToClient <PageInfoResponse <List <tb_log> > >(ResponesStatus.Failed, "暂无对应的节点日志列表"));
                }
                return(ResponseToClient <PageInfoResponse <List <tb_log> > >(ResponesStatus.Success, "", new PageInfoResponse <List <tb_log> >()
                {
                    aaData = logList, iTotalDisplayRecords = totalCount, iTotalRecords = totalCount, sEcho = req.sEcho
                }));
            }
            catch (Exception ex)
            {
                return(ResponseToClient <PageInfoResponse <List <tb_log> > >(ResponesStatus.Exception, JsonConvert.SerializeObject(ex)));
            }
        }