using Lskj.Business; using Lskj.Business.Impl; using Lskj.Core; using Lskj.Model; using Lskj.Util; using Newtonsoft.Json; using Newtonsoft.Json.Linq; using System; using System.Collections.Generic; using System.Data; using System.Linq; using System.Windows.Forms; namespace Lskj.PubBomAlter { /// /// c#库被调用统一接口类 /// public sealed class DllBaseClass : IForm { public DllBaseClass() { } public DllBaseClass(string[] obj) { try { DynamicBomAlterModel bomAlterModel = new DynamicBomAlterModel(obj); FrmMain main = new FrmMain(); main.ModelObj = obj; main.BomAlterModel = bomAlterModel; this.SubForm = main; } catch (Exception ex) { LogUtil.WriteError("Lskj.PubBomAlter.dll--参数错误-->" + obj.ToString(), ex); } } /// /// 窗口 /// public Form SubForm { get; set; } } /// /// 入口模型 /// public class DynamicBomAlterModel : DynamicModel { /// /// 保存的语句 /// public string SaveSql; /// /// 验证的语句 /// public string VerifySql; /// /// 反写确认按钮 /// public string AllowFxBtn; public override string[] OtherParams() { return this.Params; } /// /// 初始化默认参数(1.标题、2、用户ID、3.用户名、4.权限、5.模块编号、6.菜单ID) /// /// The arguments. public DynamicBomAlterModel(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 (args.Length > 7 && !string.IsNullOrWhiteSpace(args[7])) { SaveSql = args[7]; } if (args.Length > 8 && !string.IsNullOrWhiteSpace(args[8])) { AllowFxBtn = args[8] + ""; } if (args.Length > 9 && !string.IsNullOrWhiteSpace(args[9])) { VerifySql = args[9]; } if (args.Length > 10) { this.Params = new string[args.Length]; for (int i = 10; i < args.Length; i++) { Params[i - 10] = args[i]; } } 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) { } } } } }