示例#1
0
        public JsonResult qryUserRole(string userId)
        {
            CodeUserRoleDao          CodeUserRoleDao = new CodeUserRoleDao();
            List <CodeUserRoleModel> rows            = CodeUserRoleDao.qryByUserID(userId);

            using (DB_INTRAEntities dbIntra = new DB_INTRAEntities())
            {
                Dictionary <string, string> userNameMap = new Dictionary <string, string>();
                OaEmpDao oaEmpDao  = new OaEmpDao();
                string   createUid = "";

                foreach (CodeUserRoleModel d in rows)
                {
                    createUid = StringUtil.toString(d.createUid);

                    if (!"".Equals(createUid))
                    {
                        if (!userNameMap.ContainsKey(createUid))
                        {
                            userNameMap = oaEmpDao.qryUsrName(userNameMap, createUid, dbIntra);
                        }
                        d.createUid = createUid + " " + userNameMap[createUid];
                    }
                }
            }



            var jsonData = new { success = true, roleList = rows };

            return(Json(jsonData, JsonRequestBehavior.AllowGet));
        }
示例#2
0
        public JsonResult qryUserRoleHis(string userId, string aplyNo)
        {
            CodeUserRoleHisDao codeUserRoleHisDao = new CodeUserRoleHisDao();

            try
            {
                List <CodeUserRoleModel> rows = new List <CodeUserRoleModel>();
                rows = codeUserRoleHisDao.qryByAplyNo(aplyNo);

                if (rows.Count == 0)
                {
                    CodeUserRoleDao codeUserRoleDao = new CodeUserRoleDao();
                    rows = codeUserRoleDao.qryByUserID(userId);
                }


                var jsonData = new { success = true, rows };
                return(Json(jsonData, JsonRequestBehavior.AllowGet));
            }
            catch (Exception e)
            {
                logger.Error("其它錯誤:" + e.ToString());
                return(Json(new { success = false, err = "其它錯誤,請洽系統管理員!!" }));
            }
        }
示例#3
0
        /// <summary>
        /// 處理使用者角色異動
        /// </summary>
        /// <param name="roleId"></param>
        /// <param name="aplyNO"></param>
        /// <param name="conn"></param>
        /// <param name="transaction"></param>
        private void procUserRoleHis(CODE_USER cODEUSERO, string aplyNo, SqlConnection conn, SqlTransaction transaction)
        {
            CodeUserRoleHisDao       codeUserRoleHisDao = new CodeUserRoleHisDao();
            List <CodeUserRoleModel> cRoleList          = codeUserRoleHisDao.qryByAplyNo(aplyNo);

            if (cRoleList != null)
            {
                if (cRoleList.Count > 0)
                {
                    CodeUserRoleDao codeUserRoleDao = new CodeUserRoleDao();

                    foreach (CodeUserRoleModel d in cRoleList)
                    {
                        CODE_USER_ROLE dRole = new CODE_USER_ROLE();
                        Log            log   = new Log();

                        switch (d.execAction)
                        {
                        case "A":
                            dRole.USER_ID    = cODEUSERO.USER_ID;
                            dRole.ROLE_ID    = d.roleId;
                            dRole.CREATE_UID = cODEUSERO.LAST_UPDATE_UID;
                            dRole.CREATE_DT  = cODEUSERO.LAST_UPDATE_DT;


                            //新增資料
                            codeUserRoleDao.insert(dRole, conn, transaction);


                            //新增LOG
                            log.CFUNCTION = "使用者管理(角色授權)-新增";
                            log.CACTION   = "A";
                            log.CCONTENT  = codeUserRoleDao.logContent(dRole);
                            LogDao.Insert(log, Session["UserID"].ToString());

                            break;

                        case "D":
                            dRole = codeUserRoleDao.qryByKey(cODEUSERO.USER_ID, d.roleId);

                            //新增LOG

                            log.CFUNCTION = "使用者管理(角色授權)-刪除";
                            log.CACTION   = "D";
                            log.CCONTENT  = codeUserRoleDao.logContent(dRole);
                            LogDao.Insert(log, Session["UserID"].ToString());

                            //刪除資料
                            codeUserRoleDao.delete(dRole, conn, transaction);
                            break;

                        default:
                            break;
                        }
                    }
                }
            }
        }
