Esempio n. 1
0
        public virtual bool CommunicationPassword(string communicationPassword)
        {
            bool returnValue = false;

            // 密码强度检查
            if (SystemInfo.EnableCheckPasswordStrength && String.IsNullOrEmpty(communicationPassword))
            {
                return(returnValue);
            }
            // 加密密码
            if (SystemInfo.EnableEncryptServerPassword)
            {
                communicationPassword = this.EncryptUserPassword(communicationPassword);
            }
            // 判断输入原始密码是否正确
            PiUserEntity userEntity = new PiUserEntity();

            userEntity.GetFrom(this.GetDTById(UserInfo.Id));
            //if (userEntity.CommunicationPassword == null)
            //{
            //    userEntity.CommunicationPassword = string.Empty;
            //}
            //if (userEntity.CommunicationPassword.Equals(communicationPassword))
            //{
            //    returnValue = true;
            //}
            return(returnValue);
        }
        /// <summary>
        /// 添加用户
        /// </summary>
        /// <param name="ctx">HTTP请求</param>
        private void AddUser(HttpContext ctx)
        {
            var vUser  = Utils.UserInfo;
            var entity = new PiUserEntity
            {
                Code            = PublicMethod.GetString(WebCommon.StringHelper.GetRequestObject("Code")),
                UserName        = PublicMethod.GetString(WebCommon.StringHelper.GetRequestObject("UserName")),
                RealName        = PublicMethod.GetString(WebCommon.StringHelper.GetRequestObject("RealName")),
                Gender          = PublicMethod.GetString(WebCommon.StringHelper.GetRequestObject("Gender")),
                Mobile          = PublicMethod.GetString(WebCommon.StringHelper.GetRequestObject("Mobile")),
                Birthday        = PublicMethod.GetDateTime(WebCommon.StringHelper.GetRequestObject("Birthday")),
                Telephone       = PublicMethod.GetString(WebCommon.StringHelper.GetRequestObject("Telephone")),
                Title           = PublicMethod.GetString(WebCommon.StringHelper.GetRequestObject("Title")),
                Duty            = PublicMethod.GetString(WebCommon.StringHelper.GetRequestObject("Duty")),
                QICQ            = PublicMethod.GetString(WebCommon.StringHelper.GetRequestObject("QICQ")),
                Email           = PublicMethod.GetString(WebCommon.StringHelper.GetRequestObject("Email")),
                HomeAddress     = PublicMethod.GetString(WebCommon.StringHelper.GetRequestObject("HomeAddress")),
                Enabled         = PublicMethod.GetString(WebCommon.StringHelper.GetRequestObject("Enabled")) == "on" ? 1 : 0,
                Description     = PublicMethod.GetString(WebCommon.StringHelper.GetRequestObject("Description")),
                RoleId          = PublicMethod.GetString(WebCommon.StringHelper.GetRequestObject("vRoleId")),
                CompanyId       = PublicMethod.GetString(WebCommon.StringHelper.GetRequestObject("vCompanyId")),
                SubCompanyId    = PublicMethod.GetString(WebCommon.StringHelper.GetRequestObject("vSubCompanyId")),
                DepartmentId    = PublicMethod.GetString(WebCommon.StringHelper.GetRequestObject("vDepartmentId")),
                SubDepartmentId = PublicMethod.GetString(WebCommon.StringHelper.GetRequestObject("vSubDepartmentId")),
                WorkgroupId     = PublicMethod.GetString(WebCommon.StringHelper.GetRequestObject("vWorkgroupId"))
            };
            var pwd = PublicMethod.GetString(WebCommon.StringHelper.GetRequestObject("UserPassword"));

            entity.UserPassword = pwd == string.Empty ? string.Empty : pwd;
            var vCompanyName       = PublicMethod.GetString(WebCommon.StringHelper.GetRequestObject("vCompanyName"));
            var vSubCompanyName    = PublicMethod.GetString(WebCommon.StringHelper.GetRequestObject("vSubCompanyName"));
            var vDepartmentName    = PublicMethod.GetString(WebCommon.StringHelper.GetRequestObject("vDepartmentName"));
            var vSubDepartmentName = PublicMethod.GetString(WebCommon.StringHelper.GetRequestObject("vSubDepartmentName"));
            var vWorkgroupName     = PublicMethod.GetString(WebCommon.StringHelper.GetRequestObject("vWorkgroupName"));

            entity.CompanyName       = vCompanyName == "请选择" ? string.Empty : vCompanyName;
            entity.SubCompanyName    = vSubCompanyName == "请选择" ? string.Empty : vSubCompanyName;
            entity.DepartmentName    = vDepartmentName == "请选择" ? string.Empty : vDepartmentName;
            entity.SubDepartmentName = vSubDepartmentName == "请选择" ? string.Empty : vSubDepartmentName;
            entity.WorkgroupName     = vWorkgroupName == "请选择" ? string.Empty : vWorkgroupName;

            if (vUser != null)
            {
                entity.CreateBy     = vUser.RealName;
                entity.CreateUserId = vUser.Id;
            }

            string statusCode;
            string statusMessage;
            //增加用户
            var vReturnValue = RDIFrameworkService.Instance.UserService.AddUser(vUser, entity, out statusCode, out statusMessage);

            ctx.Response.Write(statusCode == StatusCode.OKAdd.ToString()
                    ? new JsonMessage {
                Success = true, Data = "1", Message = statusMessage
            }.ToString()
                    : new JsonMessage {
                Success = false, Data = "0", Message = statusMessage
            }.ToString());
        }
