using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; using MES.Production.Service.IService; using Central.Control.Domain; using Ant.Service.Common; using Ant.Service.Common.Enums; using ChangFa.Machinery.WebPage.Controllers; namespace ChangFa.Machinery.WebPage.Areas.SysManage.Controllers { public class SyslogController : BaseController { #region 声明容器 /// /// 系统日志管理 /// ISyslogManage SyslogManage { get; set; } #endregion #region 基本视图 /// /// 加载首页 /// 日志特殊规则: /// 1、非管理员只能查看自己的操作内容 /// [UserAuthorizeAttribute(ModuleAlias = "Syslog", OperaAction = "View")] public ActionResult Index() { //获取查询条件 var level = Request.QueryString["level"]; var action = Request.QueryString["actions"]; var result = BindList(level, action); ViewData["logaction"] = Tools.BindEnums(typeof(enumOperator)); ViewData["sellog"] = action; ViewData["lev"] = level; ViewBag.Search = base.keywords; return View(result); } /// /// 加载列表 /// private object BindList(string level, string action) { var predicate = PredicateBuilder.True(); //日志级别 if (!string.IsNullOrEmpty(level)) { predicate = predicate.And(p => p.LEVELS == level); } //日志动作 if (!string.IsNullOrEmpty(action)) { predicate = predicate.And(p => p.ACTION == action); } //关键词 if (!string.IsNullOrEmpty(base.keywords)) { predicate = predicate.And(p => p.MESSAGE.Contains(keywords)); } //人员 if (!this.CurrentUser.IsAdmin) { predicate = predicate.And(p => p.CLIENTUSER == CurrentUser.Name); } return this.SyslogManage.Query(this.SyslogManage.LoadAll(predicate).OrderByDescending(p => p.DATES), base.page, base.pagesize); } /// /// 加载详情 /// [UserAuthorizeAttribute(ModuleAlias = "Syslog", OperaAction = "Detail")] public ActionResult Detail(int? id) { var entity = this.SyslogManage.Get(p => p.ID == id) ?? new SYS_LOG(); return View(entity); } #endregion #region 其他调用 #endregion } }