车辆资产管理系统:批量更新用户角色数据

2017-09-29 11:18:12  访问(1393) 赞(0) 踩(0)

 

        /// <summary>
        /// 判断该用户是否分配了角色
        /// </summary>
        /// <param name="str"></param>
        /// <param name="xdbHelper"></param>
        /// <returns></returns>
        protected bool UserRoleIsExist(string userId, DBHelper xdbHelper)
        {
            bool theResult = true;

            bool bIsCreate = true;

            if (xdbHelper == null)
            {
                xdbHelper
                    =
                    SlowX.DAL.Helpers.DBHelper.CreateDBHelper
                    (
                        DEFAULT_CONN,
                        SlowX.DAL.Enums.DataBaseHelper.EmDataBaseHelper.Oracle,
                        1
                    );
            }
            else
            {
                // 没有打开链接 //
                bIsCreate = xdbHelper.IsNotOpen();
            }

            try
            {
                if (bIsCreate)
                    xdbHelper.OpenDBHelper();


                // 统计该用户id有的角色数 //
                string sql = "select count(1) from Bpms_Userrole t where t.userid = '" + userId.Replace("'", "''") + "'";

                int countResult = Convert.ToInt32(xdbHelper.ExecuteScalar(sql));

                if (countResult == 0)
                    theResult = false;
                else
                    theResult = true;
                if (bIsCreate)
                    xdbHelper.EndDBHelper();

            }
            catch (Exception err)
            {
                if (bIsCreate)
                    xdbHelper.TranDBHelper();

                throw err;
            }
            finally
            {
                if (bIsCreate)
                    xdbHelper.FinallyDBHelper();
            }

            return theResult;
        }


        /// <summary>
        /// 
        /// </summary>
        /// <param name="model"></param>
        /// <param name="xdbHelper"></param>
        /// <returns></returns>
        protected int SaveUserRole
            (
                string userId,
                DBHelper xdbHelper
            )
        {
            int theResult = 0;

            bool bIsCreate = true;

            if (xdbHelper == null)
            {
                xdbHelper
                    =
                    SlowX.DAL.Helpers.DBHelper.CreateDBHelper
                    (
                        DEFAULT_CONN,
                        SlowX.DAL.Enums.DataBaseHelper.EmDataBaseHelper.Oracle,
                        1
                    );
            }
            else
            {
                // 没有打开链接 //
                bIsCreate = xdbHelper.IsNotOpen();
            }

            try
            {
                if (bIsCreate)
                    xdbHelper.OpenDBHelper();

                string pkId = System.Guid.NewGuid().ToString();

                string sql = @"insert into BPMS_USERROLE 
(
USERROLEID,USERID, 
ROLEID,
CREATEDATE,
CREATEUSERID,
CREATEUSERNAME
)
values
(
'" + pkId + "','" + userId + "','" + DEFAULT_ROLE + @"',sysdate,'System','管理员'
)";

                theResult = xdbHelper.ExecuteNonQuery(sql);

                if (bIsCreate)
                    xdbHelper.EndDBHelper();

            }
            catch (Exception err)
            {
                if (bIsCreate)
                    xdbHelper.TranDBHelper();

                throw err;
            }
            finally
            {
                if (bIsCreate)
                    xdbHelper.FinallyDBHelper();
            }

            return theResult;
        }


        /// <summary>
        /// 
        /// </summary>
        /// <param name="xdbHelper"></param>
        /// <returns></returns>
        protected string ImportClick(DBHelper xdbHelper)
        {
            int iCount = 0;
            string theResult = ""; 

            bool bIsCreate = true;

            if (xdbHelper == null)
            {
                xdbHelper
                    =
                    SlowX.DAL.Helpers.DBHelper.CreateDBHelper
                    (
                        DEFAULT_CONN,
                        SlowX.DAL.Enums.DataBaseHelper.EmDataBaseHelper.Oracle,
                        1
                    );
            }
            else
            {
                // 没有打开链接 //
                bIsCreate = xdbHelper.IsNotOpen();
            }

            try
            {
                if (bIsCreate)
                    xdbHelper.OpenDBHelper();

                eKing.EkVehicleLib.Business.CommonModule.User.BPMS_USER
                    bll
                    =
                    eKing.EkVehicleLib.Business.CommonModule.User.BPMS_USER.instance;


                eKing.EkVehicleLib.Entity.CommonModule.User.BPMS_USER
                    entity
                    =
                    new eKing.EkVehicleLib.Entity.CommonModule.User.BPMS_USER();

                IQueryDriver iq = entity;
 
                // 拿到所有的用户数据 //
                List<BaseModel>
                    theList = bll.ListBaseModel(entity, xdbHelper);

                foreach (eKing.EkVehicleLib.Model.CommonModule.User.BPMS_USER model in theList)
                {
                    // 循环每一条记录 //
                    if (model == null)
                        continue;

                    // 如果已经分配角色 //
                    // 不做处理 //
                    if (UserRoleIsExist(model.UserId, xdbHelper))
                        continue;

                    // 保存用户角色 //

                    SaveUserRole(model.UserId, xdbHelper);

                    ++iCount;

                    theResult += model.RealName + "<br />";
                }

                if (bIsCreate)
                    xdbHelper.EndDBHelper();

            }
            catch (Exception err)
            {
                if (bIsCreate)
                    xdbHelper.TranDBHelper();

                throw err;
            }
            finally
            {
                if (bIsCreate)
                    xdbHelper.FinallyDBHelper();
            }

            return iCount.ToString() + "<br />" + theResult;

        }

        protected void btn_ImportUser_Click(object sender, EventArgs e)
        {
            try
            {
                string str = ImportClick(null);

                Response.Write(str);


            }
            catch (Exception err)
            {
                Response.Write(err.Message);
            }
        }

上一条:

下一条:


 

相关评论

评论加载中……
 

发表评论

类型:
内容:
  (Alt+Enter)