Esempio n. 3
0
 public override void DisplayData()
 {
     currentUserEntity                = null;
     currentUserEntity                = new PiUserEntity();
     currentUserEntity                = BaseEntity.Create <PiUserEntity>(dtUser.Select(PiUserTable.FieldId + "='" + this.EntityId + "'")[0]);
     txtUserName.Text                 = currentUserEntity.UserName;
     txtRealName.Text                 = currentUserEntity.RealName;
     txtCode.Text                     = currentUserEntity.Code;
     cboGender.Text                   = currentUserEntity.Gender;
     txtMobile.Text                   = currentUserEntity.Mobile;
     txtBirthday.Text                 = DateTimeHelper.FormatDate(currentUserEntity.Birthday.ToString());
     txtTelphone.Text                 = currentUserEntity.Telephone;
     txtDuty.Text                     = currentUserEntity.Duty;
     txtTitle.Text                    = currentUserEntity.Title;
     txtQQ.Text                       = currentUserEntity.QICQ;
     txtEmail.Text                    = currentUserEntity.Email;
     chkEnabled.Checked               = BusinessLogic.ConvertIntToBoolean(currentUserEntity.Enabled);
     cboRoleName.SelectedValue        = currentUserEntity.RoleId ?? null;
     ucOSCompanyName.SelectedId       = string.IsNullOrEmpty(currentUserEntity.CompanyId) ? "" : currentUserEntity.CompanyId;
     ucOSSubCompanyName.SelectedId    = string.IsNullOrEmpty(currentUserEntity.SubCompanyId) ? "" : currentUserEntity.SubCompanyId;
     ucOSDepartmentName.SelectedId    = string.IsNullOrEmpty(currentUserEntity.DepartmentId) ? "" : currentUserEntity.DepartmentId;
     ucOSSubDepartmentName.SelectedId = string.IsNullOrEmpty(currentUserEntity.SubDepartmentId) ? "" : currentUserEntity.SubDepartmentId;
     ucOSWorkgroupName.SelectedId     = string.IsNullOrEmpty(currentUserEntity.WorkgroupId) ? "" : currentUserEntity.WorkgroupId;
     txtHomeAddress.Text              = currentUserEntity.HomeAddress;
     txtDescription.Text              = currentUserEntity.Description;
 }
