Пример #1
0
 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);
            }
        }
Пример #3
0
        /// <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);
            }
        }
Пример #4
0
        /// <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;
            }
        }
Пример #7
0
        /// <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);
            }
        }
Пример #8
0
        /// <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);
            }
        }
Пример #9
0
        /// <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);
        }
Пример #11
0
        /// <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);
        }
Пример #12
0
        /// <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);
        }
Пример #13
0
        /// <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);
        }