/// <summary> /// 转换数据 /// </summary> private BaseModuleEntity GetEntity() { BaseModuleEntity entity = new BaseModuleEntity(); if (string.IsNullOrEmpty(this.ucParent.SelectedId)) { entity.ParentId = null; } else { entity.ParentId = int.Parse(this.ucParent.SelectedId); } entity.Code = this.txtCode.Text; entity.FullName = this.txtFullName.Text; entity.NavigateUrl = this.txtNavigateUrl.Text; entity.Target = this.txtTarget.Text; entity.FormName = this.txtFormName.Text; entity.AssemblyName = this.txtAssemblyName.Text; entity.Enabled = this.chkEnabled.Checked ? 1 : 0; entity.Expand = this.chkExpand.Checked ? 1 : 0; entity.IsPublic = this.chkIsPublic.Checked ? 1 : 0; entity.Description = this.txtDescription.Text; entity.DeletionStateCode = 0; entity.AllowDelete = 1; entity.AllowEdit = 1; return(entity); }
/// <summary> /// 加载左侧功能栏项 /// </summary> public void LoadSildeBar() { // 清空左侧功能栏信息 tvMain.Nodes.Clear(); navigationBar.Items.Clear(); // 这里是需要加载的跟节点主键 int?rootMenuId = null; List <BaseModuleEntity> moduleEntitys = new List <BaseModuleEntity>(); foreach (DataRow dataRow in ClientCache.Instance.DTUserMoule.Rows) { BaseModuleEntity moduleEntity = new BaseModuleEntity(dataRow); moduleEntitys.Add(moduleEntity); if (moduleEntity.Code.Equals(BaseSystemInfo.RootMenuCode)) { rootMenuId = moduleEntity.Id; } } int itemIndex; //foreach (DataRow dr in ClientCache.Instance.DTUserMoule.Rows) foreach (BaseModuleEntity moduleEntity in moduleEntitys) { //~这部分可以单独调优,只是为了把左侧功能栏项加载好,要新增项只需修改判断条件。 //if (string.IsNullOrEmpty(dr[BaseModuleEntity.FieldParentId].ToString())) if (moduleEntity.ParentId == rootMenuId) { // baseModuleEntity.ParentId == null // itemIndex = navigationBar.Items.Add(new ButtonItem()); // ButtonItem bi = this.navigationBar.Items[itemIndex] as ButtonItem; // bi.Name = dr[BaseModuleEntity.FieldCode].ToString(); // .OptionGroup = "navBar"; // bi.Text = dr[BaseModuleEntity.FieldFullName].ToString(); // .Tag = dr; // bi.Image = Image.FromFile(BaseSystemInfo.StartupPath + "\\Resource\\BaseBar.png"); // bi.Click += new System.EventHandler(this.toolStripButton_Click); // 改进为:保存实体类 itemIndex = navigationBar.Items.Add(new ButtonItem()); ButtonItem bi = this.navigationBar.Items[itemIndex] as ButtonItem; bi.Name = moduleEntity.Code; bi.OptionGroup = "navBar"; bi.Text = moduleEntity.FullName; bi.Tag = moduleEntity; //bi.Image = Image.FromFile(BaseSystemInfo.StartupPath + "\\Resource\\BaseBar.png"); bi.Click += new System.EventHandler(this.toolStripButton_Click); } } System.Drawing.Rectangle rect = System.Windows.Forms.Screen.PrimaryScreen.Bounds; navigationBar.Size = rect.Size; if (this.navigationBar.Items.Count > 0) { (this.navigationBar.Items[0] as ButtonItem).Checked = true; toolStripButton_Click((this.navigationBar.Items[0] as ButtonItem), System.EventArgs.Empty); } }
/// <summary> /// Add 添加的主键 /// </summary> /// <param name="paramobject">对象</param> /// <returns>主键</returns> public string Add(string fullName) { string statusCode = string.Empty; BaseModuleEntity moduleEntity = new BaseModuleEntity(); moduleEntity.FullName = fullName; return(this.Add(moduleEntity, out statusCode)); }
private void btnLikeAdd_Click(object sender, EventArgs e) { BaseModuleEntity entity = GetEntity(); entity.Id = null; FrmModuleAdd frmModuleAdd = new FrmModuleAdd(entity); frmModuleAdd.ShowDialog(); }
/// <summary> /// 加载窗体 /// </summary> public override void FormOnLoad() { // 权限信息 this.moduleEntity = DotNetService.Instance.ModuleService.GetEntity(UserInfo, this.EntityId); // 设置用户控件状态 this.ucParent.CheckMove = true; this.ucParent.OpenId = this.EntityId; // 显示内容 this.ShowEntity(); // 设置焦点 this.ActiveControl = this.txtFullName; this.txtFullName.Focus(); }
/// <summary> /// 批量进行保存 /// </summary> /// <param name="dataTable">数据表</param> /// <returns>影响行数</returns> public override int BatchSave(DataTable dataTable) { int returnValue = 0; BaseModuleEntity moduleEntity = new BaseModuleEntity(); foreach (DataRow dataRow in dataTable.Rows) { // 删除状态 if (dataRow.RowState == DataRowState.Deleted) { string id = dataRow[BaseModuleEntity.FieldId, DataRowVersion.Original].ToString(); if (id.Length > 0) { if (dataRow[BaseModuleEntity.FieldAllowDelete, DataRowVersion.Original].ToString().Equals("1")) { returnValue += this.DeleteEntity(id); } } } // 被修改过 if (dataRow.RowState == DataRowState.Modified) { string id = dataRow[BaseModuleEntity.FieldId, DataRowVersion.Original].ToString(); if (id.Length > 0) { moduleEntity.GetFrom(dataRow); // 判断是否允许编辑 if (moduleEntity.AllowEdit == 1) { returnValue += this.UpdateEntity(moduleEntity); } } } // 添加状态 if (dataRow.RowState == DataRowState.Added) { moduleEntity.GetFrom(dataRow); returnValue += this.AddEntity(moduleEntity).Length > 0 ? 1 : 0; } if (dataRow.RowState == DataRowState.Unchanged) { continue; } if (dataRow.RowState == DataRowState.Detached) { continue; } } this.ReturnStatusCode = StatusCode.OK.ToString(); return(returnValue); }
/// <summary> /// 更新模块菜单 /// </summary> /// <param name="userInfo">用户</param> /// <param name="moduleEntity">实体</param> /// <param name="statusCode">返回状态码</param> /// <param name="statusMessage">返回状消息</param> /// <returns>影响行数</returns> public int Update(BaseUserInfo userInfo, BaseModuleEntity moduleEntity, out string statusCode, out string statusMessage) { // 写入调试信息 #if (DEBUG) int milliStart = BaseBusinessLogic.StartDebug(userInfo, MethodBase.GetCurrentMethod()); #endif // 加强安全验证防止未授权匿名调用 #if (!DEBUG) LogOnService.UserIsLogOn(userInfo); #endif statusCode = string.Empty; statusMessage = string.Empty; int returnValue = 0; using (IDbHelper dbHelper = DbHelperFactory.GetHelper(BaseSystemInfo.UserCenterDbType)) { try { dbHelper.Open(UserCenterDbConnection); string tableName = BaseModuleEntity.TableName; if (!string.IsNullOrEmpty(BaseSystemInfo.SystemCode)) { tableName = BaseSystemInfo.SystemCode + "Module"; } BaseModuleManager moduleManager = new BaseModuleManager(dbHelper, userInfo, tableName); // 调用方法,并且返回运行结果 returnValue = moduleManager.Update(moduleEntity, out statusCode); // 获得状态消息 statusMessage = moduleManager.GetStateMessage(statusCode); BaseLogManager.Instance.Add(dbHelper, userInfo, this.serviceName, AppMessage.ModuleService_Update, MethodBase.GetCurrentMethod()); } catch (Exception ex) { BaseExceptionManager.LogException(dbHelper, userInfo, ex); throw ex; } finally { dbHelper.Close(); } } // 写入调试信息 #if (DEBUG) BaseBusinessLogic.EndDebug(MethodBase.GetCurrentMethod(), milliStart); #endif return(returnValue); }
/// <summary> /// 保存 /// </summary> private bool SaveEntity(bool close) { bool returnValue = false; // 设置鼠标繁忙状态,并保留原先的状态 Cursor holdCursor = this.Cursor; this.Cursor = Cursors.WaitCursor; // 转换数据 BaseModuleEntity entity = this.GetEntity(); string statusCode = string.Empty; string statusMessage = string.Empty; this.EntityId = DotNetService.Instance.ModuleService.Add(UserInfo, entity, out statusCode, out statusMessage); this.FullName = entity.FullName; this.ParentId = this.ucParent.SelectedId; if (statusCode == StatusCode.OKAdd.ToString()) { // 即时刷新 //if (this.Owner != null && !close) //{ // // 在sdi模式下即时刷新,在tabs和mdi下不起作用 // if (this.Owner is FrmModuleAdmin) // { // ((FrmModuleAdmin)this.Owner).FormOnLoad(); // } //} if (BaseSystemInfo.ShowInformation) { // 添加成功,进行提示 MessageBox.Show(statusMessage, AppMessage.MSG0000, MessageBoxButtons.OK, MessageBoxIcon.Information); } returnValue = true; if (close) { this.DialogResult = DialogResult.OK; } } else { MessageBox.Show(statusMessage, AppMessage.MSG0000, MessageBoxButtons.OK, MessageBoxIcon.Information); // 是否编号重复了,提高友善性 if (statusCode == StatusCode.ErrorCodeExist.ToString()) { this.txtCode.SelectAll(); this.txtCode.Focus(); } } // 设置鼠标默认状态,原来的光标状态 this.Cursor = holdCursor; return(returnValue); }
/// <summary> /// 加载组织机构树的主键 /// </summary> /// <param name="treeNode">当前节点</param> private void LoadTreeModule(TreeNode treeNode) { foreach (DataRow dataRow in ClientCache.Instance.DTUserMoule.Rows) { // 判断不为空的当前节点的子节点 if ((treeNode.Tag != null) && (!((BaseModuleEntity)treeNode.Tag).Id.ToString().Equals(dataRow[BaseModuleEntity.FieldParentId].ToString()))) { continue; } // 当前节点的子节点, 加载根节点 if ((dataRow.IsNull(BaseModuleEntity.FieldParentId) || (dataRow[BaseModuleEntity.FieldParentId].ToString().Length == 0) || (dataRow[BaseModuleEntity.FieldParentId].ToString().Equals("0")) || (dataRow[BaseModuleEntity.FieldCode].ToString().Equals(BaseSystemInfo.RootMenuCode)) || ((treeNode.Tag != null) && ((BaseModuleEntity)treeNode.Tag).Id.ToString().Equals(dataRow[BaseModuleEntity.FieldParentId].ToString())))) { BaseModuleEntity moduleEntity = new BaseModuleEntity(dataRow); TreeNode newTreeNode = new TreeNode(); newTreeNode.Text = moduleEntity.FullName; newTreeNode.Tag = moduleEntity; newTreeNode.Checked = (moduleEntity.Enabled == 1); /* * if (newTreeNode.Level < 2 || dataRow[BaseModuleEntity.FieldExpand].ToString().Equals("1")) * { * newTreeNode.Expand(); * } * else * { * newTreeNode.Collapse(true); * } */ if ((treeNode.Tag == null) || ((treeNode.Tag as DataRow)[BaseModuleEntity.FieldId].ToString().Length == 0)) { // 树的根节点加载,只加载指定的系统 if (dataRow[BaseModuleEntity.FieldCode].ToString().Equals(BaseSystemInfo.RootMenuCode)) { this.tvModule.Nodes.Add(newTreeNode); } } else { // 节点的子节点加载 treeNode.Nodes.Add(newTreeNode); if (treeNode.Level < 1) { treeNode.Expand(); } } // 递归调用本函数 this.LoadTreeModule(newTreeNode); } } }
/// <summary> /// 更新实体 /// </summary> /// <param name="baseModuleEntity">实体</param> public int UpdateEntity(BaseModuleEntity baseModuleEntity) { SQLBuilder sqlBuilder = new SQLBuilder(DbHelper); sqlBuilder.BeginUpdate(this.CurrentTableName); this.SetEntity(sqlBuilder, baseModuleEntity); if (UserInfo != null) { sqlBuilder.SetValue(BaseModuleEntity.FieldModifiedUserId, UserInfo.Id); sqlBuilder.SetValue(BaseModuleEntity.FieldModifiedBy, UserInfo.RealName); } sqlBuilder.SetDBNow(BaseModuleEntity.FieldModifiedOn); sqlBuilder.SetWhere(BaseModuleEntity.FieldId, baseModuleEntity.Id); return(sqlBuilder.EndUpdate()); }
/// <summary> /// 获取实体 /// </summary> /// <param name="userInfo">用户</param> /// <param name="id">主键</param> /// <returns>实体</returns> public BaseModuleEntity GetEntity(BaseUserInfo userInfo, string id) { // 写入调试信息 #if (DEBUG) int milliStart = BaseBusinessLogic.StartDebug(userInfo, MethodBase.GetCurrentMethod()); #endif // 加强安全验证防止未授权匿名调用 #if (!DEBUG) LogOnService.UserIsLogOn(userInfo); #endif BaseModuleEntity moduleEntity = null; using (IDbHelper dbHelper = DbHelperFactory.GetHelper(BaseSystemInfo.UserCenterDbType)) { try { dbHelper.Open(UserCenterDbConnection); string tableName = BaseModuleEntity.TableName; if (!string.IsNullOrEmpty(BaseSystemInfo.SystemCode)) { tableName = BaseSystemInfo.SystemCode + "Module"; } BaseModuleManager moduleManager = new BaseModuleManager(dbHelper, userInfo, tableName); moduleEntity = moduleManager.GetEntity(id); BaseLogManager.Instance.Add(dbHelper, userInfo, this.serviceName, AppMessage.ModuleService_GetEntity, MethodBase.GetCurrentMethod()); } catch (Exception ex) { BaseExceptionManager.LogException(dbHelper, userInfo, ex); throw ex; } finally { dbHelper.Close(); } } // 写入调试信息 #if (DEBUG) BaseBusinessLogic.EndDebug(MethodBase.GetCurrentMethod(), milliStart); #endif return(moduleEntity); }
private void tvModulePermissionItem_DoubleClick(object sender, EventArgs e) { if (this.tvModulePermissionItem.SelectedNode != null) { if (this.tvModulePermissionItem.SelectedNode.ImageIndex != 14) { BaseModuleEntity moduleEntity = (BaseModuleEntity)(this.tvModulePermissionItem.SelectedNode.Tag); if (!string.IsNullOrEmpty(moduleEntity.PermissionScopeTables)) { string resourceCategory = BaseUserEntity.TableName; string resourceId = this.ucUser.SelectedId; string tableName = moduleEntity.PermissionScopeTables; FrmTableScopeConstraint frmTableScopeConstraint = new FrmTableScopeConstraint(resourceCategory, resourceId, tableName); frmTableScopeConstraint.ShowDialog(); } } } }
/// <summary> /// 添加TreeView子节点 /// </summary> public void AddSonNode(TreeNode parentTreeNode) { //string parentId = (parentTreeNode.Tag as DataRow)[BaseModuleEntity.FieldId].ToString(); //string expand = (parentTreeNode.Tag as DataRow)[BaseModuleEntity.FieldExpand].ToString(); // 改进为:保存实体类 int?parentId = (parentTreeNode.Tag as BaseModuleEntity).Id; int?expand = (parentTreeNode.Tag as BaseModuleEntity).Expand; List <BaseModuleEntity> baseModuleEntitys = new List <BaseModuleEntity>(); foreach (DataRow dataRow in ClientCache.Instance.DTUserMoule.Rows) { BaseModuleEntity baseModuleEntity = new BaseModuleEntity(dataRow); baseModuleEntitys.Add(baseModuleEntity); } //foreach (DataRow dr in ClientCache.Instance.DTUserMoule.Rows) foreach (BaseModuleEntity baseModuleEntity in baseModuleEntitys) { //if (dr[BaseModuleEntity.FieldParentId].ToString() != parentId) if (baseModuleEntity.ParentId != parentId) { continue; } TreeNode treeNode = new TreeNode(); //treeNode.Text = dr[BaseModuleEntity.FieldFullName].ToString(); treeNode.Text = baseModuleEntity.FullName; //treeNode.Tag = dr; treeNode.Tag = baseModuleEntity; treeNode.ImageIndex = 2; treeNode.SelectedImageIndex = 3; AddSonNode(treeNode); parentTreeNode.Nodes.Add(treeNode); if (expand.Equals(1)) { parentTreeNode.Expand(); } } }
/// <summary> /// 左侧的SildeBar点击事件 /// </summary> private void toolStripButton_Click(object sender, EventArgs e) { ButtonItem button = (sender as ButtonItem); tvMain.Nodes.Clear(); TreeNode treeNode = new TreeNode(); //treeNode.Text = (button.Tag as DataRow)[BaseModuleEntity.FieldFullName].ToString(); //treeNode.Tag = button.Tag; // 改进为:保存实体类 BaseModuleEntity baseModuleEntity = (BaseModuleEntity)button.Tag; treeNode.Text = baseModuleEntity.FullName; treeNode.Tag = baseModuleEntity; treeNode.ImageIndex = 0; treeNode.SelectedImageIndex = 0; tvMain.Nodes.Add(treeNode); AddSonNode(treeNode); // tvMain.ExpandAll(); }
/// <summary> /// /// </summary> /// <returns>添加成功</returns> private bool AddModule() { bool returnValue = false; // 设置鼠标繁忙状态,并保留原先的状态 Cursor holdCursor = this.Cursor; this.Cursor = Cursors.WaitCursor; // 转换数据 BaseModuleEntity moduleEntity = this.GetEntity(); string statusCode = string.Empty; string statusMessage = string.Empty; this.EntityId = DotNetService.Instance.ModuleService.Add(UserInfo, moduleEntity, out statusCode, out statusMessage); this.FullName = moduleEntity.FullName; this.ParentId = this.ucParent.SelectedId; if (statusCode == StatusCode.OKAdd.ToString()) { if (BaseSystemInfo.ShowInformation) { // 添加成功,进行提示 MessageBox.Show(statusMessage, AppMessage.MSG0000, MessageBoxButtons.OK, MessageBoxIcon.Information); } returnValue = true; } else { MessageBox.Show(statusMessage, AppMessage.MSG0000, MessageBoxButtons.OK, MessageBoxIcon.Information); // 是否编号重复了,提高友善性 if (statusCode == StatusCode.ErrorCodeExist.ToString()) { this.txtCode.SelectAll(); this.txtCode.Focus(); } } // 设置鼠标默认状态,原来的光标状态 this.Cursor = holdCursor; return(returnValue); }
/// <summary> /// 更新 /// </summary> /// <param name="moduleEntity">实体</param> /// <param name="statusCode">返回状态码</param> /// <returns>返回</returns> public int Update(BaseModuleEntity moduleEntity, out string statusCode) { int returnValue = 0; // 检查是否已被其他人修改 //if (DbLogic.IsModifed(DbHelper, BaseModuleEntity.TableName, moduleEntity.Id, moduleEntity.ModifiedUserId, moduleEntity.ModifiedOn)) //{ // // 数据已经被修改 // statusCode = StatusCode.ErrorChanged.ToString(); //} //else //{ List <KeyValuePair <string, object> > parameters = new List <KeyValuePair <string, object> >(); parameters.Add(new KeyValuePair <string, object>(BaseModuleEntity.FieldCode, moduleEntity.Code)); parameters.Add(new KeyValuePair <string, object>(BaseModuleEntity.FieldFullName, moduleEntity.FullName)); parameters.Add(new KeyValuePair <string, object>(BaseModuleEntity.FieldDeletionStateCode, 0)); // 检查编号是否重复 if ((moduleEntity.Code.Length > 0) && (this.Exists(parameters, moduleEntity.Id))) { // 编号已重复 statusCode = StatusCode.ErrorCodeExist.ToString(); } else { returnValue = this.UpdateEntity(moduleEntity); if (returnValue == 1) { statusCode = StatusCode.OKUpdate.ToString(); } else { statusCode = StatusCode.ErrorDeleted.ToString(); } } //} return(returnValue); }
/// <summary> /// 添加 /// </summary> /// <param name="moduleEntity">实体</param> /// <param name="statusCode">返回状态码</param> /// <returns>返回</returns> public string Add(BaseModuleEntity moduleEntity, out string statusCode) { string returnValue = string.Empty; // 检查名称是否重复 List <KeyValuePair <string, object> > parameters = new List <KeyValuePair <string, object> >(); parameters.Add(new KeyValuePair <string, object>(BaseModuleEntity.FieldCode, moduleEntity.Code)); parameters.Add(new KeyValuePair <string, object>(BaseModuleEntity.FieldFullName, moduleEntity.FullName)); parameters.Add(new KeyValuePair <string, object>(BaseModuleEntity.FieldDeletionStateCode, 0)); if (this.Exists(parameters)) { // 名称已重复 statusCode = StatusCode.ErrorCodeExist.ToString(); } else { returnValue = this.AddEntity(moduleEntity); // 运行成功 statusCode = StatusCode.OKAdd.ToString(); } return(returnValue); }
/// <summary> /// 设置实体 /// </summary> /// <param name="baseModuleEntity">实体</param> private void SetEntity(SQLBuilder sqlBuilder, BaseModuleEntity baseModuleEntity) { SetEntityExpand(sqlBuilder, baseModuleEntity); sqlBuilder.SetValue(BaseModuleEntity.FieldParentId, baseModuleEntity.ParentId); sqlBuilder.SetValue(BaseModuleEntity.FieldCode, baseModuleEntity.Code); sqlBuilder.SetValue(BaseModuleEntity.FieldFullName, baseModuleEntity.FullName); sqlBuilder.SetValue(BaseModuleEntity.FieldCategory, baseModuleEntity.Category); sqlBuilder.SetValue(BaseModuleEntity.FieldImageIndex, baseModuleEntity.ImageIndex); sqlBuilder.SetValue(BaseModuleEntity.FieldSelectedImageIndex, baseModuleEntity.SelectedImageIndex); sqlBuilder.SetValue(BaseModuleEntity.FieldNavigateUrl, baseModuleEntity.NavigateUrl); sqlBuilder.SetValue(BaseModuleEntity.FieldTarget, baseModuleEntity.Target); sqlBuilder.SetValue(BaseModuleEntity.FieldFormName, baseModuleEntity.FormName); sqlBuilder.SetValue(BaseModuleEntity.FieldAssemblyName, baseModuleEntity.AssemblyName); sqlBuilder.SetValue(BaseModuleEntity.FieldPermissionItemCode, baseModuleEntity.PermissionItemCode); sqlBuilder.SetValue(BaseModuleEntity.FieldPermissionScopeTables, baseModuleEntity.PermissionScopeTables); sqlBuilder.SetValue(BaseModuleEntity.FieldSortCode, baseModuleEntity.SortCode); sqlBuilder.SetValue(BaseModuleEntity.FieldEnabled, baseModuleEntity.Enabled); sqlBuilder.SetValue(BaseModuleEntity.FieldDeletionStateCode, baseModuleEntity.DeletionStateCode); sqlBuilder.SetValue(BaseModuleEntity.FieldIsPublic, baseModuleEntity.IsPublic); sqlBuilder.SetValue(BaseModuleEntity.FieldExpand, baseModuleEntity.Expand); sqlBuilder.SetValue(BaseModuleEntity.FieldAllowEdit, baseModuleEntity.AllowEdit); sqlBuilder.SetValue(BaseModuleEntity.FieldAllowDelete, baseModuleEntity.AllowDelete); sqlBuilder.SetValue(BaseModuleEntity.FieldDescription, baseModuleEntity.Description); }
/// <summary> /// 添加 /// </summary> /// <param name="baseModuleEntity">实体</param> /// <param name="identity">自增量方式</param> /// <param name="returnId">返回主键</param> /// <returns>主键</returns> public string Add(BaseModuleEntity baseModuleEntity, bool identity, bool returnId) { this.Identity = identity; this.ReturnId = returnId; return(this.AddEntity(baseModuleEntity)); }
public BaseModuleEntity GetEntity(int id) { BaseModuleEntity baseModuleEntity = new BaseModuleEntity(this.GetDataTable(new KeyValuePair <string, object>(BaseModuleEntity.FieldId, id))); return(baseModuleEntity); }
/// <summary> /// 添加实体 /// </summary> /// <param name="baseModuleEntity">实体</param> public string AddEntity(BaseModuleEntity baseModuleEntity) { string sequence = string.Empty; if (baseModuleEntity.SortCode == null || baseModuleEntity.SortCode == 0) { BaseSequenceManager sequenceManager = new BaseSequenceManager(DbHelper, this.Identity); sequence = sequenceManager.GetSequence(this.CurrentTableName); baseModuleEntity.SortCode = int.Parse(sequence); } SQLBuilder sqlBuilder = new SQLBuilder(DbHelper, this.Identity, this.ReturnId); sqlBuilder.BeginInsert(this.CurrentTableName, BaseModuleEntity.FieldId); if (!this.Identity) { sqlBuilder.SetValue(BaseModuleEntity.FieldId, baseModuleEntity.Id); } else { if (!this.ReturnId && (DbHelper.CurrentDbType == DbTypes.Oracle || DbHelper.CurrentDbType == DbTypes.DB2)) { if (DbHelper.CurrentDbType == DbTypes.Oracle) { sqlBuilder.SetFormula(BaseModuleEntity.FieldId, "SEQ_" + this.CurrentTableName.ToUpper() + ".NEXTVAL "); } if (DbHelper.CurrentDbType == DbTypes.DB2) { sqlBuilder.SetFormula(BaseModuleEntity.FieldId, "NEXT VALUE FOR SEQ_" + this.CurrentTableName.ToUpper()); } } else { if (this.Identity && (DbHelper.CurrentDbType == DbTypes.Oracle || DbHelper.CurrentDbType == DbTypes.DB2)) { if (baseModuleEntity.Id == null) { if (string.IsNullOrEmpty(sequence)) { BaseSequenceManager sequenceManager = new BaseSequenceManager(DbHelper, this.Identity); sequence = sequenceManager.GetSequence(this.CurrentTableName); } baseModuleEntity.Id = int.Parse(sequence); } sqlBuilder.SetValue(BaseModuleEntity.FieldId, baseModuleEntity.Id); } } } this.SetEntity(sqlBuilder, baseModuleEntity); if (UserInfo != null) { sqlBuilder.SetValue(BaseModuleEntity.FieldCreateUserId, UserInfo.Id); sqlBuilder.SetValue(BaseModuleEntity.FieldCreateBy, UserInfo.RealName); } sqlBuilder.SetDBNow(BaseModuleEntity.FieldCreateOn); if (UserInfo != null) { sqlBuilder.SetValue(BaseModuleEntity.FieldModifiedUserId, UserInfo.Id); sqlBuilder.SetValue(BaseModuleEntity.FieldModifiedBy, UserInfo.RealName); } sqlBuilder.SetDBNow(BaseModuleEntity.FieldModifiedOn); if (this.Identity && (DbHelper.CurrentDbType == DbTypes.SqlServer || DbHelper.CurrentDbType == DbTypes.Access)) { sequence = sqlBuilder.EndInsert().ToString(); } else { sqlBuilder.EndInsert(); } return(sequence); }
public FrmModuleAdd(BaseModuleEntity entity) : this() { this.moduleEntity = entity; }
// 这个是声明扩展方法 partial void SetEntityExpand(SQLBuilder sqlBuilder, BaseModuleEntity baseModuleEntity);
/// <summary> /// 添加 /// </summary> /// <param name="baseModuleEntity">实体</param> /// <returns>主键</returns> public string Add(BaseModuleEntity baseModuleEntity) { return(this.AddEntity(baseModuleEntity)); }
/// <summary> /// 加载组织机构树的主键 /// </summary> /// <param name="TreeNode">当前节点</param> private void LoadTreeModule(TreeNode treeNode) { BaseModuleEntity moduleEntity = null; DataTable permissionItemDT = null; string id = string.Empty; if ((treeNode.Tag != null)) { moduleEntity = (BaseModuleEntity)treeNode.Tag; id = moduleEntity.Id.ToString(); } foreach (DataRow dataRow in this.DTModule.Rows) { // 判断不为空的当前节点的子节点 if ((!id.Equals(dataRow[BaseModuleEntity.FieldParentId].ToString()))) { continue; } // 当前节点的子节点, 加载根节点 if ((dataRow.IsNull(BaseModuleEntity.FieldParentId) || (dataRow[BaseModuleEntity.FieldParentId].ToString().Length == 0) || (dataRow[BaseModuleEntity.FieldParentId].ToString().Equals("0")) || (dataRow[BaseModuleEntity.FieldParentId].ToString().Equals(BaseSystemInfo.RootMenuCode)) || (id.Equals(dataRow[BaseModuleEntity.FieldParentId].ToString())))) { moduleEntity = new BaseModuleEntity(dataRow); TreeNode newTreeNode = new TreeNode(); #if (DEBUG) // newTreeNode.Text = moduleEntity.FullName + " [" + moduleEntity.Code +"]"; newTreeNode.Text = moduleEntity.FullName; #else newTreeNode.Text = moduleEntity.FullName; #endif newTreeNode.Tag = moduleEntity; if (!string.IsNullOrEmpty(moduleEntity.PermissionScopeTables)) { newTreeNode.ImageIndex = 3; newTreeNode.SelectedImageIndex = 3; } // 是否已经有这个模块访问权限 newTreeNode.Checked = Array.IndexOf(this.ModuleIds, moduleEntity.Id.ToString()) >= 0; if ((treeNode.Tag == null) || ((treeNode.Tag as DataRow)[BaseModuleEntity.FieldId].ToString().Length == 0)) { // 树的根节点加载 this.tvModulePermissionItem.Nodes.Add(newTreeNode); } else { // 节点的子节点加载 treeNode.Nodes.Add(newTreeNode); } permissionItemDT = GetPermissionItemDT(moduleEntity.Id.ToString()); foreach (DataRow dataRowPermissionItem in permissionItemDT.Rows) { TreeNode treeNodePermissionItem = new TreeNode(); #if (DEBUG) treeNodePermissionItem.Text = dataRowPermissionItem[BasePermissionItemEntity.FieldFullName].ToString() + " [" + dataRowPermissionItem[BasePermissionItemEntity.FieldCode].ToString() + "]"; #else treeNodePermissionItem.Text = dataRowPermissionItem[BasePermissionItemEntity.FieldFullName].ToString(); #endif treeNodePermissionItem.Tag = dataRowPermissionItem[BasePermissionItemEntity.FieldId].ToString(); treeNodePermissionItem.ImageIndex = 14; treeNodePermissionItem.SelectedImageIndex = 14; // 是否已经有这个操作权限 treeNodePermissionItem.Checked = Array.IndexOf(this.PermissionItemIds, treeNodePermissionItem.Tag.ToString()) >= 0; newTreeNode.Nodes.Add(treeNodePermissionItem); } if (treeNode.Level < 2) { treeNode.Expand(); } // 递归调用本函数 this.LoadTreeModule(newTreeNode); } } }
/// <summary> /// 更新 /// </summary> /// <param name="baseModuleEntity">实体</param> public int Update(BaseModuleEntity baseModuleEntity) { return(this.UpdateEntity(baseModuleEntity)); }
/// <summary> /// 打开新窗体 /// </summary> private void OpenForm(TreeNode treeNode) { //DataRow dataRow = treeNode.Tag as DataRow; BaseModuleEntity moduleEntity = treeNode.Tag as BaseModuleEntity; // 若又没C\S窗体,又没B\S网址,那就是空的,不执行任何操作 //if (string.IsNullOrEmpty(dataRow[BaseModuleEntity.FieldFormName].ToString()) // && string.IsNullOrEmpty(dataRow[BaseModuleEntity.FieldAssemblyName].ToString()) // && string.IsNullOrEmpty(dataRow[BaseModuleEntity.FieldNavigateUrl].ToString())) if (string.IsNullOrEmpty(moduleEntity.FormName) && string.IsNullOrEmpty(moduleEntity.AssemblyName) && string.IsNullOrEmpty(moduleEntity.NavigateUrl)) { return; } // 如果打开的是消息窗口 if (moduleEntity.FormName == "FrmMessage") { if (barLeft.Items.Contains("dockContainerItem2")) { barLeft.AutoHide = false; barLeft.SelectedDockContainerItem = dockContainerItem2; } if (barRightN.Items.Contains("dockContainerItem2")) { barRightN.AutoHide = false; barRightN.SelectedDockContainerItem = dockContainerItem2; } if (barRight.Items.Contains("dockContainerItem2")) { barRight.AutoHide = false; barRight.SelectedDockContainerItem = dockContainerItem2; barRight.Focus(); } return; } // 如果为锁定窗体 if (moduleEntity.FormName == "FrmLock") { tmrLock.Stop(); DotNet.WinForm.FrmScreenLock frmLock = new FrmScreenLock(); if (frmLock.ShowDialog(this) == DialogResult.OK) { LoadFormLockInfo(); } return; } // 优先打开C\S窗体 if (!string.IsNullOrEmpty(moduleEntity.FormName)) { // 通过数据库的值获得要打开的模块对应的窗体类型。 System.Type type = System.Type.GetType(moduleEntity.AssemblyName + "." + moduleEntity.FormName + "," + moduleEntity.AssemblyName); if (type == null) { // MessageBox.Show(AppMessage.MSG1000, AppMessage.MSG0000, MessageBoxButtons.OK, MessageBoxIcon.Error); return; } object obj = (object)Activator.CreateInstance(type, null); BaseForm mdiForm = obj as BaseForm; // 判断是否弹出窗口,进行特殊处理 if (mdiForm.ShowDialogOnly) { mdiForm.HelpButton = false; mdiForm.ShowInTaskbar = false; mdiForm.MinimizeBox = false; mdiForm.ShowDialog(this); return; } // 打开窗口 if (!this.AllowSameMenu) { if (TabIsExist(moduleEntity.Code)) { return; } } CreateTabControl(mdiForm, moduleEntity.Code, moduleEntity.Code); return; } // 这里是直接打开可执行文件的方法 if (string.IsNullOrEmpty(moduleEntity.FormName) && !string.IsNullOrEmpty(moduleEntity.AssemblyName)) { string assemblyName = moduleEntity.AssemblyName; assemblyName = this.UserInfo.GetUserParameter(assemblyName); System.Diagnostics.Process.Start(assemblyName); return; } // 最后判断是否为要打开的网址 string url = moduleEntity.NavigateUrl; if (!string.IsNullOrEmpty(url)) { url = this.UserInfo.GetUrl(url); if (treeNode.Text == "办公管理") { this.webBrowser.Url = new Uri(url); // tabControlMain.Refresh(); tabControlMain.SelectedTab = this.tabItemMain; return; } if (TabIsExist("Browser")) { FrmIE frmIE = (FrmIE)tabControlMain.SelectedPanel.Controls[0]; frmIE.webBrowser.Navigate(url); } else { FrmIE frmIE = new FrmIE { MUrl = url }; // 浏览器为了标识Name保持只打开一个 CreateTabControl(frmIE, "Browser", moduleEntity.Code); } } }