Esempio n. 4
0
        /// <summary>
        /// 得到用户兼职组织机构列表
        /// </summary>
        private void GetUserOrganizeList()
        {
            PiUserEntity userEntity = RDIFrameworkService.Instance.UserService.GetEntity(this.UserInfo, this.UserId);

            this.lblResourceName.Text = userEntity.UserName + @"[" + userEntity.RealName + @"]";

            this.DTUserOrganize = RDIFrameworkService.Instance.UserService.GetUserOrganizeDT(this.UserInfo, this.UserId);
            this.dgvTargetResource.AutoGenerateColumns = false;
            this.dgvTargetResource.DataSource          = this.DTUserOrganize.DefaultView;
        }
Esempio n. 5
0
        /// <summary>
        /// 初始化流程信息
        /// </summary>
        public virtual void Form_Load()
        {
            UserId = this.UserInfo.Id;
            PiUserEntity userEntity = RDIFrameworkService.Instance.UserService.GetEntity(this.UserInfo, UserId);

            if (userEntity != null)
            {
                UserName    = userEntity.RealName;
                DutyCaption = userEntity.Duty;
                ArchCaption = userEntity.DepartmentName;
            }
        }
Esempio n. 6
0
        /// <summary>
        /// 更新通讯密码
        /// </summary>
        /// <param name="oldPassword">原密码</param>
        /// <param name="newPassword">新密码</param>
        /// <param name="statusCode">返回状态码</param>
        /// <returns>影响行数</returns>
        public virtual int ChangeCommunicationPassword(string oldPassword, string newPassword, out string statusCode)
        {
            #if (DEBUG)
            int milliStart = Environment.TickCount;
            #endif

            int returnValue = 0;
            // 密码强度检查
            if (SystemInfo.EnableCheckPasswordStrength && String.IsNullOrEmpty(newPassword))
            {
                statusCode = StatusCode.PasswordCanNotBeNull.ToString();
                return(returnValue);
            }
            // 加密密码
            if (SystemInfo.EnableEncryptServerPassword)
            {
                oldPassword = this.EncryptUserPassword(oldPassword);
                newPassword = this.EncryptUserPassword(newPassword);
            }
            // 判断输入原始密码是否正确
            PiUserEntity userEntity = new PiUserEntity();
            userEntity.GetFrom(this.GetDTById(UserInfo.Id));
            //if (userEntity.CommunicationPassword == null)
            //{
            //    userEntity.CommunicationPassword = string.Empty;
            //}
            //// 密码错误
            //if (!userEntity.CommunicationPassword.Equals(oldPassword))
            //{
            //    statusCode = StatusCode.OldPasswordError.ToString();
            //    return returnValue;
            //}
            // 更改密码
            // returnValue = this.SetProperty(UserInfo.Id, PiUserTable.FieldCommunicationPassword, newPassword);
            if (returnValue == 1)
            {
                statusCode = StatusCode.ChangePasswordOK.ToString();
            }
            else
            {
                // 数据可能被删除
                statusCode = StatusCode.ErrorDeleted.ToString();
            }

            // 写入调试信息
        #if (DEBUG)
            int milliEnd = Environment.TickCount;
            Trace.WriteLine(DateTime.Now.ToString(SystemInfo.TimeFormat) + " Ticks: " + TimeSpan.FromMilliseconds(milliEnd - milliStart).ToString() + " " + " BaseUserManager.ChangePassword(" + userEntity.Id + ")");
        #endif

            return(returnValue);
        }
 public override void FormOnLoad()
 {
     if (string.IsNullOrEmpty(this.EntityId))
     {
         MessageBoxHelper.ShowWarningMsg(RDIFrameworkMessage.MSGC023);
         return;
     }
     this.currentUserEntity = RDIFrameworkService.Instance.UserService.GetEntity(UserInfo, this.EntityId);
     if (currentUserEntity == null)
     {
         return;
     }
     BindRole();
     ShowEntity();
 }
