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 变量 /// /// 操作标记 1:新增 2:修改 /// private int Flag; /// /// 头像(转换成二进制之后数据) /// private string Cur_PicData = string.Empty; /// /// 头像图片的位图源 /// private Bitmap Cur_ImageBitmap; /// /// 电子签名(转换成二进制之后数据) /// private string Cur_PicData_ElectronicSignature = string.Empty; /// /// 电子签名图片的位图源 /// private Bitmap Cur_ImageBitmap_ElectronicSignature; /// /// 当前操作的用户编号 /// private long Cur_UserID = 0; /// /// 用户所拥有的所属院区源 /// private DataTable Cur_UserHospitalDT = new DataTable(); #endregion /// /// 窗体重载 /// /// 操作标记 1:新增 2:修改 /// 操作用户编号 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; } } /// /// 窗体加载 /// /// /// 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; } } /// /// 窗体快捷键注册 /// /// /// 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 绑定数据 /// /// 绑定详情 /// 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); } } /// /// 绑定数据 /// 下拉框 /// private void BindData() { //BindGender(); BindPosition(); BindRole(); BindHospital(); BindHospitalList(); } /// /// 绑定性别 /// //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); // } //} /// /// 绑定机构信息 /// 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); } } /// /// 绑定科室 /// 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); } } /// /// 绑定职位 /// 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); } } /// /// 绑定已有角色 /// 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); } } /// /// 绑定已有所属院区列表 /// 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 事件 /// /// 更改密码 /// /// /// 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; } } } /// /// 关闭 /// /// /// private void btn_Exit_Click(object sender, EventArgs e) { DialogResult = DialogResult.No; Close(); } /// /// 保存 /// /// /// 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 list = new List(); 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 httpClient = new HttpClientFactory(); Client client = httpClient.VisitFactory(); //访问 ListEntity 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); } } /// /// 更换头像 /// /// /// 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); } } /// /// 选择电子签名图片 /// /// /// 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 角色处理 /// /// 添加角色 /// /// /// 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 list = new List(); 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 httpClient = new HttpClientFactory(); Client client = httpClient.VisitFactory(); //访问 ListEntity 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); } } /// /// 删除角色 /// /// /// 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 list = new List(); 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 httpClient = new HttpClientFactory(); Client client = httpClient.VisitFactory(); //访问 ListEntity 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 院区处理 /// /// 保存用户院区表信息,一个用户可多个院区 /// /// 用户编号 /// 院区编号 private bool SaveUserHospital(long userID, string hospitalGUID) { try { string Url = string.Empty; List list = new List(); 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 httpClient = new HttpClientFactory(); Client client = httpClient.VisitFactory(); //访问 ListEntity t = client.Post(Url, list); return t.Success; } else { return false; } #endregion } catch (Exception ex) { PublicClass.WriteErrorLog(this.Text, "保存用户院区表信息,一个用户可多个院区:\r\n" + ex); return false; } } /// /// 添加所属院区 /// /// /// 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); } } /// /// 删除所属院区 /// /// /// 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 list = new List(); 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 httpClient = new HttpClientFactory(); Client client = httpClient.VisitFactory(); //访问 ListEntity 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 } }