Esempio n. 1
0
        public IActionResult ActivityLogData(ActivityLogSearchArg arg)
        {
            var parameters = Request.QueryString.ToTableParms();
            var pageList   = _activityLogService.AdminSearch(arg, parameters);
            var data       = pageList.ToAjax();

            return(Json(data));
        }
Esempio n. 2
0
        /// <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));
        }
Esempio n. 3
0
        /// <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));
        }