Esempio n. 8
0
    /// <summary>
    /// 发送密码给指定的邮箱
    /// </summary>
    /// <param name="userEntity">用户实体</param>
    /// <returns>成功发送邮件</returns>
    private static bool SendPassword(PiUserEntity userEntity)
    {
        bool        returnValue = false;
        IDbProvider dbProvider  = new SqlProvider(RDIFrameworkDbConection);
        UserInfo    userInfo    = null;

        try
        {
            string password = RandomHelper.GetRandom(100000, 999999).ToString();
            using (var mailMessage = new System.Net.Mail.MailMessage())
            {
                // 接收人邮箱地址
                mailMessage.To.Add(new System.Net.Mail.MailAddress(userEntity.Email));
                mailMessage.Body         = GetSendPasswordBody(userEntity, password);
                mailMessage.From         = new System.Net.Mail.MailAddress("*****@*****.**", ".NET快速开发、整合框架");
                mailMessage.BodyEncoding = Encoding.GetEncoding("GB2312");
                mailMessage.Subject      = ".NET快速开发、整合框架 新密码。";
                mailMessage.IsBodyHtml   = true;
                var smtpclient = new System.Net.Mail.SmtpClient("SMTP.126.COM", 25);
                smtpclient.Credentials = new System.Net.NetworkCredential("*****@*****.**", "abcd");
                smtpclient.EnableSsl   = false;
                smtpclient.Send(mailMessage);
                returnValue = true;
                // 修改用户的密码
                // 用户数据库进行差找用户操作
                dbProvider.Open();
                PiUserManager userManager = new PiUserManager(dbProvider);
                userInfo = userManager.ConvertToUserInfo(userEntity);
                userManager.SetParameter(userInfo);
                // 密码进行加密,读取网站的密钥
                password = userManager.EncryptUserPassword(password);
                userManager.SetPassword(userEntity.Id.ToString(), password);
            }
        }
        catch (System.Exception exception)
        {
            // 若有异常,应该需要保存异常信息
            CiExceptionManager.LogException(dbProvider, userInfo, exception);
            returnValue = false;
        }
        finally
        {
            dbProvider.Close();
        }
        return(returnValue);
    }
Esempio n. 9
0
    //
    // 九 忘记密码部分
    //

    #region private static string GetSendPasswordBody(PiUserEntity userEntity, string password) 获取忘记密码邮件主题内容部分
    /// <summary>
    /// 获取忘记密码邮件主题内容部分
    /// </summary>
    /// <param name="userEntity">用户实体</param>
    /// <param name="password">密码</param>
    /// <returns>邮件主题</returns>
    private static string GetSendPasswordBody(PiUserEntity userEntity, string password)
    {
        var htmlBody = new StringBuilder();

        htmlBody.Append("<body style=\"font-size:10pt\">");
        htmlBody.Append("<div style=\"font-size:10pt; font-weight:bold\">尊敬的用户 " + userEntity.UserName + " 您好:</div>");
        htmlBody.Append("<br>");
        htmlBody.Append("<div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 您的新密码是:<font size=\"3\" color=\"#6699cc\">" + password + "</font></div>");
        htmlBody.Append("<br>");
        htmlBody.Append("<div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 请重新登录系统 <a href='http://www.cnblogs.com/RDIFramework/'>立即登录.NET快速开发、整合框架</a></div>");
        htmlBody.Append("<br>");
        htmlBody.Append("<div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 如有任何疑问,欢迎致.NET快速开发、整合框架客服热线:15108937790,我们将热情为您解答。</div>");
        htmlBody.Append("<br>");
        htmlBody.Append("<div style=\"text-align:center\">.NET快速开发、整合框架 用户服务中心</div>");
        htmlBody.Append("<div style=\"text-align:center\">" + System.DateTime.Now.Year + "年" + System.DateTime.Now.Month + "月" + System.DateTime.Now.Day + "日</div></body>");
        return(htmlBody.ToString());
    }
