public override void Init() { //逻辑对象赋值 bll = ManagerBll.GetInstence(); //表格对象赋值 grid = Grid1; }
/// <summary> /// 删除记录 /// </summary> /// <returns></returns> public override string Delete() { //获取要删除的Id组 var id = GridViewHelper.GetSelectedKeyIntArray(Grid1); //如果没有选择记录,则直接退出 if (id == null) { return("请选择要删除的记录。"); } try { //逐个删除对应的图片 foreach (var i in id) { ManagerBll.GetInstence().DelPhotoImg(this, i); } //删除记录 bll.Delete(this, id); return("删除编号Id为[" + string.Join(",", id) + "]的数据记录成功。"); } catch (Exception e) { string result = "尝试删除编号ID为[" + string.Join(",", id) + "]的数据记录失败!"; //出现异常,保存出错日志信息 CommonBll.WriteLog(result, e); return(result); } }
/// <summary> /// 设置员工离职 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void ButtonStaffTurnover_Click(object sender, EventArgs e) { //获取要操作的ID var id = GridViewHelper.GetSelectedKeyIntArray(Grid1); //如果没有选择记录,则直接退出 if (id == null) { FineUI.Alert.ShowInParent("请选择你要处理的记录", FineUI.MessageBoxIcon.Information); } try { //逐个设置离职 foreach (var i in id) { var name = ManagerBll.GetInstence().GetCName(this, i); ManagerBll.GetInstence().UpdateValue(this, i, ManagerTable.IsWork, 0, ManagerTable.IsEnable, 0, "{0}将员工" + name + "[" + i + "]设置为离职状态"); } LoadData(); FineUI.Alert.ShowInParent("编号Id为[" + string.Join(",", id) + "]的员工已设置为离职", FineUI.MessageBoxIcon.Information); } catch (Exception ex) { string result = "尝试设置编号ID为[" + string.Join(",", id) + "]的员工离职失败!"; //出现异常,保存出错日志信息 CommonBll.WriteLog(result, ex); FineUI.Alert.ShowInParent(result, FineUI.MessageBoxIcon.Information); } }
/// <summary>读取数据</summary> public override void LoadData() { int id = ConvertHelper.Cint0(hidId.Text); if (id > 0) { //获取指定Id的管理员实体 var model = ManagerBll.GetInstence().GetModelForCache(x => x.Id == id); if (model == null) { return; } //给页面控件赋值 if (!string.IsNullOrEmpty(model.PhotoImg) && model.PhotoImg.Length > 4) { imgPhoto.ImageUrl = model.PhotoImg; } txtCName.Text = model.CName; txtEName.Text = model.EName; //编辑时,登陆账号不能进行修改操作 txtLoginName.Enabled = false; rblSex.SelectedValue = model.Sex; ddlBranch_Id.SelectedValue = model.Branch_Id + ""; //职位 hidPositionId.Text = model.Position_Id; txtPosition.Text = model.Position_Name; dpBirthday.Text = model.Birthday; rblIsEnable.SelectedValue = model.IsEnable + ""; rblIsMultiUser.SelectedValue = model.IsMultiUser + ""; txtNationalName.Text = model.NationalName; txtMobile.Text = model.Mobile; txtAddress.Text = model.Address; txtLoginName.Text = model.LoginName; txtNativePlace.Text = model.NativePlace; txtRecord.Text = model.Record; txtGraduateCollege.Text = model.GraduateCollege; txtGraduateSpecialty.Text = model.GraduateSpecialty; txtTel.Text = model.Tel; txtQq.Text = model.Qq; txtMsn.Text = model.Msn; txtEmail.Text = model.Email; txtContent.Text = model.Content; //绑定选择职位按键 ButtonSelectPosition.OnClientClick = SelectWindows.GetSaveStateReference(hidPositionId.ClientID) + SelectWindows.GetShowReference("../Systems/Powers/PositionSelect.aspx?Id=" + hidPositionId.Text + "&" + MenuInfoBll.GetInstence().PageUrlEncryptStringNoKey(hidPositionId.Text)); } else { //绑定选择职位按键 ButtonSelectPosition.OnClientClick = SelectWindows.GetSaveStateReference(hidPositionId.ClientID) + SelectWindows.GetShowReference("../Systems/Powers/PositionSelect.aspx?" + MenuInfoBll.GetInstence().PageUrlEncryptString()); } }
/// <summary> /// 数据保存 /// </summary> /// <returns></returns> public override string Save() { string result = string.Empty; // int id = ConvertHelper.Cint0(hidId.Text); try { #region 数据验证 if (string.IsNullOrEmpty(txtPwd.Text.Trim())) { return(txtPwd.Label + "不能为空!"); } if (string.IsNullOrEmpty(txtPwd1.Text.Trim())) { return(txtPwd1.Label + "不能为空!"); } if (txtPwd.Text.Trim() != txtPwd1.Text.Trim()) { return(txtPwd.Label + "两次输入密码不一致!"); } #endregion #region 赋值 int managerId = OnlineUsersBll.GetInstence().GetManagerId(); var model = Manager.SingleOrDefault(x => x.Id == managerId); model.LoginPass = Encrypt.Md5(Encrypt.Md5(txtPwd.Text.Trim())); #endregion //---------------------------------------------------------- //存储到数据库 ManagerBll.GetInstence().Save(this, model); Alert.Show("修改成功!"); } catch (Exception e) { result = "保存失败!"; //出现异常,保存出错日志信息 CommonBll.WriteLog(result, e); } return(result); }
/// <summary>读取数据</summary> public override void LoadData() { //关闭窗口 ButtonCancel.OnClientClick = ActiveWindow.GetHideReference(); int id = ConvertHelper.Cint0(hidId.Text); if (id != 0) { //获取指定ID的菜单内容,如果不存在,则创建一个菜单实体 var model = ManagerBll.GetInstence().GetModelForCache(x => x.Id == id); if (model == null) { return; } txtLoginName.Text = model.LoginName; txtPwd.Text = model.LoginPass; SHOPdll.SelectedValue = model.SHOP_ID + ""; rblIsMultiUser.SelectedValue = model.IsMultiUser + ""; rblIsWork.SelectedValue = model.IsWork + ""; rblIsEnable.SelectedValue = model.IsEnable + ""; txtCName.Text = model.CName; txtEName.Text = model.EName; rblSex.SelectedValue = model.Sex + ""; Brachddl.SelectedValue = model.Branch_Id.ToString(); Positionddl.SelectedValue = model.Position_Id; Birthday.SelectedDate = DateTime.Parse(model.Birthday == "" ? DateTime.Now.ToString() : model.Birthday); txtNativePlace.Text = model.NativePlace; txtNationalName.Text = model.NationalName; txtRecord.Text = model.Record; txtGraduateCollege.Text = model.GraduateCollege; txtGraduateSpecialty.Text = model.GraduateSpecialty; txtTel.Text = model.Tel; txtMobile.Text = model.Tel; txtEmail.Text = model.Email; txtQq.Text = model.Qq; txtAddress.Text = model.Address; txtContent.Text = model.Content; } }
/// <summary> /// 删除记录 /// </summary> /// <returns></returns> public override string Delete() { //获取要删除的ID int id = ConvertHelper.Cint0(GridViewHelper.GetSelectedKey(Grid1, true)); //如果没有选择记录,则直接退出 if (id == 0) { return("请选择要删除的记录。"); } try { //删除前判断一下 if (BranchBll.GetInstence().Exist(x => x.ParentId == id)) { return("删除失败,本部门下面存在子部门,不能直接删除!"); } //删除前判断一下 if (PositionBll.GetInstence().Exist(x => x.Branch_Id == id)) { return("删除失败,相关职位已绑定本部门,不能直接删除!"); } if (ManagerBll.GetInstence().Exist(x => x.Branch_Id == id)) { return("删除失败,已有员工绑定本部门,不能直接删除!"); } //删除记录 bll.Delete(this, id); return("删除编号ID为[" + id + "]的数据记录成功。"); } catch (Exception e) { string result = "尝试删除编号ID为[" + id + "]的数据记录失败!"; //出现异常,保存出错日志信息 CommonBll.WriteLog(result, e); return(result); } }
/// <summary> /// 删除记录 /// </summary> /// <returns></returns> public override string Delete() { //获取要删除的Id组 var id = GridViewHelper.GetSelectedKeyIntArray(Grid1); //如果没有选择记录,则直接退出 if (id == null) { return("请选择要删除的记录。"); } try { //逐个判断是否可以删除 foreach (var i in id) { //删除前检查 if (ManagerBll.GetInstence().Exist(x => x.Position_Id.Contains("," + i + ","))) { return("删除失败,Id为【" + i + "】的职位已有员工使用,不能直接删除!"); } } //删除记录 bll.Delete(this, id); return("删除编号Id为[" + string.Join(",", id) + "]的数据记录成功。"); } catch (Exception e) { string result = "尝试删除编号ID为[" + string.Join(",", id) + "]的数据记录失败!"; //出现异常,保存出错日志信息 CommonBll.WriteLog(result, e); return(result); } }
/// <summary>登录</summary> /// <param name="sender"></param> /// <param name="e"></param> protected void BtnLogin_Click(object sender, EventArgs e) { var ip = IpHelper.GetUserIp(); #region 获取用户输入的参数,并进行数据初步处理 //获取用户名,并进行危险字符过滤 var username = StringHelper.Left(txtusername.Text, 50); //获取用户密码 var userpass = txtpass.Text; //获取验证码 // var strCode = StringHelper.Left(txtcode.Text, 5); #endregion #region 初步验证 //开发测试使用,不用每次都输入帐号与密码 //username = "******"; //userpass = "******"; //strCode = "12345"; //用户名验证 if (string.IsNullOrEmpty(username.Trim())) { txtusername.Focus(); FineUI.Alert.ShowInTop("用户名不能为空,请仔细检查您输入的用户名!", FineUI.MessageBoxIcon.Error); return; } //密码验证 if (string.IsNullOrEmpty(userpass.Trim())) { txtpass.Focus(); FineUI.Alert.ShowInTop("密码不能为空,请仔细检查您输入的密码!", FineUI.MessageBoxIcon.Error); return; } //验证码验证 //if (string.IsNullOrEmpty(strCode)) //{ // txtcode.Focus(); // FineUI.Alert.ShowInParent("验证码不能为空!", FineUI.MessageBoxIcon.Error); // return; //} //判断验证码是否正确 //if (Session["vcode"] == null || !Session["vcode"].ToString().Equals(strCode, StringComparison.InvariantCultureIgnoreCase)) //{ // SessionHelper.RemoveSession("vcode"); // txtpass.Focus(); // //JsHelper.Alert("验证码错误!"); // FineUI.Alert.ShowInParent("验证码错误!", FineUI.MessageBoxIcon.Error); // return; //} //else //{ // //验证码正确,删除验证码Session // SessionHelper.RemoveSession("vcode"); //} #endregion #region 数据库验证 //通过用户给的用户名获取相关实体类 var userinfo = Manager.SingleOrDefault(x => x.LoginName == username); //判断用户是否存在 if (userinfo == null) { LoginLogBll.GetInstence().Save(0, "账号【" + username + "】不存在,登录失败!"); txtusername.Focus(); FineUI.Alert.ShowInParent("用户名不存在,请仔细检查您输入的用户名!", FineUI.MessageBoxIcon.Error); return; } //密码不匹配 if (!userinfo.LoginPass.Equals(Encrypt.Md5(Encrypt.Md5(userpass)))) { LoginLogBll.GetInstence().Save(userinfo.Id, "账号【" + userinfo.LoginName + "】的用户【" + userinfo.CName + "】登录失败!登录密码错误。"); txtpass.Focus(); FineUI.Alert.ShowInParent("您输入的用户密码错误!", FineUI.MessageBoxIcon.Error); return; } if (userinfo.IsWork == 0) { //添加用户登陆日志 LoginLogBll.GetInstence().Save(userinfo.Id, "离职用户登录失败!用户【" + userinfo.CName + "】试图登录系统"); FineUI.Alert.ShowInParent("您已经没有权限登录本系统!", FineUI.MessageBoxIcon.Error); return; } //判断当前账号是否被启用 if (userinfo.IsEnable == 0) { //添加登录日志记录 LoginLogBll.GetInstence().Save(userinfo.Id, "账号【" + userinfo.LoginName + "】的用户【" + userinfo.CName + "】登录失败!用户账号被禁用。"); FineUI.Alert.ShowInParent("当前账号未被启用,请联系管理人员激活!", FineUI.MessageBoxIcon.Error); return; } #endregion #region 存储在线用户资料 #region 获取用户操作权限 if (string.IsNullOrEmpty(userinfo.Position_Id)) { Session["PagePower"] = ""; Session["ControlPower"] = ""; LoginLogBll.GetInstence().Save(0, "账号【" + username + "】未绑定职位,请管理员进行配置!"); FineUI.Alert.ShowInParent("您的账号未绑定职位,请与管理员联系!", FineUI.MessageBoxIcon.Error); return; } else { //获取用户权限并存储到用户Session里 PositionBll.GetInstence().SetUserPower(userinfo.Position_Id); } #endregion #region 当前用户在线信息 //当前时间 var localTime = DateTime.Now.ToLocalTime(); //创建客户端信息获取实体 var clientHelper = new ClientHelper(Request); //创建在线用户实体 var onlineUser = new Solution.DataAccess.Model.OnlineUsers(); //当前用户的Id编号 onlineUser.Manager_Id = userinfo.Id; onlineUser.Manager_LoginName = userinfo.LoginName; onlineUser.Manager_LoginPass = userinfo.LoginPass; onlineUser.Manager_CName = userinfo.CName; onlineUser.LoginTime = localTime; onlineUser.LoginIp = ip; //生成密钥 onlineUser.UserKey = RandomHelper.GetRndNum(32, true); //Md5(密钥+登陆帐号+密码+IP+密钥.Substring(6,8)) onlineUser.Md5 = OnlineUsersBll.GetInstence().GenerateMd5(onlineUser); onlineUser.UpdateTime = localTime; onlineUser.Sex = userinfo.Sex; onlineUser.Branch_Id = userinfo.Branch_Id; onlineUser.Branch_Code = userinfo.Branch_Code; onlineUser.Branch_Name = userinfo.Branch_Name; onlineUser.Position_Id = userinfo.Position_Id; onlineUser.Position_Name = userinfo.Position_Name; onlineUser.CurrentPage = ""; onlineUser.CurrentPageTitle = ""; //SessionId onlineUser.SessionId = Session.SessionID; onlineUser.UserAgent = StringHelper.FilterSql(HttpContext.Current.Request.Headers["User-Agent"] + ""); onlineUser.OperatingSystem = clientHelper.GetSystem(); onlineUser.TerminalType = clientHelper.IsMobileDevice(onlineUser.UserAgent) ? 1 : 0; onlineUser.BrowserName = clientHelper.GetBrowserName(); onlineUser.BrowserVersion = clientHelper.GetBrowserVersion(); onlineUser.SHOP_ID = userinfo.SHOP_ID; onlineUser.SHOP_NAME1 = userinfo.SHOP_NAME1; #endregion #region 记录当前用户UserId //定义HashTable表里Key的名称UserId string userHashKey = ""; //判断当前用户帐户是否支持同一帐号在不同地方登陆功能,取得用户在HashTable表里Key的名称 //不支持则 if (userinfo.IsMultiUser == 0) { userHashKey = userinfo.Id + ""; } //支持则 else { userHashKey = userinfo.Id + "_" + onlineUser.SessionId; } //记录用户的HashTable Key onlineUser.UserHashKey = userHashKey; Session[OnlineUsersTable.UserHashKey] = userHashKey; #endregion #region 将在线用户信息存入全局变量中 //运行在线数据加载函数,如果缓存不存在,则尝试加载数据库中的在线表记录到缓存中 //——主要用于IIS缓存被应用程序池或其他原因回收后,对在线数据进行重新加载,而不会使所有用户都被迫退出系统 OnlineUsersBll.GetInstence().Load(); //判断缓存中["OnlineUsers"]是否存在,不存在则直接将在线实体添加到缓存中 if (CacheHelper.GetCache("OnlineUsers") == null) { //将当前用户信息添加到Hashtable中 var hashtable = new Hashtable(); hashtable.Add(userHashKey, onlineUser); //将在线列表(Hashtable)添中进系统缓存中 CacheHelper.SetCache("OnlineUsers", hashtable); } //存在则将它取出HashTable并进行处理 else { //直接从缓存中读取在线列表数据 var hashtable = (Hashtable)CacheHelper.GetCache("OnlineUsers"); //判断当前用户是否存在在线表中,不存在则直接将当前用户的实体对象存储进HashTable if (hashtable[userHashKey] == null || hashtable.Count == 0) { hashtable.Add(userHashKey, onlineUser); } //存在则 else { //添加用户下线记录 LoginLogBll.GetInstence().Save(userHashKey, "用户【{0}】的账号已经在另一处登录,本次登陆下线!在线时间【{1}】"); //将HashTable里存储的前一登陆帐户移除 OnlineUsersBll.GetInstence().Delete(this, x => x.UserHashKey == userHashKey, false); //移除缓存中的记录 hashtable.Remove(userHashKey); //将当前用户的实体对象存进在线缓存中 hashtable.Add(userHashKey, onlineUser); } } //将在线实体保存到数据库的在线表中 OnlineUsersBll.GetInstence().Save(this, OnlineUsersBll.GetInstence().Transform(onlineUser), null, true, false); //更新在线列表数据,将不在线人员删除 OnlineUsersBll.GetInstence().UpdateUserOnlineCount(); #endregion #endregion #region 更新用户登陆信息 userinfo.LoginIp = ip; userinfo.LoginCount = userinfo.LoginCount++; userinfo.LoginTime = localTime; ManagerBll.GetInstence().Save(this, userinfo, string.Format("用户【{0}】登陆成功,更新登陆信息", userinfo.CName)); #endregion #region 添加用户登录成功日志 LoginLogBll.GetInstence().Save(userHashKey, string.Format("账号【{0}】的用户【{1}】登录成功", userinfo.LoginName, userinfo.CName)); #endregion #region 写Cookies //写入用户的HashTable Key CookieHelper.SetCookie(OnlineUsersTable.UserHashKey, userHashKey); //写入加密值 CookieHelper.SetCookie(OnlineUsersTable.Md5, onlineUser.Md5); #endregion //跳转进入主页面 Response.Redirect("Main.aspx"); }
/// <summary> /// 数据保存 /// </summary> /// <returns></returns> public override string Save() { string result = string.Empty; int id = ConvertHelper.Cint0(hidId.Text); try { #region 数据验证 if (string.IsNullOrEmpty(txtLoginName.Text.Trim())) { return(txtLoginName.Label + "不能为空!"); } if (SHOPdll.SelectedText.Trim() == "请选择分店") { return(SHOPdll.Label + "不能为空!"); } var sName = StringHelper.Left(txtLoginName.Text, 50); if (ManagerBll.GetInstence().Exist(x => x.LoginName == sName && x.Id != id)) { return(txtLoginName.Label + "已存在!请重新输入!"); } if (string.IsNullOrEmpty(txtPwd.Text.Trim())) { return(txtPwd.Label + "不能为空!"); } #endregion #region 赋值 //读取指定部门资料 var model = new Manager(x => x.Id == id); model.LoginName = txtLoginName.Text; model.LoginPass = model.LoginPass == txtPwd.Text.Trim()?model.LoginPass: Encrypt.Md5(Encrypt.Md5(txtPwd.Text));//:model.LoginPass; model.LoginPass == null? model.LoginTime = DateTime.Now; model.LoginIp = "1::"; model.LoginCount = 1; model.CreateTime = DateTime.Now; model.UpdateTime = DateTime.Now; int branch_id = ConvertHelper.Cint0(Brachddl.SelectedValue); var model_b = BranchBll.GetInstence().GetModelForCache(x => x.Id == branch_id); model.Branch_Id = model_b.Id; model.Branch_Code = model_b.Code; model.Branch_Name = model_b.Name; model.IsMultiUser = ConvertHelper.StringToByte(rblIsMultiUser.SelectedValue.ToString()); model.IsWork = ConvertHelper.StringToByte(rblIsWork.SelectedValue); model.IsEnable = ConvertHelper.StringToByte(rblIsEnable.SelectedValue); var model_p = PositionBll.GetInstence().GetModelForCache(x => x.Id == ConvertHelper.Cint0(Positionddl.SelectedValue)); model.Position_Id = model_p.Id.ToString(); model.Position_Name = model_p.Name; model.CName = txtCName.Text; model.EName = txtEName.Text; model.Sex = rblSex.SelectedValue.ToString(); model.PhotoImg = ""; model.Birthday = Birthday.SelectedDate.ToString(); model.NativePlace = txtNativePlace.Text; model.NationalName = txtNationalName.Text; model.Record = txtRecord.Text; model.GraduateCollege = txtGraduateCollege.Text; model.GraduateSpecialty = txtGraduateSpecialty.Text; model.Tel = txtTel.Text; model.Tel = txtMobile.Text; model.Email = txtEmail.Text; model.Qq = txtQq.Text; model.Msn = ""; model.Address = txtAddress.Text; model.Content = txtContent.Text; model.Manager_Id = OnlineUsersBll.GetInstence().GetManagerId(); model.Manager_CName = OnlineUsersBll.GetInstence().GetManagerCName(); model.SHOP_ID = SHOPdll.SelectedValue; model.SHOP_NAME1 = SHOPdll.SelectedText; #endregion //---------------------------------------------------------- //存储到数据库 ManagerBll.GetInstence().Save(this, model); } catch (Exception e) { result = "保存失败!"; //出现异常,保存出错日志信息 CommonBll.WriteLog(result, e); } return(result); }
/// <summary> /// 数据保存 /// </summary> /// <returns></returns> public override string Save() { string result = string.Empty; var branchId = ConvertHelper.Cint0(hidBranchId.Text); var positionId = ConvertHelper.Cint0(hidPositionId.Text); try { #region 数据验证 if (branchId == 0) { return("非法路径进入!"); } if (string.IsNullOrEmpty(txtName.Text.Trim())) { return(txtName.Label + "不能为空!"); } //同一个部门里职位不能样同,不同部门可以有同名称的职位 var sName = StringHelper.Left(txtName.Text, 30); if (PositionBll.GetInstence().Exist(x => x.Branch_Id == branchId && x.Name == sName && x.Id != positionId)) { return(txtName.Label + "已存在!请重新输入!"); } #endregion #region 赋值 //定义是否更新其他关联表变量 bool isUpdate = false; //获取实体 var model = new Position(x => x.Id == positionId); //判断是否有改变名称 if (positionId > 0 && sName != model.Name) { isUpdate = true; } //修改时间与管理员 model.UpdateDate = DateTime.Now; model.Manager_Id = OnlineUsersBll.GetInstence().GetManagerId(); model.Manager_CName = OnlineUsersBll.GetInstence().GetManagerCName(); //设置名称 model.Name = sName; //设置部门 var branchModel = BranchBll.GetInstence().GetModelForCache(branchId); model.Branch_Id = branchId; model.Branch_Name = branchModel.Name; model.Branch_Code = branchModel.Code; //设置职位权限 //从树列表中获取勾选的节点 GetCheckTreeNode(MenuTree.Nodes); //赋予权限 model.PagePower = StringHelper.FilterSql(_hidPositionPagePower); model.ControlPower = StringHelper.FilterSql(_hidPositionControlPower); #endregion //---------------------------------------------------------- //存储到数据库 PositionBll.GetInstence().Save(this, model); //如果本次修改改变了相关名称,则同步更新其他关联表的对应名称 if (isUpdate) { ManagerBll.GetInstence().UpdatePositionName(model.Id, model.Name); } } catch (Exception e) { result = "保存失败!"; //出现异常,保存出错日志信息 CommonBll.WriteLog(result, e); } return(result); }
/// <summary> /// 数据保存 /// </summary> /// <returns></returns> public override string Save() { string result = string.Empty; int id = ConvertHelper.Cint0(hidId.Text); try { #region 数据验证 if (string.IsNullOrEmpty(txtLoginName.Text.Trim())) { return(txtLoginName.Label + "不能为空!"); } var logName = StringHelper.Left(txtLoginName.Text, 20); if (Manager.Exists(x => x.LoginName == logName && x.Id != id)) { return(txtLoginName.Label + "已存在!请重新输入!"); } //新增用户时,密码不能为空 if (id == 0 && string.IsNullOrEmpty(txtLoginPass.Text.Trim())) { return("密码不能为空!"); } //密码长度不能短于6位 if (!string.IsNullOrEmpty(txtLoginPass.Text.Trim()) && txtLoginPass.Text.Trim().Length < 6) { return("密码长度必须6位以上,请重新输入!"); } if (!txtLoginPass.Text.Equals(txtLoginPassaAgin.Text)) { return("两次输入的密码不一样,请重新输入!"); } if (string.IsNullOrEmpty(txtCName.Text.Trim())) { return(txtCName.Label + "不能为空!"); } //所属部门 if (ConvertHelper.Cint0(ddlBranch_Id.SelectedValue) < 1) { return(ddlBranch_Id.Label + "为必选项,请选择!"); } //所属职位 if (string.IsNullOrEmpty(hidPositionId.Text)) { return(txtPosition.Label + "为必选项,请选择!"); } #endregion #region 赋值 //获取实体 var model = new Manager(x => x.Id == id); model.LoginName = logName; //如果是添加管理员 if (id == 0) { model.CreateTime = DateTime.Now; model.UpdateTime = DateTime.Now; model.Manager_Id = OnlineUsersBll.GetInstence().GetManagerId(); model.Manager_CName = OnlineUsersBll.GetInstence().GetManagerCName(); model.LoginPass = Encrypt.Md5(Encrypt.Md5(txtLoginPass.Text)); model.IsWork = 1; } else { //修改时间与管理员 model.UpdateTime = DateTime.Now; model.Manager_Id = OnlineUsersBll.GetInstence().GetManagerId(); model.Manager_CName = OnlineUsersBll.GetInstence().GetManagerCName(); //修改用户时,填写了密码,则更新密码 if (txtLoginPass.Text.Trim().Length >= 6) { model.LoginPass = Encrypt.Md5(Encrypt.Md5(txtLoginPass.Text)); } } model.Branch_Id = ConvertHelper.Cint0(ddlBranch_Id.SelectedValue); var branch = BranchBll.GetInstence().GetModelForCache(x => x.Id == model.Branch_Id); if (branch != null) { model.Branch_Code = branch.Code; model.Branch_Name = branch.Name; } model.Position_Id = StringHelper.Left(hidPositionId.Text, 100); model.Position_Name = StringHelper.Left(txtPosition.Text, 500); model.CName = StringHelper.Left(txtCName.Text, 20); model.EName = StringHelper.Left(txtEName.Text, 50); model.Sex = StringHelper.Left(rblSex.SelectedValue, 4); model.Birthday = StringHelper.Left(dpBirthday.Text, 20); model.Record = StringHelper.Left(txtRecord.Text, 25); model.GraduateCollege = StringHelper.Left(txtGraduateCollege.Text, 30); model.GraduateSpecialty = StringHelper.Left(txtGraduateSpecialty.Text, 50); model.Tel = StringHelper.Left(txtTel.Text, 30); model.Mobile = StringHelper.Left(txtMobile.Text, 30); model.Email = StringHelper.Left(txtEmail.Text, 50); model.Qq = StringHelper.Left(txtQq.Text, 30); model.Msn = StringHelper.Left(txtMsn.Text, 30); model.Address = StringHelper.Left(txtAddress.Text, 100); model.IsEnable = ConvertHelper.Ctinyint(rblIsEnable.SelectedValue); model.IsMultiUser = ConvertHelper.Ctinyint(rblIsMultiUser.SelectedValue); model.Content = StringHelper.Left(txtContent.Text, 0); model.NationalName = StringHelper.Left(txtNationalName.Text, 50); model.NativePlace = StringHelper.Left(txtNativePlace.Text, 100); #region 图片 if (this.fuSinger_AvatarPath.HasFile && this.fuSinger_AvatarPath.FileName.Length > 3) { int vid = 1; //1 管理员头像(头像图片) //--------------------------------------------------- var upload = new UploadFile(); result = new UploadFileBll().Upload_AspNet(this.fuSinger_AvatarPath.PostedFile, vid, RndKey, OnlineUsersBll.GetInstence().GetManagerId(), OnlineUsersBll.GetInstence().GetManagerCName(), upload); this.fuSinger_AvatarPath.Dispose(); //--------------------------------------------------- if (result.Length == 0)//上传成功 { model.PhotoImg = upload.Path; } else { CommonBll.WriteLog("上传管理员头像图片未成功:" + result, null);//收集异常信息 return("上传管理员头像图片未成功!" + result); } } //如果是修改,检查用户是否重新上传过封面图片,如果是删除旧的图片 if (model.Id > 0) { UploadFileBll.GetInstence().Upload_DiffFile(ManagerTable.Id, ManagerTable.PhotoImg, ManagerTable.TableName, model.Id, model.PhotoImg); //同步UploadFile上传表 UploadFileBll.GetInstence().Upload_UpdateRs(RndKey, ManagerTable.TableName, model.Id); } #endregion #endregion //---------------------------------------------------------- //存储到数据库 ManagerBll.GetInstence().Save(this, model); #region 步更新上传图片表绑定Id if (id == 0) { //同步UploadFile上传表记录,绑定刚刚上传成功的文件Id为当前记录Id UploadFileBll.GetInstence().Upload_UpdateRs(RndKey, ManagerTable.TableName, model.Id); } #endregion } catch (Exception e) { result = "保存失败!"; //出现异常,保存出错日志信息 CommonBll.WriteLog(result, e); } return(result); }
/// <summary> /// 数据保存 /// </summary> /// <returns></returns> public override string Save() { string result = string.Empty; int id = ConvertHelper.Cint0(hidId.Text); try { #region 数据验证 if (string.IsNullOrEmpty(txtName.Text.Trim())) { return(txtName.Label + "不能为空!"); } var sName = StringHelper.Left(txtName.Text, 50); if (BranchBll.GetInstence().Exist(x => x.Name == sName && x.Id != id)) { return(txtName.Label + "已存在!请重新输入!"); } #endregion #region 赋值 //定义是否更新其他关联表变量 bool isUpdate = false; //获取实体 var model = new Branch(x => x.Id == id); //判断是否有改变名称 if (id > 0 && sName != model.Name) { isUpdate = true; } //修改时间与管理员 model.UpdateDate = DateTime.Now; model.Manager_Id = OnlineUsersBll.GetInstence().GetManagerId(); model.Manager_CName = OnlineUsersBll.GetInstence().GetManagerCName(); //设置名称 model.Name = sName; //对应的父类id model.ParentId = ConvertHelper.Cint0(txtParent.Text); //设置备注 model.Notes = StringHelper.Left(txtNotes.Text, 100); //由于限制了编辑时不能修改父节点,所以这里只对新建记录时处理 if (id == 0) { //设定当前的深度与设定当前的层数级 if (model.ParentId == 0) { //设定当前的层数 model.Depth = 0; } else { //设定当前的层数级 model.Depth = ConvertHelper.Cint0(BranchBll.GetInstence().GetFieldValue(ConvertHelper.Cint0(ddlParentId.SelectedValue), BranchTable.Depth)) + 1; } } //设置排序 if (txtSort.Text == "0") { model.Sort = BranchBll.GetInstence().GetSortMax(model.ParentId) + 1; } else { model.Sort = ConvertHelper.Cint0(txtSort.Text); } //新创建部门时,生成对应的部门编码 if (id == 0) { model.Code = SPs.P_Branch_GetMaxBranchCode(model.Depth + 1, model.ParentId).ExecuteScalar().ToString(); } #endregion //---------------------------------------------------------- //存储到数据库 BranchBll.GetInstence().Save(this, model); //如果本次修改改变了相关名称,则同步更新其他关联表的对应名称 if (isUpdate) { PositionBll.GetInstence().UpdateValue_For_Branch_Id(this, model.Id, PositionTable.Branch_Name, model.Name); ManagerBll.GetInstence().UpdateValue_For_Branch_Id(this, model.Id, ManagerTable.Branch_Name, model.Name); } } catch (Exception e) { result = "保存失败!"; //出现异常,保存出错日志信息 CommonBll.WriteLog(result, e); } return(result); }