提交rbac
提交设置右键错位的bug
This commit is contained in:
428
DH.RBAC/Views/Sys/User/AddUserForm.cs
Normal file
428
DH.RBAC/Views/Sys/User/AddUserForm.cs
Normal file
@ -0,0 +1,428 @@
|
||||
using Sunny.UI;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Windows.Forms;
|
||||
|
||||
using DH.RBAC.Common;
|
||||
using DH.RBAC.Logic.Sys;
|
||||
using DH.RBAC.Utility.Other;
|
||||
using DH.RBAC.Model.Sys;
|
||||
|
||||
|
||||
namespace DH.RBAC.Page.Sys.User
|
||||
{
|
||||
public partial class AddUserForm : UIForm
|
||||
{
|
||||
private SysUserLogic userLogic;
|
||||
private SysUserRoleRelationLogic userRoleRelationLogic;
|
||||
private SysUserLogOnLogic userLogOnLogic;
|
||||
private SysRoleLogic roleLogic;
|
||||
private SysOrganizeLogic organizeLogic;
|
||||
|
||||
public AddUserForm()
|
||||
{
|
||||
|
||||
InitializeComponent();
|
||||
userLogic = new SysUserLogic();
|
||||
userRoleRelationLogic = new SysUserRoleRelationLogic();
|
||||
userLogOnLogic = new SysUserLogOnLogic();
|
||||
roleLogic = new SysRoleLogic();
|
||||
organizeLogic = new SysOrganizeLogic();
|
||||
}
|
||||
#region 标题栏
|
||||
private void btnClose_Click(object sender, EventArgs e)
|
||||
{
|
||||
FormHelper.subForm = null;
|
||||
ParentPage.btnQuery_Click(null, null);
|
||||
this.Close();
|
||||
}
|
||||
private Point mPoint;
|
||||
private void titlePanel_MouseDown(object sender, MouseEventArgs e)
|
||||
{
|
||||
mPoint = new Point(e.X, e.Y);
|
||||
}
|
||||
|
||||
private void titlePanel_MouseMove(object sender, MouseEventArgs e)
|
||||
{
|
||||
if (e.Button == MouseButtons.Left)
|
||||
{
|
||||
this.Location = new Point(this.Location.X + e.X - mPoint.X, this.Location.Y + e.Y - mPoint.Y);
|
||||
}
|
||||
}
|
||||
|
||||
private void btnClose_MouseEnter(object sender, EventArgs e)
|
||||
{
|
||||
btnClose.BackColor = Color.FromArgb(231, 231, 231);
|
||||
}
|
||||
|
||||
private void btnClose_MouseLeave(object sender, EventArgs e)
|
||||
{
|
||||
btnClose.BackColor = Color.Transparent;
|
||||
|
||||
}
|
||||
#endregion
|
||||
|
||||
|
||||
public UserPage ParentPage { get; set; }
|
||||
public string Id { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 画面加载,读取用户信息,显示在界面上
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
private void AddUserForm_Load(object sender, EventArgs e)
|
||||
{
|
||||
if (StringHelper.IsNullOrEmpty(Id))
|
||||
{
|
||||
lblTitle.Text = "新增用户";
|
||||
txtAccount.Enabled = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
lblTitle.Text = "修改用户";
|
||||
txtAccount.Enabled = false;
|
||||
txtPassword.Enabled = false;
|
||||
}
|
||||
//获取部门下拉列表的值
|
||||
bool flag = GetDepartmentCombox();
|
||||
if (!flag)
|
||||
{
|
||||
btnClose_Click(null, null);
|
||||
return;
|
||||
}
|
||||
flag = GetRoleTrans();
|
||||
if (!flag)
|
||||
{
|
||||
btnClose_Click(null, null);
|
||||
return;
|
||||
}
|
||||
if (StringHelper.IsNullOrEmpty(Id))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
SysUser entity = userLogic.Get(Id);
|
||||
entity.StrBirthday = entity.Birthday.Value.ToString("yyyy-MM-dd");
|
||||
entity.RoleId = userRoleRelationLogic.GetList(entity.Id).Select(c => c.RoleId).ToList();
|
||||
|
||||
|
||||
|
||||
if (entity == null)
|
||||
{
|
||||
AntdUI.Message.warn(this, "用户信息不存在!", autoClose: 3);
|
||||
|
||||
btnClose_Click(null, null);
|
||||
return;
|
||||
}
|
||||
|
||||
//给文本框赋值
|
||||
txtAccount.Text = entity.Account;
|
||||
txtNickName.Text = entity.NickName;
|
||||
txtName.Text = entity.RealName;
|
||||
txtBirthday.Text = entity.StrBirthday;
|
||||
if (entity.Gender == "1")
|
||||
rdMale.Checked = true;
|
||||
else
|
||||
rdFemale.Checked = true;
|
||||
txtEmail.Text = entity.Email;
|
||||
comboDept.SelectedValue = entity.DepartmentId;
|
||||
txtTel.Text = entity.MobilePhone;
|
||||
txtAddress.Text = entity.Address;
|
||||
uiIntegerUpDown1.Value = entity.SortCode.Value;
|
||||
//左边删除已存在的,右边新增这些
|
||||
foreach (string id in entity.RoleId)
|
||||
{
|
||||
string name = roleIdDict[id];
|
||||
if (uiTransfer1.ItemsLeft.Contains(name))
|
||||
{
|
||||
uiTransfer1.ItemsLeft.Remove(name);
|
||||
}
|
||||
uiTransfer1.ItemsRight.Add(name);
|
||||
}
|
||||
}
|
||||
|
||||
Dictionary<string, string> roleNameDict = new Dictionary<string, string>();
|
||||
Dictionary<string, string> roleIdDict = new Dictionary<string, string>();
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 获得角色
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
private bool GetRoleTrans()
|
||||
{
|
||||
List<SysRole> listRole = roleLogic.GetList();
|
||||
var listTree = new List<TreeSelect>();
|
||||
foreach (var item in listRole)
|
||||
{
|
||||
TreeSelect model = new TreeSelect();
|
||||
model.id = item.Id;
|
||||
model.text = item.Name;
|
||||
listTree.Add(model);
|
||||
}
|
||||
foreach (TreeSelect select in listTree)
|
||||
{
|
||||
uiTransfer1.ItemsLeft.Add(select.text);
|
||||
roleIdDict.Add(select.id, select.text);
|
||||
roleNameDict.Add(select.text, select.id);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获得部门下拉列表数据
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
private bool GetDepartmentCombox()
|
||||
{
|
||||
var data = organizeLogic.GetList();
|
||||
var treeList = new List<TreeSelect>();
|
||||
foreach (SysOrganize item in data)
|
||||
{
|
||||
TreeSelect model = new TreeSelect();
|
||||
model.id = item.Id;
|
||||
model.text = item.FullName;
|
||||
model.parentId = item.ParentId;
|
||||
treeList.Add(model);
|
||||
}
|
||||
List<TreeSelect> list2 = treeList.Where(it => it.parentId != "0").ToList();
|
||||
comboDept.ValueMember = "id";
|
||||
comboDept.DisplayMember = "text";
|
||||
comboDept.DataSource = list2;
|
||||
return true;
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 确认按钮点击事件处理
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
private void btnConfirm_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (StringHelper.IsNullOrEmpty(Id))
|
||||
{
|
||||
DoAdd();
|
||||
}
|
||||
else
|
||||
{
|
||||
DoUpdate();
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 执行更新操作
|
||||
/// </summary>
|
||||
private void DoUpdate()
|
||||
{
|
||||
bool flag = ChechEmpty(false);
|
||||
if (!flag)
|
||||
{
|
||||
return;
|
||||
}
|
||||
SysUser model = new SysUser();
|
||||
model.Id = Id;
|
||||
model.Account = txtAccount.Text;
|
||||
model.NickName = txtNickName.Text;
|
||||
model.RealName = txtName.Text;
|
||||
model.StrBirthday = txtBirthday.Text;
|
||||
model.Gender = rdMale.Checked ? "1" : "0";
|
||||
|
||||
model.Email = txtEmail.Text;
|
||||
model.DepartmentId = comboDept.SelectedValue.ToString();
|
||||
model.MobilePhone = txtTel.Text;
|
||||
model.Address = txtAddress.Text;
|
||||
model.SortCode = uiIntegerUpDown1.Value;
|
||||
|
||||
List<string> ids = new List<string>();
|
||||
foreach (string item in uiTransfer1.ItemsRight)
|
||||
{
|
||||
ids.Add(roleNameDict[item]);
|
||||
}
|
||||
string roleIds = StringHelper.GetStrArray(ids);
|
||||
model.roleIds = roleIds;
|
||||
model.ModifyUserId = GlobalConfig.CurrentUser.Id;
|
||||
|
||||
DateTime defaultDt = DateTime.Today;
|
||||
DateTime.TryParse(model.StrBirthday + " 00:00:00", out defaultDt);
|
||||
model.Birthday = defaultDt;
|
||||
if (model.roleIds == "")
|
||||
{
|
||||
AntdUI.Message.warn(this, "请选择角色!", autoClose: 3);
|
||||
|
||||
return;
|
||||
}
|
||||
//更新用户基本信息。
|
||||
int row = userLogic.AppUpdateAndSetRole(model, model.roleIds.SplitToList().ToArray(), model.ModifyUserId);
|
||||
//更新用户角色信息。
|
||||
if (row == 0)
|
||||
{
|
||||
AntdUI.Message.warn(this, "对不起,操作失败!", autoClose: 3);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
//ParentPage.Init();
|
||||
btnClose_Click(null, null);
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 数据校验
|
||||
/// </summary>
|
||||
/// <param name="checkPassword"></param>
|
||||
/// <returns></returns>
|
||||
private bool ChechEmpty(bool checkPassword)
|
||||
{
|
||||
if (StringHelper.IsNullOrEmpty(txtAccount.Text))
|
||||
{
|
||||
AntdUI.Message.warn(this, "账号不能为空!", autoClose: 3);
|
||||
|
||||
|
||||
return false;
|
||||
}
|
||||
if (StringHelper.IsNullOrEmpty(txtNickName.Text))
|
||||
{
|
||||
AntdUI.Message.warn(this, "昵称不能为空!", autoClose: 3);
|
||||
|
||||
|
||||
return false;
|
||||
}
|
||||
if (checkPassword)
|
||||
{
|
||||
if (StringHelper.IsNullOrEmpty(txtPassword.Text))
|
||||
{
|
||||
AntdUI.Message.warn(this, "初始密码不能为空!", autoClose: 3);
|
||||
|
||||
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
if (comboDept.SelectedItem == null)
|
||||
{
|
||||
AntdUI.Message.warn(this, "所属部门不能为空!", autoClose: 3);
|
||||
|
||||
|
||||
return false;
|
||||
}
|
||||
if (StringHelper.IsNullOrEmpty(comboDept.SelectedItem.ToString()))
|
||||
{
|
||||
AntdUI.Message.warn(this, "所属部门不能为空!", autoClose: 3);
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
|
||||
if (StringHelper.IsNullOrEmpty(uiIntegerUpDown1.Text))
|
||||
{
|
||||
AntdUI.Message.warn(this, "排序号不能为空!", autoClose: 3);
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
if (comboDept.SelectedItem == null)
|
||||
{
|
||||
AntdUI.Message.warn(this, "所属部门不能为空!", autoClose: 3);
|
||||
|
||||
|
||||
return false;
|
||||
}
|
||||
if (StringHelper.IsNullOrEmpty(comboDept.SelectedItem.ToString()))
|
||||
{
|
||||
AntdUI.Message.warn(this, "所属部门不能为空!", autoClose: 3);
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
if (uiTransfer1.ItemsRight == null)
|
||||
{
|
||||
AntdUI.Message.warn(this, "角色不能为空!", autoClose: 3);
|
||||
|
||||
return false;
|
||||
}
|
||||
if (uiTransfer1.ItemsRight.Count == 0)
|
||||
{
|
||||
AntdUI.Message.warn(this, "角色不能为空!", autoClose: 3);
|
||||
|
||||
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 执行新增操作
|
||||
/// </summary>
|
||||
private void DoAdd()
|
||||
{
|
||||
bool flag = ChechEmpty(true);
|
||||
if (!flag)
|
||||
return;
|
||||
SysUser model = new SysUser();
|
||||
model.Account = txtAccount.Text;
|
||||
model.NickName = txtNickName.Text;
|
||||
model.password = txtPassword.Text.MD5Encrypt();
|
||||
model.RealName = txtName.Text;
|
||||
model.StrBirthday = txtBirthday.Text;
|
||||
|
||||
model.Gender = rdMale.Checked ? "1" : "0";
|
||||
|
||||
model.Email = txtEmail.Text;
|
||||
model.DepartmentId = comboDept.SelectedValue.ToString();
|
||||
model.MobilePhone = txtTel.Text;
|
||||
model.Address = txtAddress.Text;
|
||||
model.SortCode = uiIntegerUpDown1.Value;
|
||||
model.CreateUserId = GlobalConfig.CurrentUser.Id;
|
||||
|
||||
List<string> ids = new List<string>();
|
||||
foreach (string item in uiTransfer1.ItemsRight)
|
||||
{
|
||||
ids.Add(roleNameDict[item]);
|
||||
}
|
||||
string roleIds = StringHelper.GetStrArray(ids);
|
||||
model.roleIds = roleIds;
|
||||
|
||||
|
||||
|
||||
var userEntity = userLogic.GetByUserName(model.Account);
|
||||
if (userEntity != null)
|
||||
{
|
||||
AntdUI.Message.warn(this, "已存在当前用户名,请重新输入!", autoClose: 3);
|
||||
|
||||
|
||||
return;
|
||||
}
|
||||
DateTime defaultDt = DateTime.Today;
|
||||
DateTime.TryParse(model.StrBirthday + " 00:00:00", out defaultDt);
|
||||
model.Birthday = defaultDt;
|
||||
if (model.roleIds == "")
|
||||
{
|
||||
AntdUI.Message.warn(this, "请选择角色!", autoClose: 3);
|
||||
|
||||
|
||||
return;
|
||||
}
|
||||
int row = userLogic.AppInsert(model, model.password, model.roleIds.SplitToList().ToArray(), model.CreateUserId);
|
||||
if (row == 0)
|
||||
{
|
||||
AntdUI.Message.warn(this, "对不起,操作失败!", autoClose: 3);
|
||||
|
||||
;
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
btnClose_Click(null, null);
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user