Esempio n. 10
0
    //
    // 一 用户注册部分
    //

    #region private static string GetAfterUserRegisterBody(BaseUserEntity userEntity) 用户注册之后,给用户发的激活账户的邮件
    /// <summary>
    /// 用户注册之后,给用户发的激活账户的邮件
    /// </summary>
    /// <param name="userEntity">用户实体</param>
    /// <returns>邮件主题</returns>
    private static string GetAfterUserRegisterBody(PiUserEntity userEntity)
    {
        var htmlBody = new StringBuilder();

        htmlBody.Append("<body style=\"font-size:10pt\">");
        htmlBody.Append("<div style=\"font-size:10pt; font-weight:bold\">尊敬的用户 " + userEntity.UserName + " 您好:</div>");
        htmlBody.Append("<br>");
        htmlBody.Append("<div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 请点击此处激活您的账号:<a href='http://www.12345.cn/Modules/User/Activation.aspx?Id=" + userEntity.Id + "'><font size=\"3\" color=\"#6699cc\">" + userEntity.UserName + "</font></a></div>");
        htmlBody.Append("<br>");
        htmlBody.Append("<div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 也可以直接在url中输入网址下面的网址 http://www.12345.cn/Modules/User/Activation.aspx?Id=" + userEntity.Id + " 激活账户</div>");
        htmlBody.Append("<br>");
        htmlBody.Append("<div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 如有任何疑问,欢迎致框架客服QQ:406590790,我们将热情为您解答。</div>");
        htmlBody.Append("<br>");
        htmlBody.Append("<div style=\"text-align:center\">RDIFramework.NET 用户服务中心</div>");
        htmlBody.Append("<div style=\"text-align:center\">" + System.DateTime.Now.Year + "年" + System.DateTime.Now.Month + "月" + System.DateTime.Now.Day + "日</div></body>");
        return(htmlBody.ToString());
    }
Esempio n. 11
0
        /// <summary>
        /// 按钮的状态设置
        /// </summary>
        public override void SetControlState()
        {
            this.btnUserRole.Enabled               = false;
            this.btnPermission.Enabled             = false;
            this.btnRoleUserBatchSet.Enabled       = false;
            this.btnBatchPermission.Enabled        = false;
            this.btnTableFieldPermission.Enabled   = false;
            this.btnUserTableConstraintSet.Enabled = false;
            this.btnDropDownPermission.Visible     = SystemInfo.EnableUserAuthorizationScope || SystemInfo.EnableTableFieldPermission || SystemInfo.EnableTableConstraintPermission;
            this.btnUserPermissionScope.Visible    = SystemInfo.EnableUserAuthorizationScope;
            this.btnTableFieldPermission.Visible   = SystemInfo.EnableTableFieldPermission;
            this.btnUserTableConstraintSet.Visible = SystemInfo.EnableTableConstraintPermission;
            // 是否有数据的判断
            if (this.DTUser.DefaultView.Count > 0)
            {
                this.btnUserRole.Enabled               = permissionUserRole;
                this.btnPermission.Enabled             = permissionUserPermission;
                this.btnRoleUserBatchSet.Enabled       = permissionRoleUserBatchSet;
                this.btnBatchPermission.Enabled        = permissionBatchPermission;
                this.btnUserPermissionScope.Enabled    = permissionUserAuthorization;
                this.btnUserTableConstraintSet.Enabled = permissionUserAuthorization;
                this.btnTableFieldPermission.Enabled   = permissionUserAuthorization;
            }

            // 超级管理员不需要设置权限
            DataRow dataRow = BasePageLogic.GetDataGridViewEntity(this.dgvInfo);

            if (dataRow != null)
            {
                PiUserEntity userEntity = BaseEntity.Create <PiUserEntity>(dataRow);
                // 超级管理员没必要设置权限,以免增加误解
                if (userEntity.Code != null && userEntity.Code.Equals(DefaultRole.Administrator.ToString()))
                {
                    this.btnUserPermissionScope.Enabled    = false;
                    this.btnBatchPermission.Enabled        = false;
                    this.btnPermission.Enabled             = false;
                    this.btnRoleUserBatchSet.Enabled       = false;
                    this.btnUserTableConstraintSet.Enabled = false;
                    this.btnTableFieldPermission.Enabled   = false;
                }
            }
        }
