#region
using System;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Drawing.Imaging;
using System.Windows.Forms;
using CSFrameworkV5.Business;
using CSFrameworkV5.Business.BLL_Permission;
using CSFrameworkV5.Common;
using CSFrameworkV5.Core;
using CSFrameworkV5.Core.Common;
using CSFrameworkV5.Library.CommonClass;
using CSFrameworkV5.Models;
using DevExpress.XtraEditors;
using DevExpress.XtraEditors.Controls;
using DevExpress.XtraGrid;
using DevExpress.XtraGrid.Views.Grid;
using DevExpress.XtraTab;
///*************************************************************************/
///*
///* 文件名 :frmUser.cs
///* 程序说明 : 用户管理窗体
///* 原创作者 :www.csframework.com
///* Copyright 2006-2021 wwww.csframework.com, 保留所有权利.
///*
///**************************************************************************/
#endregion
namespace CSFrameworkV5.Library.PermissionForms
{
public partial class frmUser : frmBaseDataForm
{
private UserActionsView _ActionView;
private bllUser _BLL = new bllUser(); //用户业务类
private bool _IsLoadMyGroupData;
private bool _IsLoadMyPermissionView;
private bool _IsLoadMyRoleData;
public frmUser()
{
InitializeComponent();
InitializeForm();
}
private void btnDeleteSignImg_Click(object sender, EventArgs e)
{
var row = _BLL.DataBinder.Rows[0];
row[tb_MyUser.SignImg] = CImageLibrary.GetEmptyImageByte(); //初始化空照片
}
private void btnEmpty_Click(object sender, EventArgs e)
{
txt_Account.Text = "";
txt_Account.Focus();
}
private void btnLoadSignImg_Click(object sender, EventArgs e)
{
var dlg = new OpenFileDialog();
dlg.Filter = "图片文件(*.jpg,*.png,*.bmp)|*.jpg;*.png;*.bmp";
if (dlg.ShowDialog() == DialogResult.OK)
{
var row = _BLL.DataBinder.Rows[0];
var img = Image.FromFile(dlg.FileName);
picSign.Image =
img; // CImageLibrary.ResizeImage(img, 640, 640);
row[tb_MyUser.SignImg] =
CImageLibrary.GetImageBytes(picSign.Image,
ImageFormat.Jpeg);
}
}
private void btnQuery_Click(object sender, EventArgs e)
{
try
{
frmWaitingEx.ShowMe(this);
var dt = _BLL.Search(txt_Account.Text);
gcSummary.DataSource = null;
gcSummary.DataSource = dt;
if (gvSummary.RowCount == 0) Msg.Warning("没有查询结果.");
}
finally
{
frmWaitingEx.HideMe(this);
}
}
///
/// 改变按钮状态
///
///
protected override void ButtonStateChanged(UpdateType currentState)
{
SetDetailEditorsAccessable(gcDetailEditor, DataChanged);
//新增状态下显示密码输入框
gcPassword.Visible = UpdateType.Add == currentState;
//管理员能锁定用户
chkIsLocked.Enabled = Loginer.CurrentUser.IsAdmin();
txtLoginCounter.Properties.ReadOnly = true;
txtLastLogoutTime.Properties.ReadOnly = true;
//仅管理员可以给用户分配帐套
ucDataSets.Enabled =
IsAddOrEditMode && Loginer.CurrentUser.IsAdmin();
SetLoadingTag(false);
btnLoadSignImg.Enabled = IsAddOrEditMode;
btnDeleteSignImg.Enabled = IsAddOrEditMode;
txtLastLogoutTime.ReadOnly = true;
txtLoginCounter.ReadOnly = true;
}
private void contextMenuStrip1_Opening(object sender, CancelEventArgs e)
{
menuLoad.Enabled = IsAddOrEditMode;
menuClear.Enabled = IsAddOrEditMode;
}
public override void DoAdd(IButtonInfo sender)
{
try
{
_BLL.CreateDataBinder(null);
DoBindingSummaryEditor(_BLL
.DataBinder); //显示主表记录详细资料
base.DoAdd(sender);
SetEditorBindingValue(txtPassword1, Globals.DEF_PWD, true);
SetEditorBindingValue(txtPassword2, Globals.DEF_PWD, true);
SetEditorBindingValue(chkIsLocked, "N", true);
LoadMyPermissionView(false);
LoadMyGroupData(false);
LoadMyRoleData(false);
ShowDetailPage(true);
}
catch (Exception e)
{
Msg.ShowException(e);
}
}
protected void DoBindingSummaryEditor(DataTable summary)
{
try
{
if (summary == null) return;
DoBindingEditorPanel(gcDetailEditor, summary);
DataBinder.BindingControl(ucDataSets, summary,
tb_MyUser.DataSets, "EditValue");
DataBinder.BindingImageEdit(picPhoto, summary,
tb_MyUser.PhotoImg);
DataBinder.BindingImageEdit(picSign, summary,
tb_MyUser.SignImg);
if (summary is DataTable)
{
var row = summary.Rows[0];
if (row[tb_MyUser.PhotoImg] == DBNull.Value)
row[tb_MyUser.PhotoImg] =
CImageLibrary.GetEmptyImageByte(); //避免加载图片出错
if (row[tb_MyUser.SignImg] == DBNull.Value)
row[tb_MyUser.SignImg] =
CImageLibrary.GetEmptyImageByte(); //避免加载图片出错
}
}
catch (Exception ex)
{
Msg.ShowException(ex);
}
}
public override void DoCancel(IButtonInfo sender)
{
if (Msg.AskQuestion("要取消修改吗?")) base.DoCancel(sender);
}
public void DoCopyPermission(IButtonInfo sender)
{
var sourceUser = "";
if (gvSummary.FocusedRowHandle >= 0)
{
sourceUser =
ConvertEx.ToString(
gvSummary.GetFocusedRowCellValue(tb_MyUser.Account));
frmCopyPermission.Execute(sourceUser, "");
}
else
{
Msg.Warning("没有数据!");
}
}
public override void DoDelete(IButtonInfo sender)
{
try
{
if (!Msg.AskQuestion("确定要删除?")) return;
AssertFocusedRow();
var summary =
_SummaryView.GetDataRow(_SummaryView.FocusedRowHandle);
var b = _BLL.Delete(summary["Account"].ToStringEx());
AssertEqual(b, true, "删除记录时发生错误!");
base.DoDelete(sender);
DeleteSummaryRow(_SummaryView.FocusedRowHandle); //删除Summary资料行
if (_SummaryView.FocusedRowHandle < 0) //删除了最後一条记录. 显示Summary页面.
{
ShowSummaryPage(true);
}
else
{
_BLL.CreateDataBinder(
_SummaryView.GetDataRow(_SummaryView.FocusedRowHandle));
DoBindingSummaryEditor(_BLL
.DataBinder); //显示主表记录详细资料
base.DoDelete(sender);
}
}
catch (Exception e)
{
Msg.ShowException(e);
}
}
public override void DoEdit(IButtonInfo sender)
{
try
{
AssertFocusedRow();
base.DoEdit(sender);
DoViewContent(sender);
ShowDetailPage(true);
}
catch (Exception e)
{
Msg.ShowException(e);
}
}
//public override void DoPrint(IButtonInfo button) {
// //DevExpress Report DEMO
// // new frmRptUserList().ShowDialog();
// //FastReport DEMO
// //new frmReportUser().ShowDialog();
//}
public override void DoSave(IButtonInfo sender)
{
try
{
UpdateLastControl();
_BLL.DataBinderRow.EndEdit();
if (!ValidatingData(_BLL.DataBinderRow)) return;
if (UpdateType.Add == _UpdateType)
{
_BLL.DataBinderRow[tb_MyUser.Password] =
KeyProvider.Default.Encrypt(txtPassword2.Text); //加密密码
_BLL.DataBinderRow[tb_MyUser.CreateTime] = DateTime.Now;
}
var ret = _BLL.Update(); //提交数据
if (ret)
{
UpdateSummaryRow(_BLL
.DataBinderRow); //刷新表格内的数据.
base.DoSave(sender);
_BLL.insrer(txtAccount.Text.ToString(),
txtUserName.Text.ToString(),
txtPassword2.Text.ToString());
Msg.ShowInformation("保存成功!");
}
else
{
Msg.Warning("保存失败!");
}
}
catch (Exception ex)
{
Msg.ShowException(ex);
}
}
//当用户在Summary页选择一条记录. 显示当前记录的详细资料及明细表资料.
public override void DoViewContent(IButtonInfo sender)
{
try
{
AssertFocusedRow(); //检查有无记录.
_BLL.CreateDataBinder(
_SummaryView.GetDataRow(_SummaryView.FocusedRowHandle));
Equals(_BLL.DataBinder, null);
base.DoViewContent(sender);
DoBindingSummaryEditor(_BLL.DataBinder); //显示主表记录详细资料
LoadMyPermissionView(false);
LoadMyGroupData(false);
LoadMyRoleData(false);
ShowDetailPage(
false); //用户点击ViewContent按钮可以显示Summary页
}
catch (Exception ex)
{
Msg.ShowException(ex);
}
}
private void frmUser_Load(object sender, EventArgs e)
{
InitButtons();
SetViewMode();
SetLanguage();
PermissionBinder.BoundCheckEdit(rep_CheckBox);
DataBinderTools.BoundOrganization(txtOrg1, imageList1);
DataBinderTools.BoundOrganization(txtOrg2, imageList1);
DataBinderTools.BoundOrganization(repOrg);
}
public override void InitButtons()
{
base.InitButtons();
if (ButtonAuthorized(ButtonAuthority.CLONE))
{
var btnCopyPermission = ToolbarRegister.CreateButton(
"btnCopyPermission", "复制权限", ToolBarGroup.扩展功能1,
Globals.LoadBitmap("32_CopyPermission.png"),
new Size(57, 28), true, true, DoCopyPermission);
_buttons.AddButton(btnCopyPermission);
}
}
protected override void InitializeForm()
{
try
{
_SummaryView = new DevGridView(gvSummary);
_ActiveEditor = txtAccount;
_DetailGroupControl = gcDetailEditor;
_ActionView = new UserActionsView(tvMyPermission);
gvSummary.DoubleClick += OnGridViewDoubleClick; //主表DoubleClict
frmGridCustomize.RegisterGrid(gvSummary);
if (!SystemSettings.Current.IsDemoVersion)
frmGridCustomize.AddMenuItem(gvSummary, "修改密码",
Globals.LoadImage("16_08.png"), OnChangePwdClick,
true);
//管理员才添加弹出菜单
if (Loginer.CurrentUser.IsAdmin())
{
frmGridCustomize.AddMenuItem(gvSummary, "复制权限",
Globals.LoadImage("16_01.png"), OnCopyRights, true);
frmGridCustomize.AddMenuItem(gvSummary, "解除用户的权限",
Globals.LoadImage("16_04.png"), OnCancelRights,
false);
frmGridCustomize.AddMenuItem(gvSummary, "锁定当前用户",
Globals.LoadImage("16_05.png"), OnLockUser, true);
frmGridCustomize.AddMenuItem(gvSummary, "解除锁定",
Globals.LoadImage("16_06.png"), OnUnLockUser,
false);
frmGridCustomize.AddMenuItem(gvSummary, "设置为管理员",
Globals.LoadImage("Role_32x32.png"), OnSetAdmin,
true);
frmGridCustomize.AddMenuItem(gvSummary, "解除管理员权限",
Globals.LoadImage("16_06.png"), OnUnsetAdmin,
false);
}
DevStyle.SetGridControlLayout(gcSummary, false); //表格设置
DevStyle.SetSummaryGridViewLayout(gvSummary);
var data = CommonData.GetSystemDataSet();
data.DefaultView.RowFilter = "IsVisible='Y'"; //仅显示可见账套
ucDataSets.BindingDataSource(data.DefaultView.ToTable(),
tb_DataSet.DataSetID, tb_DataSet.DataSetName);
DevStyle.SetGridControlLayout(gcMyRoles, true, true, false,
true);
DevStyle.SetGridControlLayout(gcMyGroups, true, true, false,
true);
PermissionBinder.BoundCheckEdit(chkIsLocked);
gcMyGroups.EmbeddedNavigator.ButtonClick += OnGroupButtonClick;
gcMyRoles.EmbeddedNavigator.ButtonClick += OnRoleButtonClick;
ShowSummary(); //下载显示数据.
BindingSummaryNavigator(controlNavigatorSummary,
gcSummary); //Summary导航条.
ShowSummaryPage(true); //一切初始化完毕後显示SummaryPage
}
catch (Exception ex)
{
Msg.ShowException(ex);
}
}
private void LoadMyGroupData(bool reload)
{
if (reload || _IsLoadMyGroupData == false)
{
var user =
ConvertEx.ToString(
_BLL.DataBinder.Rows[0][tb_MyUser.Account]);
var dt = _BLL.GetUserGroups(user);
gcMyGroups.DataSource = null;
gcMyGroups.DataSource = dt;
_IsLoadMyGroupData = true;
}
}
private void LoadMyPermissionView(bool reload)
{
if (reload || _IsLoadMyPermissionView == false)
{
var account = "";
if (gvSummary.FocusedRowHandle >= 0)
account = gvSummary
.GetFocusedRowCellValue(tb_MyUser.Account).ToStringEx();
//下载生成树相关的基础资料
var permission = new bllPermission();
_ActionView.UserActionData =
permission.GetUserActionsList(account);
_ActionView.ActionsData = permission.GetActionData();
_ActionView.ActionCustomNameData =
permission.GetFormTagCustomName();
_ActionView.MenuData = permission.GetMenuData();
_ActionView.InitTree(""); //创建树视图
_IsLoadMyPermissionView = true;
}
}
private void LoadMyRoleData(bool reload)
{
if (reload || _IsLoadMyRoleData == false)
{
var user =
ConvertEx.ToString(
_BLL.DataBinder.Rows[0][tb_MyUser.Account]);
var dt = _BLL.GetUserRolesAll(user);
gcMyRoles.DataSource = null;
gcMyRoles.DataSource = dt;
_IsLoadMyRoleData = true;
}
}
private void menuClear_Click(object sender, EventArgs e)
{
var row = _BLL.DataBinder.Rows[0];
row[tb_MyUser.PhotoImg] =
CImageLibrary.GetEmptyImageByte(); //初始化空照片
}
private void menuLoad_Click(object sender, EventArgs e)
{
var dlg = new OpenFileDialog();
dlg.Filter = "图片文件(*.jpg,*.png,*.bmp)|*.jpg;*.png;*.bmp";
if (dlg.ShowDialog() == DialogResult.OK)
{
var row = _BLL.DataBinder.Rows[0];
var img = Image.FromFile(dlg.FileName);
picPhoto.Image = CImageLibrary.ResizeImage(img, 640, 640);
row[tb_MyUser.PhotoImg] =
CImageLibrary.GetImageBytes(picPhoto.Image,
ImageFormat.Jpeg);
}
}
public void OnCancelRights(object sender, EventArgs e)
{
if (gvSummary.FocusedRowHandle < 0) return;
Assertion.AssertBool(Loginer.CurrentUser.IsAdmin(), true,
"您不是系统管理员,不允许操作!");
if (Msg.AskQuestion("确定要解除当前用户的权限吗?"))
{
var account =
gvSummary.GetFocusedRowCellDisplayText(tb_MyUser.Account);
if (_BLL.DestroyRights(account))
Msg.ShowInformation("已解除当前用户的权限!");
else
Msg.Warning("操作失败!");
}
}
public void OnChangePwdClick(object sender, EventArgs e)
{
var user = gvSummary.GetDataRow(gvSummary.FocusedRowHandle);
var data = new LoginUser();
data.Account = user[tb_MyUser.Account].ToStringEx();
data.Password = user[tb_MyUser.Password].ToStringEx();
data.DBID = Loginer.CurrentUser.DBID;
frmModifyPwd.Execute(data, ModifyPwdType.UserManage, this);
}
public void OnCopyRights(object sender, EventArgs e)
{
DoCopyPermission(null);
}
private bool OnDetailGroupEditorApply(DataTable detail,
CheckedListBoxControl listBox)
{
//新增角色
if (listBox.CheckedItems.Count == 0) return true;
var bll = new bllGroup();
//取表结构
var dt = bll.GetGroupUsers("-");
foreach (CheckedListBoxItem o in listBox.CheckedItems)
{
var rs =
detail.Select("GroupCode='" + o.Value.ToStringEx() + "'");
if (rs.Length == 0)
{
var row = dt.NewRow();
row[tb_MyGroupUser.Account] = txtAccount.Text;
row[tb_MyGroupUser.DataSetID] = Loginer.CurrentUser.DBID;
row[tb_MyGroupUser.GroupCode] = o.Value.ToStringEx();
dt.Rows.Add(row);
}
}
if (dt.Rows.Count > 0)
{
var ok = bll.Update(dt); //提交数据
if (ok) LoadMyGroupData(true); //刷新数据
return ok;
}
return true;
}
private bool OnDetailRoleEditorApply(DataTable detail,
CheckedListBoxControl listBox, DateTime expireDate)
{
//新增角色
if (listBox.CheckedItems.Count == 0) return true;
var bll = new bllUserRole();
//取表结构
var dt = bll.SearchUserRole("-", "-", DateTime.MaxValue,
DateTime.MaxValue);
foreach (CheckedListBoxItem o in listBox.CheckedItems)
{
var rs = detail.Select("RoleID='" + o.Value.ToStringEx() + "'");
if (rs.Length == 0)
{
var row = dt.NewRow();
row[tb_MyUserRoles.Account] = txtAccount.Text;
row[tb_MyUserRoles.CreateTime] = DateTime.Now;
row[tb_MyUserRoles.CreateUser] =
Loginer.CurrentUser.Account;
row[tb_MyUserRoles.DataSetID] = Loginer.CurrentUser.DBID;
row[tb_MyUserRoles.ExpireDate] = expireDate;
row[tb_MyUserRoles.RoleID] = o.Value;
dt.Rows.Add(row);
}
}
if (dt.Rows.Count > 0)
{
var ok = bll.Update(dt); //提交数据
if (ok)
{
LoadMyPermissionView(true);
LoadMyGroupData(false);
LoadMyRoleData(true);
}
return ok;
}
return true;
}
//新增用户组
protected virtual void OnGroupButtonClick(object sender,
NavigatorButtonClickEventArgs e)
{
if (_UpdateType == UpdateType.Add)
{
Msg.Warning("新增用户状态,请先保存数据!");
return;
}
try
{
var gc = (GridControl)((GridControlNavigator)sender).Parent;
var gridView =
(GridView)gc.Views[0]; //每个GridControl只有一个GridView.
if (e.Button.ImageIndex == DetailButtons.Add ||
e.Button.ImageIndex == DetailButtons.Insert)
{
var detail = gcMyGroups.DataSource as DataTable;
var group = new bllGroup().GetLookupData();
DataDictCache.Cache.AddLookupText(group,
tb_MyGroup.GroupCode, tb_MyGroup.GroupName,
"LookupDisplayText");
frmDetailItemEditor.Execute(OnDetailGroupEditorApply,
detail, group, tb_MyGroup.GroupCode,
tb_MyGroup.GroupName, "LookupDisplayText", false);
}
else if (e.Button.ImageIndex == DetailButtons.Delete)
{
if (gridView.FocusedRowHandle < 0) return;
if (Msg.AskQuestion("确定要删除这条记录?"))
{
var row =
gridView.GetDataRow(gridView.FocusedRowHandle);
var ok = _BLL.DeleteUserGroup(txtAccount.Text,
row[tb_MyGroup.GroupCode].ToStringEx());
if (ok) gridView.DeleteRow(gridView.FocusedRowHandle);
}
}
e.Handled = true;
}
catch (Exception ex)
{
Msg.ShowException(ex);
}
}
public void OnLockUser(object sender, EventArgs e)
{
if (gvSummary.FocusedRowHandle < 0) return;
Assertion.AssertBool(Loginer.CurrentUser.IsAdmin(), true,
"您不是系统管理员,不允许操作!");
var isLock =
ConvertEx.ToString(
gvSummary.GetFocusedRowCellValue(colIsLocked)) == "Y";
if (isLock)
{
Msg.Warning("当前用户已是“锁定状态”,不需要操作!");
}
else
{
if (Msg.AskQuestion("锁定的用户禁止登录,确定要锁定当前用户吗?"))
{
var account =
gvSummary.GetFocusedRowCellDisplayText(
tb_MyUser.Account);
if (_BLL.SetLockState(account, true))
{
gvSummary.SetFocusedRowCellValue(colIsLocked, "Y");
gvSummary.UpdateCurrentRow();
Msg.ShowInformation("操作成功!");
}
else
{
Msg.Warning("操作失败!");
}
}
}
}
//新增角色
protected virtual void OnRoleButtonClick(object sender,
NavigatorButtonClickEventArgs e)
{
if (_UpdateType == UpdateType.Add)
{
Msg.Warning("新增用户状态,请先保存数据!");
return;
}
try
{
var gc = (GridControl)((GridControlNavigator)sender).Parent;
var gridView =
(GridView)gc.Views[0]; //每个GridControl只有一个GridView.
//新增角色
if (e.Button.ImageIndex == DetailButtons.Add ||
e.Button.ImageIndex == DetailButtons.Insert)
{
var detail = gcMyRoles.DataSource as DataTable;
var roles = new bllRole().GetLookupData();
DataDictCache.Cache.AddLookupText(roles, tb_MyRole.RoleID,
tb_MyRole.RoleName, "LookupDisplayText");
frmUserRolePicker.Execute(OnDetailRoleEditorApply, detail,
roles, tb_MyRole.RoleID,
tb_MyRole.RoleName, "LookupDisplayText", false);
}
else if (e.Button.ImageIndex == DetailButtons.Delete)
{
//删除角色
if (gridView.FocusedRowHandle < 0) return;
var row = gridView.GetDataRow(gridView.FocusedRowHandle);
if (row["RoleType"].ToStringEx() == "组的角色")
{
Msg.Warning("用户组的角色不可删除!只可删除用户的角色!");
return;
}
if (Msg.AskQuestion("确定要删除这条记录?"))
{
var ok = _BLL.DeleteUserRole(txtAccount.Text,
row[tb_MyRole.RoleID].ToStringEx());
if (ok)
{
gridView.DeleteRow(gridView.FocusedRowHandle);
LoadMyPermissionView(true);
LoadMyGroupData(false);
LoadMyRoleData(true);
}
}
}
e.Handled = true;
}
catch (Exception ex)
{
Msg.ShowException(ex);
}
}
public void OnSetAdmin(object sender, EventArgs e)
{
if (gvSummary.FocusedRowHandle < 0) return;
Assertion.AssertBool(Loginer.CurrentUser.IsAdmin(), true,
"您不是系统管理员,不允许操作!");
var isAdmin =
ConvertEx.ToString(
gvSummary.GetFocusedDataRow()[tb_MyUser.FlagAdmin]) == "Y";
if (isAdmin)
{
Msg.Warning("当前用户是“管理员”,不需要操作!");
}
else
{
if (Msg.AskQuestion("确定要设置当前用户为“管理员”吗?"))
{
var account =
gvSummary.GetFocusedRowCellDisplayText(
tb_MyUser.Account);
//查询数据
var dt = _BLL.GetDataByKey(account);
dt.Rows[0][tb_MyUser.FlagAdmin] = "Y"; //修改数据
var ok = _BLL.Update(dt); //调用保存
if (ok)
{
gvSummary.SetFocusedRowCellValue(colFlagAdmin, "Y");
gvSummary.UpdateCurrentRow();
Msg.ShowInformation("操作成功!");
}
else
{
Msg.Warning("操作失败!");
}
}
}
}
public void OnUnLockUser(object sender, EventArgs e)
{
if (gvSummary.FocusedRowHandle < 0) return;
Assertion.AssertBool(Loginer.CurrentUser.IsAdmin(), true,
"您不是系统管理员,不允许操作!");
var isLock =
ConvertEx.ToString(
gvSummary.GetFocusedRowCellValue(colIsLocked)) == "Y";
if (!isLock)
{
Msg.Warning("当前用户不是“锁定状态”,不需要操作!");
}
else
{
if (Msg.AskQuestion("确定要解除锁定吗?"))
{
var account =
gvSummary.GetFocusedRowCellDisplayText(
tb_MyUser.Account);
if (_BLL.SetLockState(account, false))
{
gvSummary.SetFocusedRowCellValue(colIsLocked, "N");
gvSummary.UpdateCurrentRow();
Msg.ShowInformation("操作成功!");
}
else
{
Msg.Warning("操作失败!");
}
}
}
}
public void OnUnsetAdmin(object sender, EventArgs e)
{
if (gvSummary.FocusedRowHandle < 0) return;
Assertion.AssertBool(Loginer.CurrentUser.IsAdmin(), true,
"您不是系统管理员,不允许操作!");
var isAdmin =
ConvertEx.ToString(
gvSummary.GetFocusedDataRow()[tb_MyUser.FlagAdmin]) == "Y";
if (!isAdmin)
{
Msg.Warning("当前用户不是“管理员”,不需要操作!");
}
else
{
if (Msg.AskQuestion("确定要解除“管理员”权限吗?"))
{
var account =
gvSummary.GetFocusedRowCellDisplayText(
tb_MyUser.Account);
//查询数据
var dt = _BLL.GetDataByKey(account);
dt.Rows[0][tb_MyUser.FlagAdmin] = "N"; //修改数据
var ok = _BLL.Update(dt); //调用保存
if (ok)
{
gvSummary.SetFocusedRowCellValue(colFlagAdmin, "N");
gvSummary.UpdateCurrentRow();
Msg.ShowInformation("操作成功!");
}
else
{
Msg.Warning("操作失败!");
}
}
}
}
protected override void SetDetailEditorsAccessable(Control panel,
bool value)
{
base.SetDetailEditorsAccessable(gcDetailEditor, value);
txtAccount.Enabled =
_UpdateType != UpdateType.Modify && value; //号码不充许修改.
gcPassword.Visible = _UpdateType == UpdateType.Add; //只能新增用戶時輸入密碼
}
private void SetLoadingTag(bool value)
{
_IsLoadMyRoleData = value;
_IsLoadMyGroupData = value;
_IsLoadMyPermissionView = value;
}
private void ShowSummary()
{
try
{
_BLL.GetUsers();
DoBindingSummaryGrid(_BLL.SummaryTable); //绑定主表的Grid
ShowSummaryPage(true); //显示Summary页面.
}
catch (Exception ex)
{
Msg.ShowException(ex);
}
}
private void tcMyPermission_SelectedPageChanged(object sender,
TabPageChangedEventArgs e)
{
if (e.Page == tpTreeView) LoadMyPermissionView(false);
if (e.Page == tpGroup) LoadMyGroupData(false);
if (e.Page == tpRole) LoadMyRoleData(false);
}
// 检查主表数据是否完整或合法
private bool ValidatingData(DataRow summary)
{
if (txtAccount.Text == string.Empty)
{
Msg.Warning("请输入用户编号!");
txtAccount.Focus();
return false;
}
if (txtUserName.Text == string.Empty)
{
Msg.Warning("请输入用户名!");
txtUserName.Focus();
return false;
}
if (txtOrg1.Text == string.Empty || txtOrg2.Text == string.Empty)
{
Msg.Warning("组织架构不能为空!");
if (txtOrg1.Text == string.Empty) txtOrg1.Focus();
if (txtOrg2.Text == string.Empty) txtOrg2.Focus();
return false;
}
if (_UpdateType == UpdateType.Add)
//新增状态输入密码, 如果密码不匹配, 提示信息
if (txtPassword1.Text.Trim() == "" || txtPassword2.Text
.Trim() == ""
|| txtPassword1.Text
.Trim() !=
txtPassword2.Text.Trim())
{
Msg.Warning("两次输入密码不正确!");
txtPassword1.Focus();
return false;
}
if (_UpdateType == UpdateType.Add)
if (_BLL.CheckNoExists(txtAccount.Text))
{
Msg.Warning("用户名已存在!");
txtAccount.Focus();
return false;
}
return true;
}
}
}