public BaseResponse <QueryLogResult> QueryLog(QueryLogParameter param) { if (Validate(param)) { return(logManager.QueryLog(param)); } else { BaseResponse <QueryLogResult> response = new BaseResponse <QueryLogResult>(); response.IsSuccessful = false; response.Reason = "JWT_ERR"; return(response); } }
public BaseResponse <QueryLogResult> QueryLog(QueryLogParameter param) { BaseResponse <QueryLogResult> response = new BaseResponse <QueryLogResult>(); QueryLogResult result = new QueryLogResult(); try { var logQuerable = syslogRepsoitory.GetDatas <SysLog>(t => true, true); if (param.RoleID.HasValue && param.RoleID.Value > 0) { logQuerable = logQuerable.Where(t => t.RoleID == param.RoleID.Value); } if (param.BeginTime.HasValue && param.BeginTime.Value != DateTime.MinValue) { logQuerable = logQuerable.Where(t => t.OperationDate >= param.BeginTime.Value); } if (param.EndTime.HasValue && param.EndTime.Value != DateTime.MinValue) { logQuerable = logQuerable.Where(t => t.OperationDate <= param.EndTime.Value); } if (!string.IsNullOrEmpty(param.Keyword)) { logQuerable = logQuerable.Where(t => (!string.IsNullOrEmpty(t.UserToken) && t.UserToken.ToUpper().Contains(param.Keyword.ToUpper())) || (!string.IsNullOrEmpty(t.OrganName) && t.OrganName.ToUpper().Contains(param.Keyword.ToUpper()))); } int total = logQuerable.Count(); ListSortDirection sortOrder = param.Order.ToLower().Equals("asc") ? ListSortDirection.Ascending : ListSortDirection.Descending; PropertySortCondition[] sortList = new PropertySortCondition[] { new PropertySortCondition(param.Sort, sortOrder), new PropertySortCondition("ID", sortOrder), }; logQuerable.OrderBy(sortList); if (param.Page > 0) { logQuerable = logQuerable .Skip((param.Page - 1) * param.PageSize) .Take(param.PageSize); } logQuerable.ToList().ForEach(l => { LogInfo logInfo = new LogInfo(); logInfo.ID = l.ID; logInfo.OperationUserID = l.OperationUserID; logInfo.UserToken = l.UserToken; logInfo.RoleID = l.RoleID; logInfo.RoleName = l.RoleName; logInfo.Content = l.Content; logInfo.OrganID = l.OrganID; logInfo.OrganName = l.OrganName; logInfo.IP = l.IP; logInfo.HTTPType = l.HTTPType; logInfo.OperationDate = l.OperationDate; result.LogList.Add(logInfo); }); result.Total = total; response.Result = result; return(response); } catch (Exception e) { LogHelper.WriteLog(e); response.IsSuccessful = false; response.Reason = e.Message; return(response); } }