Esempio n. 12
0
    /// <summary>
    /// 用户注册之后,给用户发的激活账户的邮件
    /// </summary>
    /// <param name="userEntity">用户实体</param>
    /// <returns>成功发送邮件</returns>
    public static bool AfterUserRegister(PiUserEntity userEntity)
    {
        bool        returnValue = false;
        IDbProvider dbProvider  = new SqlProvider(RDIFrameworkDbConection);
        UserInfo    userInfo    = null;

        try
        {
            using (var mailMessage = new System.Net.Mail.MailMessage())
            {
                // 接收人邮箱地址
                mailMessage.To.Add(new System.Net.Mail.MailAddress(userEntity.Email));
                mailMessage.Body         = GetAfterUserRegisterBody(userEntity);
                mailMessage.From         = new System.Net.Mail.MailAddress("*****@*****.**", "新密码");
                mailMessage.BodyEncoding = Encoding.GetEncoding("GB2312");
                mailMessage.Subject      = "新密码。";
                mailMessage.IsBodyHtml   = true;
                var smtpclient = new System.Net.Mail.SmtpClient(SystemInfo.ErrorReportMailServer)
                {
                    Credentials = new System.Net.NetworkCredential(SystemInfo.ErrorReportMailUserName, SystemInfo.ErrorReportMailPassword),
                    EnableSsl   = false
                };
                smtpclient.Send(mailMessage);
                returnValue = true;
            }
        }
        catch (System.Exception exception)
        {
            // 若有异常,应该需要保存异常信息
            CiExceptionManager.LogException(dbProvider, userInfo, exception);
            returnValue = false;
        }
        finally
        {
            dbProvider.Close();
        }
        return(returnValue);
    }
        /// <summary>
        /// 获得角色列表
        /// </summary>
        private void GetRoles()
        {
            // 绑定类型数据
            DataTable dataTable = RDIFrameworkService.Instance.UserService.GetRoleDT(UserInfo);
            DataRow   dataRow   = dataTable.NewRow();

            dataTable.Rows.InsertAt(dataRow, 0);
            this.cboRole.DisplayMember = PiRoleTable.FieldRealName;
            this.cboRole.ValueMember   = PiRoleTable.FieldId;
            this.cboRole.DataSource    = dataTable;

            // 加载用户,显示用户的默认角色
            PiUserEntity userEntity = RDIFrameworkService.Instance.UserService.GetEntity(UserInfo, this.txtUser.SelectedValue.ToString());

            if (!string.IsNullOrEmpty(userEntity.RoleId))
            {
                this.cboRole.SelectedValue = userEntity.RoleId;
            }
            else
            {
                this.cboRole.Text = string.Empty;
            }
        }
Esempio n. 14
0
    //
    // 八 读取用户信息,更新用户信息部分
    //

    #region public static PiUserEntity GetUser(string userId) 获取用户信息
    /// <summary>
    /// 获取用户信息
    /// </summary>
    /// <param name="userId">用户主键</param>
    /// <returns>用户信息</returns>
    public static PiUserEntity GetUser(string userId)
    {
        PiUserEntity userEntity = null;

        if (!string.IsNullOrEmpty(userId))
        {
            // 这里需要打开用户中心的数据
            var dbHelper = new SqlProvider(RDIFrameworkDbConection);
            dbHelper.Open();

            var parameters = new List <KeyValuePair <string, object> >();
            parameters.Add(new KeyValuePair <string, object>(PiUserTable.FieldId, userId));
            DataTable dtBaseUser = DbCommonLibary.GetDT(dbHelper, PiUserTable.TableName, parameters, 0, null, null);
            if (dtBaseUser.Rows.Count > 0)
            {
                userEntity = BaseEntity.Create <PiUserEntity>(dtBaseUser);
                userEntity.WorkCategory = dtBaseUser.Rows[0][PiUserTable.FieldWorkCategory].ToString();
                userEntity.QICQ         = dtBaseUser.Rows[0][PiUserTable.FieldQICQ].ToString();
                userEntity.UserAddress  = dtBaseUser.Rows[0][PiUserTable.FieldUserAddress].ToString();
            }
            dbHelper.Close();
        }
        return(userEntity);
    }