示例#4
0
        /// <summary>
        /// 異動使用者資訊
        /// </summary>
        /// <param name="userMgrModel"></param>
        /// <returns></returns>
        public JsonResult updateUser(UserMgrModel userMgrModel, List <CodeUserRoleModel> roleData, string execAction)
        {
            bool bUserChg = false;
            bool bRoleChg = false;



            CodeUserDao codeUserDao = new CodeUserDao();
            CODE_USER   userO       = codeUserDao.qryUserByKey(userMgrModel.cUserID);

            if ("A".Equals(execAction))
            {
                if (userO != null)
                {
                    if (!"".Equals(StringUtil.toString(userO.USER_ID)))
                    {
                        return(Json(new { success = false, err = "使用者已存在系統,不可新增!!" }, JsonRequestBehavior.AllowGet));
                    }
                }
                bUserChg = true;
            }
            else
            {
                if (userO == null)
                {
                    return(Json(new { success = false, err = "該使用者不存在系統!!" }, JsonRequestBehavior.AllowGet));
                }
                else
                {
                    if (StringUtil.toString(userMgrModel.isDisabled).Equals(StringUtil.toString(userO.IS_DISABLED)) &&
                        StringUtil.toString(userMgrModel.isMail).Equals(StringUtil.toString(userO.IS_MAIL)) &&
                        StringUtil.toString(userMgrModel.vMemo).Equals(StringUtil.toString(userO.MEMO))
                        )
                    {
                        bUserChg = false;
                    }
                    else
                    {
                        bUserChg = true;
                    }
                }
            }


            //比對是否有異動"角色授權"
            CodeUserRoleDao          codeUserRoleDao = new CodeUserRoleDao();
            List <CodeUserRoleModel> roleDataO       = codeUserRoleDao.qryByUserID(userMgrModel.cUserID);
            List <CodeUserRoleModel> roleList        = new List <CodeUserRoleModel>();

            if (roleData != null)
            {
                foreach (CodeUserRoleModel role in roleData)
                {
                    CodeUserRoleModel codeUserRoleModel = new CodeUserRoleModel();
                    codeUserRoleModel.userId = StringUtil.toString(userMgrModel.cUserID);
                    codeUserRoleModel.roleId = StringUtil.toString(role.roleId);


                    if (roleDataO.Exists(x => x.roleId == role.roleId))
                    {
                        codeUserRoleModel.execAction = "";
                    }
                    else
                    {
                        bRoleChg = true;
                        codeUserRoleModel.execAction = "A";
                    }
                    roleList.Add(codeUserRoleModel);
                }
            }


            foreach (CodeUserRoleModel oRole in roleDataO)
            {
                if (roleList != null)
                {
                    if (!roleList.Exists(x => x.roleId == oRole.roleId))
                    {
                        bRoleChg = true;
                        CodeUserRoleModel codeUserRoleModel = new CodeUserRoleModel();
                        codeUserRoleModel.userId     = StringUtil.toString(userMgrModel.cUserID);
                        codeUserRoleModel.roleId     = StringUtil.toString(oRole.roleId);
                        codeUserRoleModel.execAction = "D";
                        roleList.Add(codeUserRoleModel);
                    }
                }
                else
                {
                    bRoleChg = true;
                    CodeUserRoleModel codeUserRoleModel = new CodeUserRoleModel();
                    codeUserRoleModel.userId     = StringUtil.toString(oRole.userId);
                    codeUserRoleModel.roleId     = StringUtil.toString(oRole.roleId);
                    codeUserRoleModel.execAction = "D";
                    roleList.Add(codeUserRoleModel);
                }
            }

            if (bUserChg == false && bRoleChg == false)
            {
                return(Json(new { success = false, errors = "未異動畫面資料,將不進行修改覆核作業!!" }, JsonRequestBehavior.AllowGet));
            }


            /*------------------ DB處理   begin------------------*/
            string strConn = DbUtil.GetDBTreasuryConnStr();

            using (SqlConnection conn = new SqlConnection(strConn))
            {
                conn.Open();

                SqlTransaction transaction = conn.BeginTransaction("Transaction");
                try
                {
                    AuthApprDao authApprDao = new AuthApprDao();
                    AUTH_APPR   authAppr    = new AUTH_APPR();
                    authAppr.AUTH_APLY_TYPE   = "U";
                    authAppr.APPR_STATUS      = "1";
                    authAppr.APPR_MAPPING_KEY = userMgrModel.cUserID;
                    authAppr.CREATE_UID       = Session["UserID"].ToString();

                    //新增"覆核資料檔"
                    string aplyNo = authApprDao.insert(authAppr, conn, transaction);


                    // 異動"使用者資料檔"資料狀態
                    if (!"A".Equals(execAction))
                    {
                        Log log = new Log();
                        log.CFUNCTION = "使用者管理-修改";
                        log.CACTION   = "U";
                        log.CCONTENT  = codeUserDao.userLogContent(userO);
                        LogDao.Insert(log, Session["UserID"].ToString());


                        userO.DATA_STATUS     = "2";
                        userO.LAST_UPDATE_UID = Session["UserID"].ToString();
                        userO.LAST_UPDATE_DT  = DateTime.Now;
                        userO.FREEZE_UID      = Session["UserID"].ToString();
                        userO.FREEZE_DT       = DateTime.Now;

                        int cnt = codeUserDao.Update(userO, conn, transaction);
                    }


                    //處理使用者資料檔的異動
                    if (bUserChg)
                    {
                        CodeUserHisDao codeUserHisDao = new CodeUserHisDao();
                        CODE_USER_HIS  userHis        = new CODE_USER_HIS();
                        userHis.APLY_NO     = aplyNo;
                        userHis.USER_ID     = userMgrModel.cUserID;
                        userHis.IS_DISABLED = userMgrModel.isDisabled;
                        userHis.IS_MAIL     = userMgrModel.isMail;
                        userHis.MEMO        = userMgrModel.vMemo;
                        if (!"A".Equals(execAction))
                        {
                            userHis.IS_DISABLED_B = userO.IS_DISABLED;
                            userHis.IS_MAIL_B     = userO.IS_MAIL;
                            userHis.MEMO_B        = userO.MEMO;
                            userHis.EXEC_ACTION   = "U";
                        }
                        else
                        {
                            userHis.EXEC_ACTION = "A";
                        }

                        codeUserHisDao.insert(userHis, conn, transaction);
                    }


                    //處理角色金庫設備資料檔的異動
                    if (bRoleChg)
                    {
                        CodeUserRoleHisDao codeUserRoleHisDao = new CodeUserRoleHisDao();
                        foreach (CodeUserRoleModel role in roleList)
                        {
                            codeUserRoleHisDao.insert(aplyNo, role, conn, transaction);
                            //if (!"".Equals(role.execAction))
                            //{
                            //    codeUserRoleHisDao.insert(aplyNo, role, conn, transaction);
                            //}
                        }
                    }

                    transaction.Commit();

                    /*------------------ DB處理   end------------------*/
                    return(Json(new { success = true, aplyNo = aplyNo }));
                }
                catch (Exception e)
                {
                    transaction.Rollback();
                    logger.Error("[updateUser]其它錯誤:" + e.ToString());

                    return(Json(new { success = false, err = "其它錯誤,請洽系統管理員!!" }, JsonRequestBehavior.AllowGet));
                }
            }
        }