public IActionResult ActivityLogData(ActivityLogSearchArg arg) { var parameters = Request.QueryString.ToTableParms(); var pageList = _activityLogService.AdminSearch(arg, parameters); var data = pageList.ToAjax(); return(Json(data)); }
/// <summary> /// /// </summary> /// <param name="arg"></param> /// <param name="parms"></param> /// <returns></returns> public IPagedList <Sys_ActivityLogMapping> AdminSearch(ActivityLogSearchArg arg, DataTablesParameters parameters) { var query = from log in _dbContext.sys_activitylog join u in _dbContext.sys_user on log.creator equals u.id join c in _dbContext.sys_activitylog_comment on log.entity_name equals c.entity_name into temp from lcomment in temp.DefaultIfEmpty() select new Sys_ActivityLogMapping() { id = log.id, entity_name = log.entity_name, method = log.method, newvalue = log.newvalue, oldvalue = log.oldvalue, creation_time = log.creation_time, primary_key = log.primary_key, user_name = u.name, user_account = u.account, comment = lcomment.comment }; #region 排序 if (!String.IsNullOrEmpty(parameters.OrderName)) { switch (parameters.OrderName) { case "method": if (parameters.OrderDir.Equals("desc", StringComparison.InvariantCultureIgnoreCase)) { query = query.OrderByDescending(o => o.method); } else { query = query.OrderBy(o => o.method); } break; case "entity_name": if (parameters.OrderDir.Equals("desc", StringComparison.InvariantCultureIgnoreCase)) { query = query.OrderByDescending(o => o.entity_name); } else { query = query.OrderBy(o => o.entity_name); } break; case "creation_time_foramt": if (parameters.OrderDir.Equals("desc", StringComparison.InvariantCultureIgnoreCase)) { query = query.OrderByDescending(o => o.creation_time); } else { query = query.OrderBy(o => o.creation_time); } break; case "user_account": if (parameters.OrderDir.Equals("desc", StringComparison.InvariantCultureIgnoreCase)) { query = query.OrderByDescending(o => o.user_account); } else { query = query.OrderBy(o => o.user_account); } break; case "user_name": if (parameters.OrderDir.Equals("desc", StringComparison.InvariantCultureIgnoreCase)) { query = query.OrderByDescending(o => o.user_name); } else { query = query.OrderBy(o => o.user_name); } break; default: query = query.OrderBy(o => o.id); break; } } else { query = query.OrderByDescending(o => o.id); } #endregion return(PagedList <Sys_ActivityLogMapping> .Create(query, parameters.PageIndex, parameters.Length)); }
/// <summary> /// /// </summary> /// <param name="arg"></param> /// <param name="parms"></param> /// <returns></returns> public IPagedList <Sys_ActivityLogMapping> AdminSearch(ActivityLogSearchArg arg, DataTablesParameters parameters) { var query = from log in _dbContext.Sys_ActivityLog join u in _dbContext.Sys_User on log.Creator equals u.Id join c in _dbContext.Sys_ActivityLogComment on log.EntityName equals c.EntityName into temp from lcomment in temp.DefaultIfEmpty() select new Sys_ActivityLogMapping() { Id = log.Id, EntityName = log.EntityName, Method = log.Method, NewValue = log.NewValue, OldValue = log.OldValue, CreationTime = log.CreationTime, PrimaryKey = log.PrimaryKey, UserName = u.Name, UserAccount = u.Account, Comment = lcomment.Comment }; #region 排序 if (!String.IsNullOrEmpty(parameters.OrderName)) { switch (parameters.OrderName) { case "Method": if (parameters.OrderDir.Equals("desc", StringComparison.InvariantCultureIgnoreCase)) { query = query.OrderByDescending(o => o.Method); } else { query = query.OrderBy(o => o.Method); } break; case "EntityName": if (parameters.OrderDir.Equals("desc", StringComparison.InvariantCultureIgnoreCase)) { query = query.OrderByDescending(o => o.EntityName); } else { query = query.OrderBy(o => o.EntityName); } break; case "CreationTimeForamt": if (parameters.OrderDir.Equals("desc", StringComparison.InvariantCultureIgnoreCase)) { query = query.OrderByDescending(o => o.CreationTime); } else { query = query.OrderBy(o => o.CreationTime); } break; case "UserAccount": if (parameters.OrderDir.Equals("desc", StringComparison.InvariantCultureIgnoreCase)) { query = query.OrderByDescending(o => o.UserAccount); } else { query = query.OrderBy(o => o.UserAccount); } break; case "UserName": if (parameters.OrderDir.Equals("desc", StringComparison.InvariantCultureIgnoreCase)) { query = query.OrderByDescending(o => o.UserName); } else { query = query.OrderBy(o => o.UserName); } break; default: query = query.OrderBy(o => o.Id); break; } } else { query = query.OrderByDescending(o => o.Id); } #endregion return(PagedList <Sys_ActivityLogMapping> .Create(query, parameters.PageIndex, parameters.Length)); }