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
}
}