Exemplo n.º 1
0
        private OperationReturn UpdateUserPermission(SessionInfo session, List <string> listParams)
        {
            OperationReturn optReturn = new OperationReturn();

            optReturn.Result = true;
            optReturn.Code   = 0;
            int    errNum = 0;
            string errMsg = string.Empty;

            try
            {
                if (listParams.Count < 2)
                {
                    optReturn.Result  = false;
                    optReturn.Code    = Defines.RET_PARAM_INVALID;
                    optReturn.Message = string.Format("Param count invalid");
                    return(optReturn);
                }
                string strUserID     = listParams[0];
                string strOperatorID = listParams[1];
                switch (session.DBType)
                {
                //MSSQL
                case 2:
                    DbParameter[] mssqlParameters =
                    {
                        MssqlOperation.GetDbParameter("@ainparam01",      MssqlDataType.Varchar,  5),
                        MssqlOperation.GetDbParameter("@ainparam02",      MssqlDataType.Varchar, 20),
                        MssqlOperation.GetDbParameter("@ainparam03",      MssqlDataType.Varchar, 20),
                        MssqlOperation.GetDbParameter("@aouterrornumber", MssqlDataType.Bigint,   0),
                        MssqlOperation.GetDbParameter("@aouterrorstring", MssqlDataType.Varchar, 200)
                    };
                    mssqlParameters[0].Value     = session.RentInfo.Token;
                    mssqlParameters[1].Value     = strUserID;
                    mssqlParameters[2].Value     = strOperatorID;
                    mssqlParameters[3].Value     = errNum;
                    mssqlParameters[4].Value     = errMsg;
                    mssqlParameters[3].Direction = ParameterDirection.Output;
                    mssqlParameters[4].Direction = ParameterDirection.Output;
                    optReturn = MssqlOperation.ExecuteStoredProcedure(session.DBConnectionString, "P_11_016",
                                                                      mssqlParameters);
                    if (!optReturn.Result)
                    {
                        return(optReturn);
                    }
                    if (mssqlParameters[3].Value.ToString() != "0")
                    {
                        optReturn.Result  = false;
                        optReturn.Code    = Defines.RET_DBACCESS_FAIL;
                        optReturn.Message = string.Format("{0}\t{1}", mssqlParameters[3].Value, mssqlParameters[4].Value);
                    }
                    break;

                //ORCL
                case 3:
                    DbParameter[] orclParameters =
                    {
                        OracleOperation.GetDbParameter("ainparam01",  OracleDataType.Varchar2,  5),
                        OracleOperation.GetDbParameter("ainparam02",  OracleDataType.Varchar2, 20),
                        OracleOperation.GetDbParameter("ainparam03",  OracleDataType.Varchar2, 20),
                        OracleOperation.GetDbParameter("errornumber", OracleDataType.Int32,     0),
                        OracleOperation.GetDbParameter("errorstring", OracleDataType.Varchar2, 200)
                    };
                    orclParameters[0].Value     = session.RentInfo.Token;
                    orclParameters[1].Value     = strUserID;
                    orclParameters[2].Value     = strOperatorID;
                    orclParameters[3].Value     = errNum;
                    orclParameters[4].Value     = errMsg;
                    orclParameters[3].Direction = ParameterDirection.Output;
                    orclParameters[4].Direction = ParameterDirection.Output;
                    optReturn = OracleOperation.ExecuteStoredProcedure(session.DBConnectionString, "P_11_016",
                                                                       orclParameters);
                    if (!optReturn.Result)
                    {
                        return(optReturn);
                    }
                    if (orclParameters[3].Value.ToString() != "0")
                    {
                        optReturn.Result  = false;
                        optReturn.Code    = Defines.RET_DBACCESS_FAIL;
                        optReturn.Message = string.Format("{0}\t{1}", orclParameters[3].Value, orclParameters[4].Value);
                    }
                    break;

                default:
                    optReturn.Result  = false;
                    optReturn.Code    = Defines.RET_PARAM_INVALID;
                    optReturn.Message = string.Format("DBType invalid");
                    return(optReturn);
                }
            }
            catch (Exception ex)
            {
                optReturn.Result  = false;
                optReturn.Code    = Defines.RET_FAIL;
                optReturn.Message = ex.Message;
            }
            return(optReturn);
        }