Exemplo n.º 1
0
        /// <summary>
        /// 刪除角色ID信息刪除C_ROLE表,C_ROLE_PRIVILEGE ,C_USER_ROLE
        /// </summary>
        public void DeleteRole(Newtonsoft.Json.Linq.JObject requestValue, Newtonsoft.Json.Linq.JObject Data, MESStationReturn StationReturn)
        {
            OleExec            sfcdb     = null;
            string             DeleteSql = "";
            string             strid     = "";
            T_C_ROLE           GetRoleInformation;
            T_C_ROLE_PRIVILEGE GetRolePrivilegeInfo;

            try
            {
                sfcdb = this.DBPools["SFCDB"].Borrow();
                sfcdb.BeginTrain();
                GetRoleInformation   = new T_C_ROLE(sfcdb, DBTYPE);
                GetRolePrivilegeInfo = new T_C_ROLE_PRIVILEGE(sfcdb, DBTYPE);
                foreach (string item in Data["ID"])
                {
                    strid = item.Trim('\'').Trim('\"');
                    if (GetRoleInformation.CheckRole(strid, sfcdb))
                    {
                        Row_C_ROLE row = (Row_C_ROLE)GetRoleInformation.GetObjByID(strid, sfcdb);
                        DeleteSql += row.GetDeleteString(DBTYPE) + ";\n";
                        if (!GetRolePrivilegeInfo.CheckRolePrivilege(strid, sfcdb)) //檢查C_ROLE_PRIVILEGE是否有添加角色權限,如果存在就刪除
                        {
                            Row_C_PRIVILEGE PrivilegeRow = (Row_C_PRIVILEGE)GetRolePrivilegeInfo.GetObjByRoleID(strid, sfcdb);
                            DeleteSql += PrivilegeRow.GetDeleteString(DBTYPE) + ";\n";
                        }
                    }
                    else
                    {
                        sfcdb.RollbackTrain();
                        StationReturn.Status  = StationReturnStatusValue.Fail;
                        StationReturn.Message = "該角色已被賦予用戶使用,不能刪除";
                        StationReturn.Data    = "";
                        this.DBPools["SFCDB"].Return(sfcdb);
                        return;
                    }
                }

                DeleteSql = "BEGIN\n" + DeleteSql + "END;";

                sfcdb.ExecSQL(DeleteSql);
                sfcdb.CommitTrain();
                StationReturn.Status  = StationReturnStatusValue.Pass;
                StationReturn.Message = "刪除成功";
                sfcdb.CommitTrain();
                this.DBPools["SFCDB"].Return(sfcdb);
            }
            catch (Exception e)
            {
                sfcdb.RollbackTrain();
                this.DBPools["SFCDB"].Return(sfcdb);
                throw e;
            }
        }
Exemplo n.º 2
0
        /// <summary>
        /// 更新角色ID信息,更新C_ROLE表相關內容
        /// </summary>
        public void UpdateRole(Newtonsoft.Json.Linq.JObject requestValue, Newtonsoft.Json.Linq.JObject Data, MESStationReturn StationReturn)
        {
            OleExec  sfcdb     = null;
            string   UpdateSql = "";
            T_C_ROLE GetRoleInformation;
            string   ID        = Data["ID"].ToString();
            string   ROLE_NAME = Data["ROLE_NAME"].ToString();
            string   ROLE_DESC = Data["ROLE_DESC"].ToString();
            string   ROLE_TYPE = Data["ROLE_TYPE"].ToString();

            try
            {
                sfcdb = this.DBPools["SFCDB"].Borrow();
                GetRoleInformation = new T_C_ROLE(sfcdb, DBTYPE);
                Row_C_ROLE row = (Row_C_ROLE)GetRoleInformation.GetObjByID(Data["ID"].ToString(), sfcdb);
                row.ID          = ID;
                row.ROLE_NAME   = ROLE_NAME;
                row.ROLE_DESC   = ROLE_DESC;
                row.ROLE_TYPE   = ROLE_TYPE;
                row.EDIT_EMP    = LoginUser.EMP_NO;
                row.SYSTEM_NAME = SystemName;
                row.EDIT_TIME   = GetDBDateTime();

                UpdateSql = row.GetUpdateString(DBTYPE);
                sfcdb.ExecSQL(UpdateSql);
                StationReturn.Status  = StationReturnStatusValue.Pass;
                StationReturn.Message = "更新成功";
                StationReturn.Data    = "";
                this.DBPools["SFCDB"].Return(sfcdb);
            }
            catch (Exception e)
            {
                this.DBPools["SFCDB"].Return(sfcdb);
                throw e;
            }
        }
