Files
lserp_cs_5.0/插件库/Lskj.PubPower/DynamicModel.cs
T
2026-07-10 15:25:05 +08:00

154 lines
5.4 KiB
C#

using CommonLib;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Lskj.PubPower
{
/// <summary>
/// 动态链接库对象
/// </summary>
public class DynamicModel
{
/// <summary>
/// 菜单ID
/// </summary>
/// <value>The module identifier.</value>
public int ModuleId { get; protected set; }
/// <summary>
/// 窗口标题
/// </summary>
/// <value>The form text.</value>
public string FormText { get; protected set; }
/// <summary>
/// 权限(1.有操作权限.0.无权限.2.只读权限.3.右键配置权限全部开放)
/// </summary>
/// <value>The privilege.</value>
public string Privilege { get; set; }
/// <summary>
/// 模块编号
/// </summary>
/// <value>The module code.</value>
public string ModuleCode { get; protected set; }
/// <summary>
/// 用户ID
/// </summary>
/// <value>The user identifier.</value>
public string UserId { get { return ERPInfo.Instance.EmployeeId+""; } private set { ERPInfo.Instance.EmployeeId =int.Parse( value); } }
/// <summary>
/// 用户名称
/// </summary>
/// <value>The name of the user.</value>
public string UserName { get { return ERPInfo.Instance.EmployeeName; } private set { ERPInfo.Instance.EmployeeName = value; } }
/// <summary>
/// 是否是配置查询明细
/// </summary>
/// <value>The state of the save.</value>
public bool IsDetailSearch { get; set; }
/// <summary>
/// <para>说明:是否有操作权限</para>
/// <para>创建人:龚宇超</para>
/// <para>创建日期:2017-11-14 </para>
/// <para>修改人:</para>
/// <para>修改日期:</para>
/// <para>修改备注:</para>
/// <para>版本:1.0</para>
/// </summary>
/// <returns><c>true</c> if this instance has privilege; otherwise, <c>false</c>.</returns>
public bool HasOperPrivilege()
{
return "1".Equals(this.Privilege) || "3".Equals(this.Privilege);
}
/// <summary>
/// <para>说明:是否有只读权限</para>
/// <para>创建人:龚宇超</para>
/// <para>创建日期:2017-11-14 </para>
/// <para>修改人:</para>
/// <para>修改日期:</para>
/// <para>修改备注:</para>
/// <para>版本:1.0</para>
/// </summary>
/// <returns><c>true</c> if [has read privilege]; otherwise, <c>false</c>.</returns>
public bool HasReadPrivilege()
{
return "2".Equals(this.Privilege);
}
/// <summary>
/// <para>说明:是否有权限、包含只读和可操作权限</para>
/// <para>创建人:龚宇超</para>
/// <para>创建日期:2017-11-27 </para>
/// <para>修改人:</para>
/// <para>修改日期:</para>
/// <para>修改备注:</para>
/// <para>版本:1.0</para>
/// </summary>
/// <returns><c>true</c> if this instance has privilege; otherwise, <c>false</c>.</returns>
public bool HasPrivilege()
{
return HasOperPrivilege() || HasReadPrivilege();
}
/// <summary>
/// 是否为基础档案
/// </summary>
/// <value><c>true</c> if this instance is base module; otherwise, <c>false</c>.</value>
public virtual bool IsBaseModule { get { return false; } }
/// <summary>
/// 其他参数
/// </summary>
/// <value>The parameters.</value>
public string[] Params;
/// <summary>
/// <para>说明:传入特殊参数处理</para>
/// <para>创建人:龚宇超</para>
/// <para>创建日期:2017-11-22 </para>
/// <para>修改人:</para>
/// <para>修改日期:</para>
/// <para>修改备注:</para>
/// <para>版本:1.0</para>
/// </summary>
/// <param name="model">The model.</param>
/// <returns>System.String[].</returns>
public virtual string[] OtherParams()
{
return this.Params;
}
/// <summary>
/// 初始化默认参数(1.标题、2、用户ID、3.用户名、4.权限、5.模块编号、6.菜单ID)
/// </summary>
/// <param name="args">The arguments.</param>
public DynamicModel(string[] args)
{
this.FormText = args[0];
this.UserId = args[1];
this.UserName = args[2];
this.Privilege = args[3];
this.ModuleCode = args[4];
this.ModuleId = 0;
this.Params = new string[args.Length];
for (int i = 8; i < args.Length; i++)
{
Params[i - 8] = args[i];
}
}
}
/// <summary>
/// 权限设置入口对象
/// </summary>
public class DynamicPowerModel : DynamicModel
{
public DynamicPowerModel(string[] args)
: base(args)
{
// 右键菜单打开的模块没有moduleId,部分特殊模块没有moduleId比如添加界面.
if (!string.IsNullOrEmpty(args[5]))
{
base.ModuleId = Convert.ToInt32(args[5]);
}
}
}
}