using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc.Html;
using QMFrameWork.WebUI.Attribute;
using QMFrameWork.WebUI;
using System.Web.Mvc;

namespace QMAPP.Web.Models.Sys
{
    public class SystemOperateLogModel : QDGModel
    {
        public SystemOperateLogModel()
        {
            //设置页尺寸
            this.pageSize = MvcApplication.PageSize.ToString();
            this.checkbox = false;
        }

        /// <summary>
        /// 记录主键
        /// </summary>
        [Description("记录主键")]
        [HTMLInput(UpdateRead = true, required = true, MaxLength = 36)]
        [InputType(inputType.hidden)]
        [DGColumn(Hidden = true, PrimaryKey = true)]
        public string OperateID { get; set; }

        /// <summary>
        /// 客户端IP
        /// </summary>
        [Description("客户端IP")]
        [HTMLInput(UpdateRead = false, required = true, MaxLength = 16)]
        [InputType(inputType.text)]
        [DGColumn(frozenColumns = true, Sortable = true, Width = 100, DataAlign = DataAlign.center)]
        public string ClientIP { get; set; }

        /// <summary>
        /// 操作人
        /// </summary>
        [Description("操作人")]
        [HTMLInput(UpdateRead = false, required = true, MaxLength = 36)]
        [InputType(inputType.text)]
        public string UserID { get; set; }

        /// <summary>
        /// 操作人
        /// </summary>
        [Description("操作人")]
        [HTMLInput(UpdateRead = false, required = true, MaxLength = 36)]
        [InputType(inputType.text)]
        [DGColumn(frozenColumns = true, Sortable = true, Width = 100)]
        public string UserName { get; set; }

        /// <summary>
        /// 操作类型
        /// </summary>
        [Description("操作类型")]
        [HTMLInput(UpdateRead = false, required = true, MaxLength = 4,JsonUtl="/Dict/GetSystemOperateLogType")]
        [InputType(inputType.combobox)]
        public string OperateType { get; set; }

        /// <summary>
        /// 操作类型
        /// </summary>
        [Description("操作类型")]
        [HTMLInput(UpdateRead = false, required = true, MaxLength = 4, JsonUtl = "/Dict/GetSystemOperateLogType")]
        [InputType(inputType.combobox)]
        [DGColumn(frozenColumns = true, Sortable = true, Width = 100)]
        public string OperateTypeName { get; set; }

        /// <summary>
        /// 操作时间
        /// </summary>
        [Description("操作时间")]
        [HTMLInput(UpdateRead = false, required = true, MaxLength = 20)]
        [InputType(inputType.text)]
        [DGColumn(frozenColumns = true, Sortable = true, Width = 200, DataAlign = DataAlign.center,FormatDate=("yyyy-MM-dd hh:mm:ss"))]
        public string OperateTime { get; set; }

        /// <summary>
        /// 操作内容
        /// </summary>
        [Description("操作内容")]
        [HTMLInput(UpdateRead = false, required = true, MaxLength = 500)]
        [InputType(inputType.text)]
        [DGColumn(frozenColumns = true, Sortable = true, Width = 100)]
        public string OperateContent { get; set; }

        /// <summary>
        /// 备注
        /// </summary>
        [Description("备注")]
        [HTMLInput(UpdateRead = false, required = true, MaxLength = 500)]
        [InputType(inputType.text)]
        [DGColumn(frozenColumns = true, Sortable = true, Width = 100)]
        public string Remark { get; set; }

        /// <summary>
        /// 起始时间
        /// </summary>
        [Description("起始时间")]
        [HTMLInput(UpdateRead = false, required = true, MaxLength = 20)]
        [InputType(inputType.datebox)]
        public string StartDate { set; get; }

        /// <summary>
        /// 结束时间
        /// </summary>
        [Description("结束时间")]
        [HTMLInput(UpdateRead = false, required = true, MaxLength = 20)]
        [InputType(inputType.datebox)]
        public string EndDate { set; get; }
    }
}