using System; using System.Collections.Generic; using System.Linq; using System.Text; using Lskj.Util; using Lskj.Business; using System.Windows.Forms; using Lskj.Model; using Newtonsoft.Json; using Newtonsoft.Json.Linq; using System.Data; namespace Lskj.PubApiSetModule { /// /// c#库被调用统一接口类 /// public sealed class DllBaseClass : IForm { public DllBaseClass() { } public DllBaseClass(string[] obj) { try { DynamicApiSetModel dynamicModel = new DynamicApiSetModel(obj); FrmMain main = new FrmMain(); this.SubForm = main; main.Model = dynamicModel; } catch (Exception ex) { LogUtil.WriteError("Lskj.PubApiSetModule.dll--参数错误-->" + obj.ToString(), ex); } } /// /// 窗口 /// public Form SubForm { get; set; } } /// /// 入口模型 /// public class DynamicApiSetModel : DynamicModel { /// /// 初始化默认参数(1.标题、2、用户ID、3.用户名、4.权限、5.模块编号、6.菜单ID) /// /// The arguments. public DynamicApiSetModel(string[] args) : base(args) { // 右键菜单打开的模块没有moduleId,部分特殊模块没有moduleId比如添加界面. if (!string.IsNullOrEmpty(args[5])) { base.ModuleId = Convert.ToInt32(args[5]); } if (args.Length > 6 && !string.IsNullOrWhiteSpace(args[6])) { base.ModuleCode = args[6]; } if (!string.IsNullOrEmpty(args[args.Length - 1])) { try { JObject rowObject = JsonConvert.DeserializeObject(args[args.Length - 1]); JArray jArray = new JArray(); jArray.Add(rowObject); DataTable dataTable = JsonConvert.DeserializeObject(JsonConvert.SerializeObject(jArray)); this.MaintabFocusedRow = dataTable.Rows[0]; } catch (Exception) { } } } } }