Exemplo n.º 3
0
        /// <summary>
        /// 創建角色ID Inser into C_ROLE
        /// </summary>
        public void CreateRole(Newtonsoft.Json.Linq.JObject requestValue, Newtonsoft.Json.Linq.JObject Data, MESStationReturn StationReturn)
        {
            OleExec  SFCDB     = null;
            string   InsertSql = "";
            T_C_ROLE Roler;

            string EMP_LEVEL = this.LoginUser.EMP_LEVEL;
            string DPT_NAME  = this.LoginUser.DPT_NAME;

            string ROLE_NAME = Data["ROLE_NAME"].ToString();
            string ROLE_TYPE = Data["ROLE_TYPE"].ToString();

            try
            {
                SFCDB = this.DBPools["SFCDB"].Borrow();
                Roler = new T_C_ROLE(SFCDB, DBTYPE);

                if (Roler.CheckRoleData(ROLE_NAME, ROLE_TYPE, EMP_LEVEL, DPT_NAME, SFCDB))
                {
                    Row_C_ROLE row = (Row_C_ROLE)Roler.NewRow();
                    row.ID        = Roler.GetNewID(BU, SFCDB);
                    row.ROLE_NAME = Data["ROLE_NAME"].ToString();
                    row.ROLE_DESC = Data["ROLE_DESC"].ToString();
                    if (this.LoginUser.EMP_LEVEL == "9")
                    {
                        row.ROLE_TYPE = Data["ROLE_TYPE"].ToString();

                        row.EDIT_EMP    = LoginUser.EMP_NO;
                        row.SYSTEM_NAME = SystemName;
                        row.EDIT_TIME   = GetDBDateTime();
                        InsertSql       = row.GetInsertString(DBTYPE);
                        SFCDB.ExecSQL(InsertSql);
                        StationReturn.Status  = StationReturnStatusValue.Pass;
                        StationReturn.Message = "創建角色成功";
                        StationReturn.Data    = "";
                        this.DBPools["SFCDB"].Return(SFCDB);
                    }
                    else
                    {
                        row.ROLE_TYPE = this.LoginUser.DPT_NAME;

                        if (Data["ROLE_TYPE"].ToString() != this.LoginUser.DPT_NAME)
                        {
                            StationReturn.Status  = StationReturnStatusValue.Fail;
                            StationReturn.Message = "该用户等级不能创建本部门之外的权限";
                            this.DBPools["SFCDB"].Return(SFCDB);
                        }
                        else
                        {
                            row.EDIT_EMP    = LoginUser.EMP_NO;
                            row.SYSTEM_NAME = SystemName;
                            row.EDIT_TIME   = GetDBDateTime();
                            InsertSql       = row.GetInsertString(DBTYPE);
                            SFCDB.ExecSQL(InsertSql);
                            StationReturn.Status  = StationReturnStatusValue.Pass;
                            StationReturn.Message = "創建角色成功";
                            StationReturn.Data    = "";
                            this.DBPools["SFCDB"].Return(SFCDB);
                        }
                    }
                }
                else
                {
                    StationReturn.Status  = StationReturnStatusValue.Fail;
                    StationReturn.Message = "角色11已存在";
                    this.DBPools["SFCDB"].Return(SFCDB);
                }
            }
            catch (Exception e)
            {
                this.DBPools["SFCDB"].Return(SFCDB);
                throw e;
            }
        }