Esempio n. 15
0
    /// <summary>
    /// 更新用户信息,若不存在当前用户,那就新增一条
    /// 这样数据库中的冗余相对少一些,更新自己信息的,才会保存到网上商城这边。
    /// </summary>
    /// <param name="userEntity">用户信息</param>
    /// <returns>影响行数</returns>
    public static int UpdateUser(PiUserEntity userEntity)
    {
        int returnValue = 0;

        return(returnValue);
    }
Esempio n. 16
0
        //private void BindCatalog()
        //{
        //    DataTable dtTemp = itemDetailService.GetDTByCode(base.UserInfo, "OrganizeCategory");

        //    if (dtTemp != null && dtTemp.Rows.Count > 0)
        //    {
        //        foreach (DataRow dataRow in dtTemp.Rows)
        //        {
        //            string[] names = { PiOrganizeTable.FieldCategory, PiOrganizeTable.FieldEnabled, PiOrganizeTable.FieldDeleteMark };
        //            string tempCategory = string.Empty;
        //            RDIFramework.Controls.UcComboBoxEx ucCombo = null;
        //            switch (dataRow[CiItemDetailsTable.FieldItemValue].ToString().Trim().ToLower())
        //            {
        //                case "company":
        //                    tempCategory = "Company";
        //                    ucCombo = cboCompanyName;
        //                    break;
        //                case "subcompany":
        //                    tempCategory = "SubCompany";
        //                    ucCombo = cboSubCompanyName;
        //                    break;
        //                case "department":
        //                    tempCategory = "Department";
        //                    ucCombo = cboDepartmentName;
        //                    break;
        //                case "subdepartment":
        //                    tempCategory = "SubDepartment";
        //                    break;
        //                case "workgroup":
        //                    tempCategory = "WorkGroup";
        //                    ucCombo = cboWorkgroupName;
        //                    break;
        //            }

        //            if (ucCombo != null)
        //            {
        //                string[] values = { tempCategory, "1", "0" };
        //                DataTable dtTempCompay = RDIFrameworkService.Instance.OrganizeService.GetDTByValues(base.UserInfo, names, values);
        //                DataRow dataRownew = dtTempCompay.NewRow();
        //                dtTempCompay.Rows.InsertAt(dataRownew, 0);
        //                ucCombo.DisplayMember = PiOrganizeTable.FieldFullName;
        //                ucCombo.ValueMember = PiOrganizeTable.FieldId;
        //                ucCombo.DataSource = dtTempCompay.DefaultView;
        //            }
        //        }
        //    }
        //}
        #endregion

        #region public override bool SaveEntity():保存数据
        public override bool SaveEntity()
        {
            var userEntity = new PiUserEntity
            {
                Code        = txtCode.Text.Trim(),
                UserName    = txtUserName.Text.Trim(),
                RealName    = txtRealName.Text.Trim(),
                Enabled     = chkEnabled.Checked ? 1 : 0,
                Gender      = cboGender.Text.Trim(),
                Mobile      = txtMobile.Text.Trim(),
                QICQ        = txtQQ.Text.Trim(),
                Telephone   = txtTelphone.Text.Trim(),
                Email       = txtEmail.Text.Trim(),
                Birthday    = BusinessLogic.ConvertToNullableDateTime(txtBirthday.Text),
                Duty        = txtDuty.Text.Trim(),
                Title       = txtTitle.Text.Trim(),
                QuickQuery  = StringHelper.ToChineseSpell(txtRealName.Text.Trim()),
                HomeAddress = txtHomeAddress.Text.Trim(),
                Description = txtDescription.Text.Trim(),
                DeleteMark  = 0,
                IsVisible   = 1
            };

            var roleId = string.Empty;

            userEntity.RoleId = this.cboRoleName.SelectedValue != null && this.cboRoleName.SelectedValue.ToString().Length > 0 ? BusinessLogic.ConvertToString(this.cboRoleName.SelectedValue): null;
            if (!string.IsNullOrEmpty(this.ucOSCompanyName.SelectedId))
            {
                userEntity.CompanyId   = this.ucOSCompanyName.SelectedId;
                userEntity.CompanyName = this.ucOSCompanyName.SelectedFullName;
            }
            else
            {
                userEntity.CompanyId   = null;
                userEntity.CompanyName = null;
            }

            if (!string.IsNullOrEmpty(this.ucOSSubCompanyName.SelectedId))
            {
                userEntity.SubCompanyId   = this.ucOSSubCompanyName.SelectedId;
                userEntity.SubCompanyName = this.ucOSSubCompanyName.SelectedFullName;
            }
            else
            {
                userEntity.SubCompanyId   = null;
                userEntity.SubCompanyName = null;
            }

            if (!string.IsNullOrEmpty(this.ucOSDepartmentName.SelectedId))
            {
                userEntity.DepartmentId   = this.ucOSDepartmentName.SelectedId;
                userEntity.DepartmentName = this.ucOSDepartmentName.SelectedFullName;
            }
            else
            {
                userEntity.DepartmentId   = null;
                userEntity.DepartmentName = null;
            }

            if (!string.IsNullOrEmpty(this.ucOSSubDepartmentName.SelectedId))
            {
                userEntity.SubDepartmentId   = this.ucOSSubDepartmentName.SelectedId;
                userEntity.SubDepartmentName = this.ucOSSubDepartmentName.SelectedFullName;
            }
            else
            {
                userEntity.SubDepartmentId   = null;
                userEntity.SubDepartmentName = null;
            }

            if (!string.IsNullOrEmpty(this.ucOSWorkgroupName.SelectedId))
            {
                userEntity.WorkgroupId   = this.ucOSWorkgroupName.SelectedId;
                userEntity.WorkgroupName = this.ucOSWorkgroupName.SelectedFullName;
            }
            else
            {
                userEntity.WorkgroupId   = null;
                userEntity.WorkgroupName = null;
            }


            userEntity.UserPassword = txtUserPassword.Text.Trim();

            //if (SystemInfo.EnableEncryptServerPassword) //在服务层已经做了此判断,不能重复加密
            //{
            //    userEntity.UserPassword = string.IsNullOrEmpty(userEntity.UserPassword) ? SecretHelper.AESEncrypt(SystemInfo.DefaultPassword):SecretHelper.AESEncrypt(userEntity.UserPassword);
            //}

            userEntity.UserPassword = string.IsNullOrEmpty(userEntity.UserPassword) ?SystemInfo.DefaultPassword : userEntity.UserPassword;


            if (UserInfo != null)
            {
                userEntity.CreateBy     = UserInfo.RealName;
                userEntity.CreateUserId = UserInfo.Id;
            }

            var returnValue = false;

            try
            {
                // 设置鼠标繁忙状态,并保留原先的状态
                var holdCursor = this.Cursor;
                this.Cursor = Cursors.WaitCursor;
                string statusCode    = string.Empty;
                string statusMessage = string.Empty;
                //增加用户
                this.EntityId = RDIFrameworkService.Instance.UserService.AddUser(UserInfo, userEntity, out statusCode, out statusMessage);
                if (statusCode == StatusCode.OKAdd.ToString())
                {
                    if (SystemInfo.ShowInformation)
                    {
                        // 添加成功,进行提示
                        MessageBoxHelper.ShowSuccessMsg(statusMessage);
                    }
                    this.Changed      = true;
                    this.DialogResult = DialogResult.OK;
                    returnValue       = true;
                }
                else
                {
                    MessageBoxHelper.ShowWarningMsg(statusMessage);
                    if (statusCode == StatusCode.ErrorUserExist.ToString())
                    {
                        this.txtUserName.SelectAll();
                        this.txtUserName.Focus();
                    }
                    // 是否编号重复了,提高友善性
                    if (statusCode == StatusCode.ErrorCodeExist.ToString())
                    {
                        this.txtCode.SelectAll();
                        this.txtCode.Focus();
                    }
                    returnValue = false;
                }
                // 设置鼠标默认状态,原来的光标状态
                this.Cursor = holdCursor;
                return(returnValue);
            }
            catch (Exception ex)
            {
                base.ProcessException(ex);
            }

            return(returnValue);
        }