966 lines
39 KiB
C#
966 lines
39 KiB
C#
using DevExpress.XtraEditors;
|
|
using HL_FristAidPlatform_DTO;
|
|
using HL_FristAidPlatform_Public;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Data;
|
|
using System.Drawing;
|
|
using System.IO;
|
|
using System.Text.RegularExpressions;
|
|
using System.Windows.Forms;
|
|
|
|
namespace HL_FristAidPlatform_SYS
|
|
{
|
|
public partial class Form_UserEdit : XtraForm
|
|
{
|
|
#region 变量
|
|
/// <summary>
|
|
/// 操作标记 1:新增 2:修改
|
|
/// </summary>
|
|
private int Flag;
|
|
|
|
/// <summary>
|
|
/// 头像(转换成二进制之后数据)
|
|
/// </summary>
|
|
private string Cur_PicData = string.Empty;
|
|
|
|
/// <summary>
|
|
/// 头像图片的位图源
|
|
/// </summary>
|
|
private Bitmap Cur_ImageBitmap;
|
|
|
|
/// <summary>
|
|
/// 电子签名(转换成二进制之后数据)
|
|
/// </summary>
|
|
private string Cur_PicData_ElectronicSignature = string.Empty;
|
|
|
|
/// <summary>
|
|
/// 电子签名图片的位图源
|
|
/// </summary>
|
|
private Bitmap Cur_ImageBitmap_ElectronicSignature;
|
|
|
|
/// <summary>
|
|
/// 当前操作的用户编号
|
|
/// </summary>
|
|
private long Cur_UserID = 0;
|
|
|
|
/// <summary>
|
|
/// 用户所拥有的所属院区源
|
|
/// </summary>
|
|
private DataTable Cur_UserHospitalDT = new DataTable();
|
|
#endregion
|
|
|
|
/// <summary>
|
|
/// 窗体重载
|
|
/// </summary>
|
|
/// <param name="_flag">操作标记 1:新增 2:修改</param>
|
|
/// <param name="_userID">操作用户编号</param>
|
|
public Form_UserEdit(int _flag, long _userID = 0)
|
|
{
|
|
InitializeComponent();
|
|
|
|
//如果当前屏幕的高度不足以显示完整的弹出窗体,则缩小高度到适应当前屏幕的高度
|
|
if (PublicClass.ScreenHeight < this.Height)
|
|
{
|
|
this.Height = PublicClass.ScreenHeight;
|
|
}
|
|
|
|
if (_flag == 0)
|
|
{
|
|
Flag = 2;
|
|
}
|
|
else
|
|
{
|
|
Flag = _flag;
|
|
}
|
|
|
|
//用户编号为0时
|
|
if (_userID == 0)
|
|
{
|
|
//如果是修改
|
|
if (Flag == 2)
|
|
{
|
|
//修改当前登录用户信息
|
|
Cur_UserID = Information.User.ID;//个人信息
|
|
}
|
|
}
|
|
else
|
|
{
|
|
Cur_UserID = _userID;
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 窗体加载
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
private void Form_UserEdit_Load(object sender, EventArgs e)
|
|
{
|
|
BindData();
|
|
|
|
//修改--绑定详情
|
|
if (Flag == 2)
|
|
{
|
|
BindDetail();
|
|
txt_LoginName.ReadOnly = true;//不允许修改登录名
|
|
txt_Password.ReadOnly = true;//不允许直接更改密码
|
|
btn_UpdatePwd.Enabled = true;
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 窗体快捷键注册
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
private void Form_UserEdit_KeyDown(object sender, KeyEventArgs e)
|
|
{
|
|
//同时按下 Ctrl+S 时执行保存方法
|
|
if (e.KeyCode == Keys.S && e.Control)
|
|
{
|
|
btn_Save_Click(null, null);
|
|
}
|
|
if (e.KeyCode == Keys.Escape)
|
|
{
|
|
btn_Exit_Click(null, null);
|
|
}
|
|
}
|
|
|
|
#region 绑定数据
|
|
/// <summary>
|
|
/// 绑定详情
|
|
/// </summary>
|
|
private void BindDetail()
|
|
{
|
|
try
|
|
{
|
|
#region 绑定详情
|
|
DataTable DetailDT = DBHelpClass.GetDataRow(string.Format("api/admin/T_SYS_User/{0}", Cur_UserID));
|
|
if (DetailDT != null && DetailDT.Rows.Count > 0)
|
|
{
|
|
txt_LoginName.Tag = DetailDT.Rows[0]["ID"].ToString();
|
|
txt_LoginName.Text = DetailDT.Rows[0]["LoginName"].ToString();
|
|
txt_Password.Tag = DetailDT.Rows[0]["Password"].ToString();
|
|
txt_Password.Text = DetailDT.Rows[0]["Password"].ToString();
|
|
txt_FullName.Tag = DetailDT.Rows[0]["CreationDate"].ToString();
|
|
txt_FullName.Text = DetailDT.Rows[0]["FullName"].ToString();
|
|
txt_WorkNumber.Text = DetailDT.Rows[0]["WorkNumber"].ToString();
|
|
//txt_Nickname.Text = DetailDT.Rows[0]["Nickname"].ToString();
|
|
////性别
|
|
//radioGroup_Gender.EditValue = DetailDT.Rows[0]["Gender"].ToString();
|
|
//txt_Age.Text = DetailDT.Rows[0]["Age"].ToString();
|
|
txt_MobilePhone.Text = DetailDT.Rows[0]["MobilePhone"].ToString();
|
|
//txt_OfficePhone.Text = DetailDT.Rows[0]["OfficePhone"].ToString();
|
|
|
|
//科室
|
|
LUEdit_Departments.EditValue = PublicClass.ToString(DetailDT.Rows[0]["DepartmentsID"], "-1");
|
|
//职位
|
|
LUEdit_Position.EditValue = PublicClass.ToString(DetailDT.Rows[0]["PositionID"], "-1");
|
|
//txt_IdentityCard.Text = DetailDT.Rows[0]["IdentityCard"].ToString();
|
|
//txt_Address.Text = DetailDT.Rows[0]["Address"].ToString();
|
|
//txt_Email.Text = DetailDT.Rows[0]["Email"].ToString();
|
|
////生日
|
|
//time_Birthday.TimeValue = DetailDT.Rows[0]["Birthday"].ToString();
|
|
|
|
#region 图片
|
|
//头像
|
|
if (!string.IsNullOrEmpty(PublicClass.ToString(DetailDT.Rows[0]["Portrait"], "")))
|
|
{
|
|
MemoryStream ms = new MemoryStream(Convert.FromBase64String(DetailDT.Rows[0]["Portrait"].ToString()));
|
|
Image img = Image.FromStream(ms);
|
|
pictureEdit_Portrait.Image = img;
|
|
Cur_ImageBitmap = new Bitmap(img);
|
|
Cur_PicData = PublicClass.Png2String(Cur_ImageBitmap);
|
|
}
|
|
else
|
|
{
|
|
pictureEdit_Portrait.Image = null;
|
|
Cur_ImageBitmap = null;
|
|
Cur_PicData = "";
|
|
}
|
|
|
|
//电子签名
|
|
if (!string.IsNullOrEmpty(PublicClass.ToString(DetailDT.Rows[0]["ElectronicSignature"], "")))
|
|
{
|
|
MemoryStream ms = new MemoryStream(Convert.FromBase64String(DetailDT.Rows[0]["ElectronicSignature"].ToString()));
|
|
Image img = Image.FromStream(ms);
|
|
pictureEdit_ElectronicSignature.Image = img;
|
|
Cur_ImageBitmap = new Bitmap(img);
|
|
Cur_PicData = PublicClass.Png2String(Cur_ImageBitmap);
|
|
}
|
|
else
|
|
{
|
|
pictureEdit_ElectronicSignature.Image = null;
|
|
Cur_ImageBitmap_ElectronicSignature = null;
|
|
Cur_PicData_ElectronicSignature = "";
|
|
}
|
|
#endregion
|
|
|
|
radioGroup_PersonnelType.EditValue = DetailDT.Rows[0]["PersonnelType"].ToString();
|
|
//txt_Note.Text = DetailDT.Rows[0]["Note"].ToString();
|
|
ck_IsReceiveMessages.Checked = DetailDT.Rows[0]["IsReceiveMessages"].ToString() == "0" ? true : false;
|
|
}
|
|
#endregion
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
PublicClass.WriteErrorLog(this.Text, "绑定详情:\r\n" + ex);
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 绑定数据
|
|
/// 下拉框
|
|
/// </summary>
|
|
private void BindData()
|
|
{
|
|
//BindGender();
|
|
BindPosition();
|
|
BindRole();
|
|
BindHospital();
|
|
BindHospitalList();
|
|
}
|
|
|
|
/// <summary>
|
|
/// 绑定性别
|
|
/// </summary>
|
|
//private void BindGender()
|
|
//{
|
|
// try
|
|
// {
|
|
// DataTable GenderDT = DBHelpClass.Get("/api/base/T_Base_Gender/GetList");
|
|
// PublicClass.BindRadioGroupData(radioGroup_Gender, GenderDT, "GenderName", "GenderCode");
|
|
// }
|
|
// catch (Exception ex)
|
|
// {
|
|
// PublicClass.WriteErrorLog(this.Text, "绑定性别:\r\n" + ex);
|
|
// }
|
|
//}
|
|
|
|
/// <summary>
|
|
/// 绑定机构信息
|
|
/// </summary>
|
|
private void BindHospital()
|
|
{
|
|
try
|
|
{
|
|
DataTable ResultDT = DBHelpClass.Get("api/base/T_Base_Hospital/GetList");
|
|
PublicClass.SetLookUpList(LUEdit_Hospital, ResultDT, "GUID", "Name", true, "请选择");
|
|
LUEdit_Hospital.EditValue = Information.Hospital.ID;//默认当前院区
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
PublicClass.WriteErrorLog(this.Text, "绑定机构信息:\r\n" + ex);
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 绑定科室
|
|
/// </summary>
|
|
private void LUEdit_Hospital_EditValueChanged(object sender, EventArgs e)
|
|
{
|
|
try
|
|
{
|
|
string HospitalGuid = PublicClass.ToString(LUEdit_Hospital.EditValue, "");
|
|
string Url = string.Format("/api/admin/T_SYS_Departments/GetListByHospitalGuid?hospitalGuid={0}", HospitalGuid);
|
|
DataTable DepartmentsDT = DBHelpClass.Get(Url);
|
|
PublicClass.SetLookUpList(LUEdit_Departments, DepartmentsDT, "ID", "DepartmentName", true, "请选择");
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
PublicClass.WriteErrorLog(this.Text, "绑定科室:\r\n" + ex);
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 绑定职位
|
|
/// </summary>
|
|
private void BindPosition()
|
|
{
|
|
try
|
|
{
|
|
DataTable PositionDT = DBHelpClass.Get("/api/admin/T_SYS_Position/GetList");
|
|
PublicClass.SetLookUpList(LUEdit_Position, PositionDT, "ID", "PositionName", true, "请选择");
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
PublicClass.WriteErrorLog(this.Text, "绑定职位:\r\n" + ex);
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 绑定已有角色
|
|
/// </summary>
|
|
private void BindRole()
|
|
{
|
|
try
|
|
{
|
|
DataTable RoleDT = DBHelpClass.Get(string.Format("/api/admin/T_SYS_UserRole/GetListByUserID?userID={0}", Cur_UserID));
|
|
gridC_Role.DataSource = RoleDT;//显示分页结果
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
PublicClass.WriteErrorLog(this.Text, "绑定已有角色:\r\n" + ex);
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 绑定已有所属院区列表
|
|
/// </summary>
|
|
private void BindHospitalList()
|
|
{
|
|
try
|
|
{
|
|
Cur_UserHospitalDT = DBHelpClass.Get(string.Format("/api/admin/T_SYS_UserHospital/GetListByUserID?userID={0}", Cur_UserID));
|
|
|
|
grid_Hospital.DataSource = Cur_UserHospitalDT;//显示分页结果
|
|
grv_Hospital.BestFitColumns();//列宽自适应
|
|
|
|
if (Cur_UserHospitalDT != null && Cur_UserHospitalDT.Rows.Count > 0)
|
|
{
|
|
//默认第一个
|
|
LUEdit_Hospital.EditValue = PublicClass.ToString(Cur_UserHospitalDT.Rows[0]["HospitalGUID"], "-1");
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
PublicClass.WriteErrorLog(this.Text, "绑定已有角色:\r\n" + ex);
|
|
}
|
|
}
|
|
#endregion
|
|
|
|
#region 事件
|
|
/// <summary>
|
|
/// 更改密码
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
private void btn_UpdatePwd_Click(object sender, EventArgs e)
|
|
{
|
|
if (Flag == 2)
|
|
{
|
|
//弹出窗体更改密码
|
|
Form_UpdatePassword frm = new Form_UpdatePassword(Convert.ToInt64(this.txt_LoginName.Tag.ToString()), 1);
|
|
if (frm.ShowDialog() == DialogResult.OK)
|
|
{
|
|
txt_Password.Text = frm.NewPassword;
|
|
}
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 关闭
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
private void btn_Exit_Click(object sender, EventArgs e)
|
|
{
|
|
DialogResult = DialogResult.No;
|
|
Close();
|
|
}
|
|
|
|
/// <summary>
|
|
/// 保存
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
private void btn_Save_Click(object sender, EventArgs e)
|
|
{
|
|
try
|
|
{
|
|
#region 保存
|
|
string Url = string.Empty;
|
|
|
|
#region 验证
|
|
//名称不能为空
|
|
if (string.IsNullOrEmpty(txt_LoginName.Text.ToString().Trim()))
|
|
{
|
|
XtraMessageBox.Show("登录名不能为空,请填写!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
|
|
txt_LoginName.Focus();
|
|
return;
|
|
}
|
|
else
|
|
{
|
|
#region 判断是否存在
|
|
//新增
|
|
if (Flag == 1)
|
|
{
|
|
Url = string.Format("api/admin/T_SYS_User/CheckIsExist?loginName={0}&flag=1", txt_LoginName.Text.ToString().Trim());
|
|
}
|
|
else if (Flag == 2)
|
|
{
|
|
Url = string.Format("api/admin/T_SYS_User/CheckIsExist?userId={0}&loginName={1}&flag=2", Convert.ToInt64(txt_LoginName.Tag.ToString()), txt_LoginName.Text.ToString().Trim());
|
|
}
|
|
|
|
DataTable CheckDT = DBHelpClass.Get(Url);
|
|
if (CheckDT != null && CheckDT.Rows.Count > 0)
|
|
{
|
|
XtraMessageBox.Show(string.Format("登录名【{0}】已存在!请更换其他登录名!", txt_LoginName.Text.ToString().Trim()), "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
|
|
txt_LoginName.Focus();
|
|
return;
|
|
}
|
|
#endregion
|
|
}
|
|
|
|
//姓名不能为空
|
|
if (string.IsNullOrEmpty(txt_FullName.Text.ToString().Trim()))
|
|
{
|
|
XtraMessageBox.Show("姓名不能为空,请填写!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
|
|
txt_FullName.Focus();
|
|
return;
|
|
}
|
|
|
|
//工号不能为空
|
|
if (string.IsNullOrEmpty(txt_WorkNumber.Text.ToString().Trim()))
|
|
{
|
|
XtraMessageBox.Show("工号不能为空,请填写!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
|
|
txt_WorkNumber.Focus();
|
|
return;
|
|
}
|
|
|
|
//if (PublicClass.ToInt32(radioGroup_Gender.EditValue, -1) <= 0)
|
|
//{
|
|
// XtraMessageBox.Show("请选择性别!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
|
|
// radioGroup_Gender.Focus();
|
|
// return;
|
|
//}
|
|
|
|
//所选择的院区编号(GUID)
|
|
string HospitalGUID = string.Empty;
|
|
if (PublicClass.ToString(LUEdit_Hospital.EditValue, "-1") == "-1")
|
|
{
|
|
XtraMessageBox.Show("请选择所属院区!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
|
|
LUEdit_Hospital.Focus();
|
|
return;
|
|
}
|
|
else
|
|
{
|
|
HospitalGUID = PublicClass.ToString(LUEdit_Hospital.EditValue, "");
|
|
}
|
|
|
|
if (PublicClass.ToInt32(LUEdit_Departments.EditValue, -1) <= 0)
|
|
{
|
|
XtraMessageBox.Show("请选择所属科室!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
|
|
LUEdit_Departments.Focus();
|
|
return;
|
|
}
|
|
|
|
if (PublicClass.ToInt32(LUEdit_Position.EditValue, -1) <= 0)
|
|
{
|
|
XtraMessageBox.Show("请选择担任最高职位!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
|
|
LUEdit_Position.Focus();
|
|
return;
|
|
}
|
|
|
|
////出生日期
|
|
//if (string.IsNullOrEmpty(time_Birthday.TimeValue))
|
|
//{
|
|
// XtraMessageBox.Show("出生日期不能为空,请填写!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
|
|
// time_Birthday.Focus();
|
|
// return;
|
|
//}
|
|
|
|
//int Age = 0;
|
|
//if (!int.TryParse(txt_Age.Text.ToString(), out Age))
|
|
//{
|
|
// XtraMessageBox.Show("请输入年龄!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
|
|
// txt_Age.Focus();
|
|
// return;
|
|
//}
|
|
|
|
if (PublicClass.ToInt32(radioGroup_PersonnelType.EditValue, -1) <= 0)
|
|
{
|
|
XtraMessageBox.Show("请选择人员类型!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
|
|
radioGroup_PersonnelType.Focus();
|
|
return;
|
|
}
|
|
//Regex regex = new Regex("^13\\d{9}$");
|
|
//if (!string.IsNullOrEmpty(txt_MobilePhone.Text.ToString().Trim()) && !regex.IsMatch(txt_MobilePhone.Text.ToString().Trim()))
|
|
//{
|
|
// XtraMessageBox.Show("输入的手机号码不合法!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
|
|
// txt_MobilePhone.Focus();
|
|
// return;
|
|
//}
|
|
//string phone = "^\\(0\\d{2}\\)[- ]?\\d{8}$|^0\\d{2}[- ]?\\d{8}$|^\\(0\\d{3}\\)[- ]?\\d{7}$|^0\\d{3}[- ]?\\d{7}$";
|
|
//Regex re = new Regex(phone);
|
|
//if (!string.IsNullOrEmpty(txt_OfficePhone.Text.ToString().Trim()) && !re.IsMatch(txt_OfficePhone.Text.ToString().Trim()))
|
|
//{
|
|
|
|
// XtraMessageBox.Show("输入的办公电话不合法!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
|
|
// txt_OfficePhone.Focus();
|
|
// return;
|
|
//}
|
|
//string idcard = @"^(/d{15}$|^/d{18}$|^/d{17}(/d|X|x))$";
|
|
|
|
//if (!string.IsNullOrEmpty(txt_IdentityCard.Text.ToString().Trim()))
|
|
//{
|
|
// Match m = Regex.Match(txt_IdentityCard.Text.ToString().Trim(), idcard);
|
|
// if (!m.Success)
|
|
// {
|
|
// XtraMessageBox.Show("输入的身份证不合法!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
|
|
// txt_IdentityCard.Focus();
|
|
// return;
|
|
// }
|
|
//}
|
|
//string email = @"^([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$";
|
|
// Regex _regex = new Regex(email);
|
|
//if (!string.IsNullOrEmpty(txt_Email.Text.ToString().Trim())&&!_regex.IsMatch(txt_Email.Text.ToString().Trim()))
|
|
//{
|
|
// XtraMessageBox.Show("输入的邮箱不合法!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
|
|
// txt_IdentityCard.Focus();
|
|
// return;
|
|
//}
|
|
#endregion
|
|
|
|
List<T_SYS_UserDTO> list = new List<T_SYS_UserDTO>();
|
|
T_SYS_UserDTO model = new T_SYS_UserDTO();
|
|
|
|
if (Flag == 1)
|
|
{
|
|
Url = "api/admin/T_SYS_User";
|
|
model.GUID = Guid.NewGuid().ToString();
|
|
model.CreationDate = PublicClass.DateTimeNow();
|
|
model.CreatorID = Information.User.ID;
|
|
model.Creator = Information.User.FullName;
|
|
model.Password = EncryptClass.EncryptDES(txt_Password.Text.ToString().Trim());
|
|
model.IsOnline = 1;
|
|
}
|
|
else
|
|
{
|
|
Url = "api/admin/T_SYS_User/UpdateInfo";
|
|
model.ID = PublicClass.ToInt64(txt_LoginName.Tag, 0);
|
|
model.EditTime = PublicClass.DateTimeNow();
|
|
model.EditorID = Information.User.ID;
|
|
model.Editor = Information.User.FullName;
|
|
model.Password = txt_Password.Text.ToString().Trim();
|
|
}
|
|
|
|
model.LoginName = txt_LoginName.Text.ToString().Trim();
|
|
model.WorkNumber = txt_WorkNumber.Text.ToString().Trim();
|
|
model.FullName = txt_FullName.Text.ToString().Trim();
|
|
//model.Nickname = txt_Nickname.Text.ToString().Trim();
|
|
////性别
|
|
//model.Gender = PublicClass.ToInt32(radioGroup_Gender.EditValue, 0);
|
|
//model.Age = Age;
|
|
model.MobilePhone = txt_MobilePhone.Text.ToString().Trim();
|
|
//model.OfficePhone = txt_OfficePhone.Text.ToString().Trim();
|
|
//科室
|
|
model.DepartmentsID = PublicClass.ToInt32(LUEdit_Departments.EditValue, 0);
|
|
//职位
|
|
model.PositionID = PublicClass.ToInt32(LUEdit_Position.EditValue, 0);
|
|
//model.IdentityCard = txt_IdentityCard.Text.ToString().Trim();
|
|
//model.Address = txt_Address.Text.ToString().Trim();
|
|
//model.Email = txt_Email.Text.ToString().Trim();
|
|
////出生日期
|
|
//model.Birthday = PublicClass.ToDateTime(time_Birthday.TimeValue);
|
|
//model.Signature = txt_Signature.Text.ToString().Trim();
|
|
//头像图片
|
|
model.Portrait = Convert.FromBase64String(Cur_PicData);
|
|
//model.Note = txt_Note.Text.ToString().Trim();
|
|
model.PersonnelType = PublicClass.ToInt32(radioGroup_PersonnelType.EditValue, 0);
|
|
//电子签名图片
|
|
model.ElectronicSignature = Convert.FromBase64String(Cur_PicData_ElectronicSignature);
|
|
|
|
model.DeleteFlag = 0;
|
|
model.IsReceiveMessages = ck_IsReceiveMessages.Checked == true ? 0 : 1;
|
|
|
|
list.Add(model);
|
|
|
|
//初始化两个工厂
|
|
ClientFactory<T_SYS_UserDTO> httpClient = new HttpClientFactory<T_SYS_UserDTO>();
|
|
Client<T_SYS_UserDTO> client = httpClient.VisitFactory();
|
|
|
|
//访问
|
|
ListEntity<T_SYS_UserDTO> t = client.Post(Url, list);
|
|
if (t.Success)
|
|
{
|
|
long userID = model.ID;
|
|
//新增时重新获取ID
|
|
if (Flag == 1)
|
|
{
|
|
DataTable UserDT = DBHelpClass.Get(string.Format("api/admin/T_SYS_User/GetByGuid?guid={0}", model.GUID));
|
|
if (UserDT != null && UserDT.Rows.Count > 0)
|
|
{
|
|
userID = PublicClass.ToInt64(UserDT.Rows[0]["id"], 0);
|
|
}
|
|
}
|
|
|
|
//保存用户所属院区
|
|
SaveUserHospital(userID, HospitalGUID);
|
|
|
|
XtraMessageBox.Show("保存用户信息成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
|
|
DialogResult = DialogResult.OK;
|
|
Close();
|
|
}
|
|
else
|
|
{
|
|
XtraMessageBox.Show("保存失败,请稍后重试!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
|
}
|
|
#endregion
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
PublicClass.WriteErrorLog(this.Text, "保存:\r\n" + ex);
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 更换头像
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
private void btn_PortraitSel_Click(object sender, EventArgs e)
|
|
{
|
|
try
|
|
{
|
|
OpenFileDialog ofd = new OpenFileDialog();
|
|
ofd.Filter = "Image Files(*.JPG;*.PNG;*.jpeg;*.GIF;*.BMP)|*.JPG;*.PNG;*.GIF;*.BMP;*.jpeg|All files(*.*)|*.*";
|
|
ofd.RestoreDirectory = true;
|
|
if (ofd.ShowDialog() == DialogResult.OK)
|
|
{
|
|
FileInfo file = new FileInfo(ofd.FileName);
|
|
string Cur_PicAddress = ofd.FileName;
|
|
Image imge = Image.FromFile(Cur_PicAddress);
|
|
Cur_ImageBitmap = new Bitmap(imge, pictureEdit_Portrait.Width, pictureEdit_Portrait.Height);
|
|
pictureEdit_Portrait.Image = Cur_ImageBitmap;
|
|
|
|
if (file.Extension == ".png" || file.Extension == ".PNG")
|
|
{
|
|
//所选图标转换成二进制 png
|
|
Cur_PicData = PublicClass.Png2String(Cur_ImageBitmap);
|
|
}
|
|
else
|
|
{
|
|
//所选图标转换成二进制 jpg
|
|
Cur_PicData = PublicClass.Jpeg2String(Cur_ImageBitmap);
|
|
}
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
PublicClass.WriteErrorLog(this.Text, "更换头像:\r\n" + ex);
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 选择电子签名图片
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
private void btn_Sel_ElectronicSignature_Click(object sender, EventArgs e)
|
|
{
|
|
try
|
|
{
|
|
OpenFileDialog ofd = new OpenFileDialog();
|
|
ofd.Filter = "Image Files(*.JPG;*.PNG;*.jpeg;*.GIF;*.BMP)|*.JPG;*.PNG;*.GIF;*.BMP;*.jpeg|All files(*.*)|*.*";
|
|
ofd.RestoreDirectory = true;
|
|
if (ofd.ShowDialog() == DialogResult.OK)
|
|
{
|
|
FileInfo file = new FileInfo(ofd.FileName);
|
|
string Cur_PicAddress = ofd.FileName;
|
|
Image imge = Image.FromFile(Cur_PicAddress);
|
|
Cur_ImageBitmap_ElectronicSignature = new Bitmap(imge, pictureEdit_ElectronicSignature.Width, pictureEdit_ElectronicSignature.Height);
|
|
pictureEdit_ElectronicSignature.Image = Cur_ImageBitmap_ElectronicSignature;
|
|
|
|
if (file.Extension == ".png" || file.Extension == ".PNG")
|
|
{
|
|
//所选图标转换成二进制 png
|
|
Cur_PicData_ElectronicSignature = PublicClass.Png2String(Cur_ImageBitmap_ElectronicSignature);
|
|
}
|
|
else
|
|
{
|
|
//所选图标转换成二进制 jpg
|
|
Cur_PicData_ElectronicSignature = PublicClass.Jpeg2String(Cur_ImageBitmap_ElectronicSignature);
|
|
}
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
PublicClass.WriteErrorLog(this.Text, "更换头像:\r\n" + ex);
|
|
}
|
|
}
|
|
#endregion
|
|
|
|
#region 角色处理
|
|
/// <summary>
|
|
/// 添加角色
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
private void TSM_InsertRole_Click(object sender, EventArgs e)
|
|
{
|
|
try
|
|
{
|
|
if (Cur_UserID > 0)
|
|
{
|
|
#region 添加角色
|
|
Form_RoleSelect frm = new Form_RoleSelect(Cur_UserID);
|
|
if (frm.ShowDialog() == DialogResult.OK)
|
|
{
|
|
if (!string.IsNullOrEmpty(frm.RoleIDs.Trim()))
|
|
{
|
|
List<T_SYS_UserRoleDTO> list = new List<T_SYS_UserRoleDTO>();
|
|
T_SYS_UserRoleDTO model = new T_SYS_UserRoleDTO();
|
|
|
|
string Url = "api/admin/T_SYS_UserRole";
|
|
|
|
model.GUID = Guid.NewGuid().ToString();
|
|
model.RoleID = Convert.ToInt64(frm.RoleIDs);
|
|
model.UserID = Cur_UserID;
|
|
model.CreatorID = Information.User.ID;
|
|
model.Creator = Information.User.FullName;
|
|
model.CreationDate = PublicClass.DateTimeNow();
|
|
model.EditorID = Information.User.ID;
|
|
model.Editor = Information.User.FullName;
|
|
model.EditTime = PublicClass.DateTimeNow();
|
|
model.DeleteFlag = 0;
|
|
list.Add(model);
|
|
|
|
//初始化两个工厂
|
|
ClientFactory<T_SYS_UserRoleDTO> httpClient = new HttpClientFactory<T_SYS_UserRoleDTO>();
|
|
Client<T_SYS_UserRoleDTO> client = httpClient.VisitFactory();
|
|
|
|
//访问
|
|
ListEntity<T_SYS_UserRoleDTO> t = client.Post(Url, list);
|
|
|
|
//刷新角色绑定
|
|
BindRole();
|
|
}
|
|
else
|
|
{
|
|
XtraMessageBox.Show("所选的角色无效,请稍后重试!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
|
}
|
|
}
|
|
#endregion
|
|
}
|
|
else
|
|
{
|
|
if (Flag == 1)
|
|
XtraMessageBox.Show("请先保存用户信息后再分配权限!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
PublicClass.WriteErrorLog(this.Text, "添加角色:\r\n" + ex);
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 删除角色
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
private void TSM_DelRole_Click(object sender, EventArgs e)
|
|
{
|
|
try
|
|
{
|
|
#region 删除角色
|
|
if (grv_Role.DataRowCount > 0)
|
|
{
|
|
int selectRow = grv_Role.GetSelectedRows()[0];
|
|
string GUID = grv_Role.GetRowCellValue(selectRow, "GUID").ToString();
|
|
if (!string.IsNullOrEmpty(GUID.Trim()))
|
|
{
|
|
List<T_SYS_UserRoleDTO> list = new List<T_SYS_UserRoleDTO>();
|
|
T_SYS_UserRoleDTO model = new T_SYS_UserRoleDTO();
|
|
|
|
string Url = "api/admin/T_SYS_UserRole/LogicalDelete";
|
|
|
|
model.GUID = GUID;
|
|
model.DeleteFlag = 1;
|
|
list.Add(model);
|
|
|
|
//初始化两个工厂
|
|
ClientFactory<T_SYS_UserRoleDTO> httpClient = new HttpClientFactory<T_SYS_UserRoleDTO>();
|
|
Client<T_SYS_UserRoleDTO> client = httpClient.VisitFactory();
|
|
|
|
//访问
|
|
ListEntity<T_SYS_UserRoleDTO> t = client.Post(Url, list);
|
|
|
|
if (t.Success)
|
|
{
|
|
XtraMessageBox.Show("删除用户所属角色成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
|
|
//刷新角色绑定
|
|
BindRole();
|
|
}
|
|
}
|
|
}
|
|
#endregion
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
PublicClass.WriteErrorLog(this.Text, "删除角色:\r\n" + ex);
|
|
}
|
|
}
|
|
#endregion
|
|
|
|
#region 院区处理
|
|
/// <summary>
|
|
/// 保存用户院区表信息,一个用户可多个院区
|
|
/// </summary>
|
|
/// <param name="userID">用户编号</param>
|
|
/// <param name="hospitalGUID">院区编号</param>
|
|
private bool SaveUserHospital(long userID, string hospitalGUID)
|
|
{
|
|
try
|
|
{
|
|
string Url = string.Empty;
|
|
List<T_SYS_UserHospitalDTO> list = new List<T_SYS_UserHospitalDTO>();
|
|
T_SYS_UserHospitalDTO model = new T_SYS_UserHospitalDTO();
|
|
#region 保存用户院区表信息,一个用户可多个院区
|
|
if (userID > 0 && !string.IsNullOrEmpty(hospitalGUID))
|
|
{
|
|
|
|
//判断是否存在当前院区
|
|
if (Cur_UserHospitalDT != null && Cur_UserHospitalDT.Rows.Count > 0)
|
|
{//修改
|
|
|
|
for (int i = 0; i < Cur_UserHospitalDT.Rows.Count; i++)
|
|
{
|
|
Url = string.Format("api/admin/T_SYS_UserHospital/Update");
|
|
model.GUID = Cur_UserHospitalDT.Rows[i]["GUID"].ToString();
|
|
model.HospitalGUID = Cur_UserHospitalDT.Rows[i]["HospitalGUID"].ToString();
|
|
}
|
|
}
|
|
else //新增
|
|
{
|
|
Url = string.Format("api/admin/T_SYS_UserHospital");
|
|
model.GUID = Guid.NewGuid().ToString();
|
|
model.HospitalGUID = hospitalGUID;
|
|
|
|
}
|
|
model.UserID = userID;
|
|
model.CreatorID = Information.User.ID;
|
|
model.Creator = Information.User.FullName;
|
|
model.CreationDate = PublicClass.DateTimeNow();
|
|
model.EditorID = Information.User.ID;
|
|
model.Editor = Information.User.FullName;
|
|
model.EditTime = PublicClass.DateTimeNow();
|
|
model.DeleteFlag = 0;
|
|
list.Add(model);
|
|
//初始化两个工厂
|
|
ClientFactory<T_SYS_UserHospitalDTO> httpClient = new HttpClientFactory<T_SYS_UserHospitalDTO>();
|
|
Client<T_SYS_UserHospitalDTO> client = httpClient.VisitFactory();
|
|
|
|
//访问
|
|
ListEntity<T_SYS_UserHospitalDTO> t = client.Post(Url, list);
|
|
return t.Success;
|
|
|
|
}
|
|
else
|
|
{
|
|
return false;
|
|
}
|
|
#endregion
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
PublicClass.WriteErrorLog(this.Text, "保存用户院区表信息,一个用户可多个院区:\r\n" + ex);
|
|
return false;
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 添加所属院区
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
private void TSM_InsertHospital_Click(object sender, EventArgs e)
|
|
{
|
|
try
|
|
{
|
|
if (Cur_UserID > 0)
|
|
{
|
|
#region 添加所属院区
|
|
Form_HospitalSelect frm = new Form_HospitalSelect(Cur_UserID);
|
|
if (frm.ShowDialog() == DialogResult.OK)
|
|
{
|
|
if (!string.IsNullOrEmpty(frm.HospitalIDs.Trim()))
|
|
{
|
|
//存储院区权限
|
|
SaveUserHospital(Cur_UserID, frm.HospitalGUIDs);
|
|
|
|
//刷新所属院区绑定
|
|
BindHospitalList();
|
|
}
|
|
else
|
|
{
|
|
XtraMessageBox.Show("所选的所属院区无效,请稍后重试!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
|
}
|
|
}
|
|
#endregion
|
|
}
|
|
else
|
|
{
|
|
if (Flag == 1)
|
|
XtraMessageBox.Show("请先保存用户信息后再添加所属院区!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
PublicClass.WriteErrorLog(this.Text, "添加所属院区:\r\n" + ex);
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 删除所属院区
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
private void TSM_DelHospital_Click(object sender, EventArgs e)
|
|
{
|
|
try
|
|
{
|
|
#region 删除所属院区
|
|
if (grv_Hospital.DataRowCount > 0)
|
|
{
|
|
if (Cur_UserHospitalDT.Rows.Count > 1)
|
|
{
|
|
int selectRow = grv_Hospital.GetSelectedRows()[0];
|
|
string GUID = grv_Hospital.GetRowCellValue(selectRow, "GUID").ToString();
|
|
if (!string.IsNullOrEmpty(GUID.Trim()))
|
|
{
|
|
List<T_SYS_UserHospitalDTO> list = new List<T_SYS_UserHospitalDTO>();
|
|
T_SYS_UserHospitalDTO model = new T_SYS_UserHospitalDTO();
|
|
|
|
string Url = "api/admin/T_SYS_UserHospital/LogicalDelete";
|
|
|
|
model.GUID = GUID;
|
|
model.DeleteFlag = 1;
|
|
list.Add(model);
|
|
|
|
//初始化两个工厂
|
|
ClientFactory<T_SYS_UserHospitalDTO> httpClient = new HttpClientFactory<T_SYS_UserHospitalDTO>();
|
|
Client<T_SYS_UserHospitalDTO> client = httpClient.VisitFactory();
|
|
|
|
//访问
|
|
ListEntity<T_SYS_UserHospitalDTO> t = client.Post(Url, list);
|
|
|
|
if (t.Success)
|
|
{
|
|
XtraMessageBox.Show("删除用户所属院区权限成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
|
|
|
|
//刷新所属院区绑定
|
|
BindHospitalList();
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
XtraMessageBox.Show("删除失败!当前只有一个所属院区,无法再删除!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
|
|
}
|
|
}
|
|
#endregion
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
PublicClass.WriteErrorLog(this.Text, "删除所属院区:\r\n" + ex);
|
|
}
|
|
}
|
|
#endregion
|
|
|
|
|
|
}
|
|
}
|