| | |
| | | <Compile Include="GwClientProductDao.cs" /> |
| | | <Compile Include="GwMobileAreaDao.cs" /> |
| | | <Compile Include="GwMoRouteDao.cs" /> |
| | | <Compile Include="GwOrderAuditDao.cs" /> |
| | | <Compile Include="GwOrderDao.cs" /> |
| | | <Compile Include="GwProductDao.cs" /> |
| | | <Compile Include="GwRmResendDao.cs" /> |
| | | <Compile Include="GwSpPrePattern.cs" /> |
| | |
| | | <Compile Include="SpCTPatternInfo.cs" /> |
| | | <Compile Include="GwSpDao.cs" /> |
| | | <Compile Include="SpSignatureInfo.cs" /> |
| | | <Compile Include="SysFlowDao.cs" /> |
| | | <Compile Include="SysFlowNodeDao.cs" /> |
| | | <Compile Include="SysOperationLogDao.cs" /> |
| | | <Compile Include="SysXhDao.cs" /> |
| | | <Compile Include="UserDao.cs" /> |
| | |
| | | spId = ""; apId = ""; clientId = ""; |
| | | |
| | | StringBuilder stringBuilder = new StringBuilder(); |
| | | stringBuilder.Append("select ' ' || SP_ID as SP_ID, AP_ID, ' ' || CLIENT_ID as CLIENT_ID, STRATEGY_ID, PASSWORD, CLIENT_IP, CLIENT_PORT, ACCESS_CODE, BALANCE/1000 AS BALANCE, PRIORITY, PRICE/1000 AS PRICE, CASE CHARGE_TYPE WHEN 2 THEN '后付费' ELSE '预付费' END as CHARGE_TYPE, THRESHOLD, CREATE_TIME, REMARK, ACTIVATE_TIME, MAX_CONN_COUNT, MO_ENABLED, FORCE_UDHI, PASSING_TIME, AUDITING_MODE, DEDUCT_PERCENT, CM_OP_ID, CT_OP_ID, UN_OP_ID, DEFISHING_THRESHOLD, TIME_PERMITTING, REJECT_IF_FORBIDDEN, DEFISHING_TIMEOUT, SIGNATURES, REJECT_IF_NO_SIGNATURE, REFUND_IF_UNDELIVERED, ROUTER_TYPE, CHANNEL_TYPE, STATUS, MODIFY_TIME, DEFISHING_OP_ID, MONTH_FIXED_FEE, MONTH_MIN_FEE, FEE_SHORT_LENGTH, FEE_LONG_LENGTH, SIGNATURE_MODE, MCPM, MC_EXPRESSION, BLACK_MODE, DIVERTER_ID from GW_SP where 1=1"); |
| | | stringBuilder.Append("select ' ' || SP_ID as SP_ID, AP_ID, ' ' || CLIENT_ID as CLIENT_ID, STRATEGY_ID, PASSWORD, CLIENT_IP, CLIENT_PORT, ACCESS_CODE, BALANCE/1000 AS BALANCE, PRIORITY, PRICE/1000 AS PRICE, CASE CHARGE_TYPE WHEN 2 THEN '后付费' ELSE '预付费' END as CHARGE_TYPE, THRESHOLD, CREATE_TIME, REMARK, ACTIVATE_TIME, MAX_CONN_COUNT, MO_ENABLED, FORCE_UDHI, PASSING_TIME, AUDITING_MODE, DEDUCT_PERCENT, CM_OP_ID, CT_OP_ID, UN_OP_ID, DEFISHING_THRESHOLD, TIME_PERMITTING, REJECT_IF_FORBIDDEN, DEFISHING_TIMEOUT, SIGNATURES, REJECT_IF_NO_SIGNATURE, REFUND_IF_UNDELIVERED, ROUTER_TYPE, CHANNEL_TYPE, STATUS, MODIFY_TIME, DEFISHING_OP_ID, MONTH_FIXED_FEE, MONTH_MIN_FEE, FEE_SHORT_LENGTH, FEE_LONG_LENGTH, SIGNATURE_MODE, MCPM, MC_EXPRESSION, BLACK_MODE, DIVERTER_ID "); |
| | | |
| | | //add: yangzh by 2022-03-14 start |
| | | //stringBuilder.Append(" from GW_SP where 1=1 "); |
| | | stringBuilder.Append(" from GW_SP where 1=1 AND DEL_FLAG = 0 "); |
| | | //add: yangzh by 2022-03-14 start |
| | | OracleParameter[] oracleParameterArray = new OracleParameter[3]; |
| | | if (spId != null && spId != "") |
| | | { |
| | |
| | | { |
| | | List<GwSp> list1 = new List<GwSp>(); |
| | | StringBuilder stringBuilder = new StringBuilder(); |
| | | stringBuilder.Append("from GW_SP where 1=1"); |
| | | //add: yangzh by 2022-03-14 start |
| | | //stringBuilder.Append("from GW_SP where 1=1"); |
| | | stringBuilder.Append("from GW_SP where 1=1 AND DEL_FLAG = 0 "); //删除标志过滤:0-正常 |
| | | //add: yangzh by 2022-03-14 start |
| | | List<OracleParameter> list2 = new List<OracleParameter>(); |
| | | if (spId != null && spId != "") |
| | | { |
| | |
| | | return list1; |
| | | } |
| | | |
| | | public List<GwSp> LoadInfoList(string spId, string apId, string clientId, int routerType, string opID, int chargeType, int pageIndex, int pageSize, string resendStatus, out int recordCount) |
| | | public List<GwSp> LoadInfoList(string spId, string apId, string clientId, int routerType, string opID, int chargeType, int pageIndex, int pageSize, string resendStatus, out int recordCount, string productId ) |
| | | { |
| | | List<GwSp> list1 = new List<GwSp>(); |
| | | recordCount = 0; |
| | | StringBuilder stringBuilder = new StringBuilder(); |
| | | stringBuilder.Append("from GW_SP where 1=1"); |
| | | //add: yangzh by 2022-03-14 start |
| | | //stringBuilder.Append("from GW_SP where 1=1"); |
| | | stringBuilder.Append("from GW_SP where 1=1 AND DEL_FLAG = 0"); //刪除标志过滤:为0-正常 |
| | | //add: yangzh by 2022-03-14 end |
| | | List<OracleParameter> list2 = new List<OracleParameter>(); |
| | | if (spId != null && spId != "") |
| | | { |
| | |
| | | } |
| | | } |
| | | } |
| | | if (productId != null && productId != "" && productId != "0") |
| | | { |
| | | list2.Add(new OracleParameter(":ProductId", (object)productId)); |
| | | stringBuilder.Append(" and Product_Id=:ProductId"); |
| | | } |
| | | stringBuilder.Append(" order by ID DESC"); |
| | | using (OracleDataReader reader = OracleHelper.ExecuteReader("select count(*) as count " + stringBuilder.ToString(), OracleHelper.Connection, list2.ToArray())) |
| | | { |
| | |
| | | |
| | | public bool Update(GwSp o) |
| | | { |
| | | return OracleHelper.ExecuteSql("UPDATE GW_SP SET AP_ID=:APID,COMBINATION_MODE=:COMBINATION_MODE,CLIENT_ID=:CLIENTID,STRATEGY_ID=:STRATEGYID,PASSWORD=:PASSWORD,\r\nCLIENT_IP=:CLIENTIP,CLIENT_PORT=:CLIENTPORT,ACCESS_CODE=:ACCESSCODE,\r\nPRIORITY=:PRIORITY,PRICE=:PRICE,CHARGE_TYPE=:CHARGETYPE,\r\nTHRESHOLD=:THRESHOLD,MAX_CONN_COUNT=:MAXCONNCOUNT,REMARK=:REMARK,\r\nTIME_PERMITTING=:TIME_PERMITTING,AUDITING_MODE=:AUDITINGMODE,\r\nDEDUCT_PERCENT=:DEDUCTPERCENT,\r\nCM_OP_ID=:CM_OP_ID,CT_OP_ID=:CT_OP_ID,UN_OP_ID=:UN_OP_ID,\r\nDEFISHING_TIMEOUT = :DEFISHING_TIMEOUT,DEFISHING_THRESHOLD =:DEFISHING_THRESHOLD,\r\nREJECT_IF_FORBIDDEN =:REJECT_IF_FORBIDDEN,\r\nREFUND_IF_UNDELIVERED =:REFUND_IF_UNDELIVERED,\r\nROUTER_TYPE=:ROUTER_TYPE,STATUS=:STATUS,ACCESSCODE_MODE=:ACCESSCODE_MODE,\r\nEXTNOEXTENSION_MODE=:EXTNOEXTENSION_MODE,DEFISHING_OP_ID =:DEFISHING_OP_ID,\r\nMODIFY_TIME=SYSDATE,FEE_SHORT_LENGTH=:FEE_SHORT_LENGTH,FEE_LONG_LENGTH=:FEE_LONG_LENGTH,\r\nBLACK_MODE=:BLACK_MODE,\r\nDIVERTER_ID=:DIVERTER_ID,\r\nMCPM=:MCPM,\r\nMC_EXPRESSION=:MC_EXPRESSION,\r\nCM_EXT_PARAMS=:CM_EXT_PARAMS,\r\nCT_EXT_PARAMS=:CT_EXT_PARAMS,\r\nCU_EXT_PARAMS=:CU_EXT_PARAMS,\r\nCM_GROUP_ID=:CM_GROUP_ID,\r\nCU_GROUP_ID=:CU_GROUP_ID,\r\nCT_GROUP_ID=:CT_GROUP_ID ,\r\nBALANCE_THRESHOLD = :BALANCE_THRESHOLD,\r\nALARM_MOBILE = :ALARM_MOBILE,\r\nFORCE_SIGN_FLAG = :FORCE_SIGN_FLAG,\r\nFORCE_SIGN = :FORCE_SIGN,\r\nSIGNATURE_MODE=:SIGNATURE_MODE,\r\nSIGNATURES=:SIGNATURES\r\n,VerCodeMode=:VerCodeMode \r\n,ProvincialNetworkMode=:ProvincialNetworkMode \r\n,RESEND_STATUS=:RESEND_STATUS \r\n,RESEND_CM_GROUPID=:RESEND_CM_GROUPID \r\n,RESEND_CU_GROUPID=:RESEND_CU_GROUPID \r\n,RESEND_CT_GROUPID=:RESEND_CT_GROUPID,TRANSFERFLAG=:TRANSFERFLAG WHERE SP_ID=:SPID", OracleHelper.Connection, new OracleParameter(":APID", (object)o.ApID), new OracleParameter(":COMBINATION_MODE", (object)o.CombinationMode), new OracleParameter(":CLIENTID", (object)o.ClientID), new OracleParameter(":STRATEGYID", (object)o.StrategyID), new OracleParameter(":PASSWORD", (object)o.Password), new OracleParameter(":CLIENTIP", (object)o.ClientIp), new OracleParameter(":CLIENTPORT", (object)o.ClientPort), new OracleParameter(":ACCESSCODE", (object)o.AccessCode), new OracleParameter(":PRIORITY", (object)o.Priority), new OracleParameter(":PRICE", (object)o.Price), new OracleParameter(":CHARGETYPE", (object)o.ChargeType), new OracleParameter(":THRESHOLD", (object)o.Threshold), new OracleParameter(":MAXCONNCOUNT", (object)o.MaxConnCount), new OracleParameter(":REMARK", (object)o.Remark), new OracleParameter(":TIME_PERMITTING", (object)o.TimePermitting), new OracleParameter(":AUDITINGMODE", (object)o.AuditingMode), new OracleParameter(":DEDUCTPERCENT", (object)o.DeductPercent), new OracleParameter(":SPID", (object)o.SpID), new OracleParameter(":CM_OP_ID", (object)o.CMOPID), new OracleParameter(":CT_OP_ID", (object)o.CTOPID), new OracleParameter(":UN_OP_ID", (object)o.UNOPID), new OracleParameter(":DEFISHING_TIMEOUT", (object)o.DefishingTimeout), new OracleParameter(":DEFISHING_THRESHOLD", (object)o.DefishingThreshold), new OracleParameter(":REJECT_IF_FORBIDDEN", (object)o.RejectIfForbidden), new OracleParameter(":REFUND_IF_UNDELIVERED", (object)o.RefundIfUndelivered), new OracleParameter(":STATUS", (object)o.Status), new OracleParameter(":ACCESSCODE_MODE", (object)o.AccessCodeMode), new OracleParameter(":EXTNOEXTENSION_MODE", (object)o.ExtnoExtensionMode), new OracleParameter(":DEFISHING_OP_ID", (object)o.DefishingOPID), new OracleParameter(":ROUTER_TYPE", (object)o.RouterType), new OracleParameter(":CM_EXT_PARAMS", (object)o.CMextparms), new OracleParameter(":CT_EXT_PARAMS", (object)o.CTextparams), new OracleParameter(":CU_EXT_PARAMS", (object)o.CUextparams), new OracleParameter(":FEE_SHORT_LENGTH", (object)o.FeeShortLength), new OracleParameter(":FEE_LONG_LENGTH", (object)o.FeeLongLength), new OracleParameter(":BLACK_MODE", (object)o.BlackMode), new OracleParameter(":DIVERTER_ID", (object)o.DiverterID), new OracleParameter(":MCPM", (object)o.MCPM), new OracleParameter(":MC_EXPRESSION", (object)o.McExpression), new OracleParameter(":CM_GROUP_ID", (object)o.CMGroupID), new OracleParameter(":CU_GROUP_ID", (object)o.CUGroupID), new OracleParameter(":CT_GROUP_ID", (object)o.CTGroupID), new OracleParameter(":BALANCE_THRESHOLD", (object)o.BalanceThreshold), new OracleParameter(":ALARM_MOBILE", (object)o.AlarmMobile), new OracleParameter(":FORCE_SIGN_FLAG", (object)o.ForceSignFlag), new OracleParameter(":FORCE_SIGN", (object)o.ForceSign), new OracleParameter(":SIGNATURE_MODE", (object)o.SignatureMode), new OracleParameter(":SIGNATURES", (object)o.Signatures), new OracleParameter(":VerCodeMode", (object)o.VerCodeMode), new OracleParameter(":ProvincialNetworkMode",(object)o.ProvincialNetworkMode),new OracleParameter(":RESEND_STATUS", (object)o.RESEND_STATUS),new OracleParameter(":RESEND_CM_GROUPID", (object)o.RESEND_CM_GROUPID),new OracleParameter(":RESEND_CU_GROUPID", (object)o.RESEND_CU_GROUPID),new OracleParameter(":RESEND_CT_GROUPID",(object)o.RESEND_CT_GROUPID),new OracleParameter(":TRANSFERFLAG",(object)o.TransferFlag)) > 0; |
| | | StringBuilder stringBuilder = new StringBuilder(); |
| | | stringBuilder.Append("UPDATE GW_SP SET "); |
| | | stringBuilder.Append(" AP_ID=:APID, COMBINATION_MODE=:COMBINATION_MODE,CLIENT_ID=:CLIENTID,STRATEGY_ID=:STRATEGYID,PASSWORD=:PASSWORD "); |
| | | stringBuilder.Append(" , CLIENT_IP=:CLIENTIP,CLIENT_PORT=:CLIENTPORT,ACCESS_CODE=:ACCESSCODE "); |
| | | stringBuilder.Append(" , PRIORITY=:PRIORITY,PRICE=:PRICE,CHARGE_TYPE=:CHARGETYPE "); |
| | | stringBuilder.Append(" , THRESHOLD=:THRESHOLD,MAX_CONN_COUNT=:MAXCONNCOUNT,REMARK=:REMARK "); |
| | | stringBuilder.Append(" , TIME_PERMITTING=:TIME_PERMITTING,AUDITING_MODE=:AUDITINGMODE "); |
| | | stringBuilder.Append(" , DEDUCT_PERCENT=:DEDUCTPERCENT "); |
| | | stringBuilder.Append(" , CM_OP_ID=:CM_OP_ID,CT_OP_ID=:CT_OP_ID,UN_OP_ID=:UN_OP_ID "); |
| | | stringBuilder.Append(" , DEFISHING_TIMEOUT = :DEFISHING_TIMEOUT,DEFISHING_THRESHOLD =:DEFISHING_THRESHOLD "); |
| | | stringBuilder.Append(" , REJECT_IF_FORBIDDEN =:REJECT_IF_FORBIDDEN "); |
| | | stringBuilder.Append(" , REFUND_IF_UNDELIVERED =:REFUND_IF_UNDELIVERED "); |
| | | stringBuilder.Append(" , ROUTER_TYPE=:ROUTER_TYPE,STATUS=:STATUS,ACCESSCODE_MODE=:ACCESSCODE_MODE "); |
| | | stringBuilder.Append(" , EXTNOEXTENSION_MODE=:EXTNOEXTENSION_MODE,DEFISHING_OP_ID =:DEFISHING_OP_ID "); |
| | | stringBuilder.Append(" , MODIFY_TIME=SYSDATE,FEE_SHORT_LENGTH=:FEE_SHORT_LENGTH,FEE_LONG_LENGTH=:FEE_LONG_LENGTH "); |
| | | stringBuilder.Append(" , BLACK_MODE=:BLACK_MODE "); |
| | | stringBuilder.Append(" , DIVERTER_ID=:DIVERTER_ID "); |
| | | stringBuilder.Append(" , MCPM=:MCPM "); |
| | | stringBuilder.Append(" , MC_EXPRESSION=:MC_EXPRESSION "); |
| | | stringBuilder.Append(" , CM_EXT_PARAMS=:CM_EXT_PARAMS "); |
| | | stringBuilder.Append(" , CT_EXT_PARAMS=:CT_EXT_PARAMS "); |
| | | stringBuilder.Append(" , CU_EXT_PARAMS=:CU_EXT_PARAMS "); |
| | | stringBuilder.Append(" , CM_GROUP_ID=:CM_GROUP_ID "); |
| | | stringBuilder.Append(" , CU_GROUP_ID=:CU_GROUP_ID "); |
| | | stringBuilder.Append(" , CT_GROUP_ID=:CT_GROUP_ID "); |
| | | stringBuilder.Append(" , BALANCE_THRESHOLD = :BALANCE_THRESHOLD "); |
| | | stringBuilder.Append(" , ALARM_MOBILE = :ALARM_MOBILE "); |
| | | stringBuilder.Append(" , FORCE_SIGN_FLAG = :FORCE_SIGN_FLAG "); |
| | | stringBuilder.Append(" , FORCE_SIGN = :FORCE_SIGN "); |
| | | stringBuilder.Append(" , SIGNATURE_MODE=:SIGNATURE_MODE "); |
| | | stringBuilder.Append(" , SIGNATURES=:SIGNATURESE "); |
| | | stringBuilder.Append(" , VerCodeMode=:VerCodeMode "); |
| | | stringBuilder.Append(" , ProvincialNetworkMode=:ProvincialNetworkMode "); |
| | | stringBuilder.Append(" , RESEND_STATUS =:RESEND_STATUS "); |
| | | stringBuilder.Append(" , RESEND_CM_GROUPID =:RESEND_CM_GROUPID "); |
| | | stringBuilder.Append(" , RESEND_CU_GROUPID =:RESEND_CU_GROUPID "); |
| | | stringBuilder.Append(" , RESEND_CT_GROUPID =:RESEND_CT_GROUPID "); |
| | | stringBuilder.Append(" , RANSFERFLAG =:TRANSFERFLAG "); |
| | | stringBuilder.Append(" WHERE SP_ID=:SPID" ); |
| | | |
| | | |
| | | return OracleHelper.ExecuteSql(stringBuilder.ToString(), OracleHelper.Connection, |
| | | new OracleParameter(":APID", (object)o.ApID), |
| | | new OracleParameter(":COMBINATION_MODE", (object)o.CombinationMode), |
| | | new OracleParameter(":CLIENTID", (object)o.ClientID), |
| | | new OracleParameter(":STRATEGYID", (object)o.StrategyID), |
| | | new OracleParameter(":PASSWORD", (object)o.Password), |
| | | new OracleParameter(":CLIENTIP", (object)o.ClientIp), |
| | | new OracleParameter(":CLIENTPORT", (object)o.ClientPort), |
| | | new OracleParameter(":ACCESSCODE", (object)o.AccessCode), |
| | | new OracleParameter(":PRIORITY", (object)o.Priority), |
| | | new OracleParameter(":PRICE", (object)o.Price), |
| | | new OracleParameter(":CHARGETYPE", (object)o.ChargeType), |
| | | new OracleParameter(":THRESHOLD", (object)o.Threshold), |
| | | new OracleParameter(":MAXCONNCOUNT", (object)o.MaxConnCount), |
| | | new OracleParameter(":REMARK", (object)o.Remark), |
| | | new OracleParameter(":TIME_PERMITTING", (object)o.TimePermitting), |
| | | new OracleParameter(":AUDITINGMODE", (object)o.AuditingMode), |
| | | new OracleParameter(":DEDUCTPERCENT", (object)o.DeductPercent), |
| | | new OracleParameter(":SPID", (object)o.SpID), |
| | | new OracleParameter(":CM_OP_ID", (object)o.CMOPID), |
| | | new OracleParameter(":CT_OP_ID", (object)o.CTOPID), |
| | | new OracleParameter(":UN_OP_ID", (object)o.UNOPID), |
| | | new OracleParameter(":DEFISHING_TIMEOUT", (object)o.DefishingTimeout), |
| | | new OracleParameter(":DEFISHING_THRESHOLD", (object)o.DefishingThreshold), |
| | | new OracleParameter(":REJECT_IF_FORBIDDEN", (object)o.RejectIfForbidden), |
| | | new OracleParameter(":REFUND_IF_UNDELIVERED", (object)o.RefundIfUndelivered), |
| | | new OracleParameter(":STATUS", (object)o.Status), |
| | | new OracleParameter(":ACCESSCODE_MODE", (object)o.AccessCodeMode), |
| | | new OracleParameter(":EXTNOEXTENSION_MODE", (object)o.ExtnoExtensionMode), |
| | | new OracleParameter(":DEFISHING_OP_ID", (object)o.DefishingOPID), |
| | | new OracleParameter(":ROUTER_TYPE", (object)o.RouterType), |
| | | new OracleParameter(":CM_EXT_PARAMS", (object)o.CMextparms), |
| | | new OracleParameter(":CT_EXT_PARAMS", (object)o.CTextparams), |
| | | new OracleParameter(":CU_EXT_PARAMS", (object)o.CUextparams), |
| | | new OracleParameter(":FEE_SHORT_LENGTH", (object)o.FeeShortLength), |
| | | new OracleParameter(":FEE_LONG_LENGTH", (object)o.FeeLongLength), |
| | | new OracleParameter(":BLACK_MODE", (object)o.BlackMode), |
| | | new OracleParameter(":DIVERTER_ID", (object)o.DiverterID), |
| | | new OracleParameter(":MCPM", (object)o.MCPM), |
| | | new OracleParameter(":MC_EXPRESSION", (object)o.McExpression), |
| | | new OracleParameter(":CM_GROUP_ID", (object)o.CMGroupID), |
| | | new OracleParameter(":CU_GROUP_ID", (object)o.CUGroupID), |
| | | new OracleParameter(":CT_GROUP_ID", (object)o.CTGroupID), |
| | | new OracleParameter(":BALANCE_THRESHOLD", (object)o.BalanceThreshold), |
| | | new OracleParameter(":ALARM_MOBILE", (object)o.AlarmMobile), |
| | | new OracleParameter(":FORCE_SIGN_FLAG", (object)o.ForceSignFlag), |
| | | new OracleParameter(":FORCE_SIGN", (object)o.ForceSign), |
| | | new OracleParameter(":SIGNATURE_MODE", (object)o.SignatureMode), |
| | | new OracleParameter(":SIGNATURES", (object)o.Signatures), |
| | | new OracleParameter(":VerCodeMode", (object)o.VerCodeMode), |
| | | new OracleParameter(":ProvincialNetworkMode",(object)o.ProvincialNetworkMode), |
| | | new OracleParameter(":RESEND_STATUS", (object)o.RESEND_STATUS), |
| | | new OracleParameter(":RESEND_CM_GROUPID", (object)o.RESEND_CM_GROUPID), |
| | | new OracleParameter(":RESEND_CU_GROUPID", (object)o.RESEND_CU_GROUPID), |
| | | new OracleParameter(":RESEND_CT_GROUPID",(object)o.RESEND_CT_GROUPID), |
| | | new OracleParameter(":TRANSFERFLAG",(object)o.TransferFlag) |
| | | ) > 0; |
| | | } |
| | | |
| | | public bool UpdateBalance(int Balance, string spid) |
| | | { |
| | | return OracleHelper.ExecuteSql("UPDATE GW_SP SET BALANCE=:BALANCE WHERE SP_ID=:SP_ID", OracleHelper.Connection, new OracleParameter(":BALANCE", (object) Balance), new OracleParameter(":SP_ID", (object) spid)) > 0; |
| | | } |
| | | |
| | | //根据订单更新客户账号余额(余额、条数、赠送条数、基本条数) |
| | | /// <summary> |
| | | /// //add: yangzh by 2022-04-01 |
| | | /// </summary> |
| | | /// <param name="Balance"></param> |
| | | /// <param name="spid"></param> |
| | | /// <returns></returns> |
| | | public bool UpdateBalanceByOrder(int Balance, string spid) |
| | | { |
| | | return OracleHelper.ExecuteSql("UPDATE GW_SP SET BALANCE=:BALANCE WHERE SP_ID=:SP_ID", OracleHelper.Connection, new OracleParameter(":BALANCE", (object) Balance), new OracleParameter(":SP_ID", (object) spid)) > 0; |
| | | } |
| | |
| | | { |
| | | if (string.IsNullOrEmpty(clientID) || string.Equals("0", clientID) || (string.IsNullOrEmpty(spID) || string.Equals("0", spID))) |
| | | return true; |
| | | using (OracleDataReader oracleDataReader = OracleHelper.ExecuteReader("select * from GW_SP where CLIENT_ID=:CLIENT_ID AND SP_ID=:SP_ID", OracleHelper.Connection, new OracleParameter(":CLIENT_ID", (object) clientID), new OracleParameter(":SP_ID", (object) spID))) |
| | | //add: yangzh by 2022-03-14 start |
| | | //using (OracleDataReader oracleDataReader = OracleHelper.ExecuteReader("select * from GW_SP where CLIENT_ID=:CLIENT_ID AND SP_ID=:SP_ID", OracleHelper.Connection, new OracleParameter(":CLIENT_ID", (object) clientID), new OracleParameter(":SP_ID", (object) spID))) |
| | | using (OracleDataReader oracleDataReader = OracleHelper.ExecuteReader("select * from GW_SP where DEL_FLAG=2 AND CLIENT_ID=:CLIENT_ID AND SP_ID=:SP_ID", OracleHelper.Connection, new OracleParameter(":CLIENT_ID", (object)clientID), new OracleParameter(":SP_ID", (object)spID))) |
| | | //add: yangzh by 2022-03-14 end |
| | | { |
| | | if (((DbDataReader) oracleDataReader).Read()) |
| | | return true; |
| | |
| | | { |
| | | if (string.IsNullOrEmpty(spid) || string.Equals("0", spid)) |
| | | return false; |
| | | return OracleHelper.ExecuteSql(string.Format("delete from GW_SP where SP_ID=:SP_ID"), OracleHelper.Connection, new OracleParameter(":SP_ID", (object) spid)) > 0; |
| | | //add: yangzh by 2022-03-14 start |
| | | //return OracleHelper.ExecuteSql(string.Format("delete from GW_SP where SP_ID=:SP_ID"), OracleHelper.Connection, new OracleParameter(":SP_ID", (object) spid)) > 0; |
| | | //逻辑删除 |
| | | return OracleHelper.ExecuteSql(string.Format("UPDATE GW_SP SET DEL_FLAG=2, STATUS=0 where SP_ID=:SP_ID"), OracleHelper.Connection, new OracleParameter(":SP_ID", (object) spid)) > 0; |
| | | //add: yangzh by 2022-03-14 end |
| | | } |
| | | |
| | | private bool ReadInfo(OracleDataReader reader, GwSp o) |
| | |
| | | o.RESEND_CT_GROUPID = oracleReaderWrapper.GetInt("RESEND_CT_GROUPID", 0); |
| | | o.RESEND_STATUS = oracleReaderWrapper.GetInt("RESEND_STATUS", 0); |
| | | o.TransferFlag = oracleReaderWrapper.GetInt("TransferFlag",0); |
| | | |
| | | o.ProductId = oracleReaderWrapper.GetString("PRODUCT_ID", ""); //产品ID |
| | | o.BasicNum = oracleReaderWrapper.GetInt("BASIC_NUM", 0); //基本条数(剩余数) |
| | | o.GivingNum = oracleReaderWrapper.GetInt("GIVING_NUM", 0); //赠送条数(剩余数) |
| | | o.DelFlag = oracleReaderWrapper.GetInt("DelFlag", 0); //删除标志:0-正常;2-逻辑删除 |
| | | return true; |
| | | } |
| | | |
| | |
| | | 2f4ee5a304a64e1617ed59777b36c0169fa3e828 |
| | | 0544a4b948cdc93476250066129b440538ad7759 |
| | |
| | | <Compile Include="Model\GwMobileArea.cs" /> |
| | | <Compile Include="Model\GwMoRoute.cs" /> |
| | | <Compile Include="Model\GwOpGroupItem.cs" /> |
| | | <Compile Include="Model\GwOrderAudit.cs" /> |
| | | <Compile Include="Model\SysFlowNode.cs" /> |
| | | <Compile Include="Model\SysFlow.cs" /> |
| | | <Compile Include="Model\GwOrder.cs" /> |
| | | <Compile Include="Model\GwProduct.cs" /> |
| | | <Compile Include="Model\GwRmResend.cs" /> |
| | | <Compile Include="Model\GwSmsTask.cs" /> |
| | |
| | | |
| | | private int _TransferFlag;//携号转网设置。0启用,1停用 |
| | | |
| | | public string ProductId { get; set; } //产品ID |
| | | public int BasicNum { get; set; } //基本条数 |
| | | public int GivingNum { get; set; } //赠送条数 |
| | | public int DelFlag { get; set; } //删除标志:0-正常;2-逻辑删除 |
| | | |
| | | public int Id |
| | | { |
| | | get { return this._id; } |
| | |
| | | 00bfb7d603acc6cb6309f95b0c5c17d4ff8f2b67 |
| | | 1bacd091eedbdb18186fe1adccdde3305270d490 |
| | |
| | | <label class="col-sm-2 control-label"> |
| | | 父级分类ID</label> |
| | | <div class="col-sm-4 "> |
| | | <select name="parentId" id="parentId"> |
| | | <select name="parentId" id="parentId" class="form-control"> |
| | | <%=GetProductClassOptions("0")%> |
| | | </select> |
| | | </div> |
| | |
| | | private List<GwDiverter> _DiverterList; |
| | | private List<GwAp> _APList; |
| | | private List<GwStrategy> _StrategyList; |
| | | private List<GwProduct> _ProductList; |
| | | |
| | | private List<GwOp> OpList |
| | | { |
| | |
| | | this._APList = gwApDao.LoadInfoList(); |
| | | } |
| | | return this._APList; |
| | | } |
| | | } |
| | | |
| | | private List<GwProduct> ProductList |
| | | { |
| | | get |
| | | { |
| | | if (this._ProductList == null) |
| | | { |
| | | using (GwProductDao gwProductDao = new GwProductDao()) |
| | | { |
| | | GwProduct gwProduct = new GwProduct(); |
| | | gwProduct.Classes = -1; |
| | | gwProduct.IsDefault = -1; |
| | | gwProduct.IsEnable = -1; |
| | | this._ProductList = gwProductDao.getAllList(gwProduct); |
| | | } |
| | | } |
| | | return this._ProductList; |
| | | } |
| | | } |
| | | |
| | |
| | | int int3 = context.GetInt("pageSize", 20); |
| | | int int4 = context.GetInt("pageIndex", 1); |
| | | int int5 = context.GetInt("resendStatus", 1); |
| | | string productId = context.GetString("productId")==null? "": context.GetString("productId"); |
| | | if (!string.IsNullOrEmpty(string3) && int1 <= 0) |
| | | throw new ArgumentException("请选择通道组路由模式"); |
| | | GwSpDao gwSpDao = new GwSpDao(); |
| | |
| | | if (string.IsNullOrEmpty(clientId) && !string.IsNullOrEmpty(string4)) |
| | | clientId = new GwClientDao().GetClientName(string4).ClientID; |
| | | //加载账号列表信息 |
| | | List<GwSp> list = gwSpDao.LoadInfoList(string2, apId, clientId, int1, string3, int2, int4, int3, int5.ToString(),out recordCount); |
| | | List<GwSp> list = gwSpDao.LoadInfoList(string2, apId, clientId, int1, string3, int2, int4, int3, int5.ToString(),out recordCount, productId); |
| | | string str1 = ""; |
| | | if (list != null && list.Count > 0) |
| | | { |
| | |
| | | { |
| | | str1 = str1 + "<tr><td rowspan=\"1\" ><input type=\"checkbox\"name=\"checkbox\" value=\"" + gwSp.SpID + "\"/></td><td rowspan=\"1\">" + gwSp.SpID + "<div class=\"text-muted\">" + this.GetAPName(gwSp.ApID) + "</div><div class=\"text-muted\">" + this.GetClientName(gwSp.ClientID) + "</div>"; |
| | | str1 += "</td>"; |
| | | str1 = str1 + "<td>" + (object)this.GetProductToName(gwSp.ProductId) + "</td>"; |
| | | if (gwSp.RouterType == 1) |
| | | { |
| | | str1 += "<td rowspan=\"1\"><div class=\"btn btn-primary btn-xs\">点路由</div>"; |
| | |
| | | string str2 = "<div class=\"text-muted\">" + gwSp.ChargerTypeText + "</div>"; |
| | | if (gwSp.ChargerTypeText == "后付费") |
| | | str2 = "<div style=\"color:red\">" + gwSp.ChargerTypeText + "</div>"; |
| | | str1 = str1 + (object)"<td><div class=\"text-muted\">" + (object)(gwSp.Balance / (long)gwSp.Price) + "条/" + (object)((double)gwSp.Balance / 1000.0) + "元</div>"; |
| | | //add: yangzh by 2022-03-14 start |
| | | //str1 = str1 + (object)"<td><div class=\"text-muted\">" + (object)(gwSp.Balance / (long)gwSp.Price) + "条/" + (object)((double)gwSp.Balance / 1000.0) + "元</div>"; |
| | | str1 = str1 + (object)"<td><div class=\"text-muted\">" + (object)(gwSp.BasicNum + (long)gwSp.GivingNum) + "条 / " + (object)(gwSp.BasicNum) + "条 / " + (object)(gwSp.GivingNum) + "条</div>"; |
| | | //add: yangzh by 2022-03-14 end |
| | | str1 = str1 + (object)str2 + "<div class=\"text-muted\">" + (object)((double)gwSp.Price / 1000.0) + "元/条</div>"; |
| | | if (context.HasRight("3021")) |
| | | str1 += string.Format(" <a class=\"btn btn-xs btn-success action-modal-charge\" data-id=\"{0}\"><i class=\"fa fa-cny\"></i> 充值</a>", (object)gwSp.SpID); |
| | |
| | | if (context.HasRight("3023")) |
| | | str1 += string.Format(" <a class=\"btn-block btn btn-primary btn-xs action-modal-edit\" data-id=\"{0}\"><i class=\"fa fa-edit\"></i> 编辑</a>", (object)gwSp.SpID); |
| | | str1 += string.Format(" <a class=\"btn-block btn btn-success btn-xs action-create-summary\" data-id=\"{0}\">账号摘要</a>", (object)gwSp.SpID); |
| | | if (context.HasRight("3024")) |
| | | str1 += string.Format(" <a class=\"btn-block btn btn-xs btn-default action-delete\" data-id=\"{0}\"><i class=\"fa fa-trash\"></i> 删除</a>", (object)gwSp.SpID); |
| | | |
| | | //if (context.HasRight("3024")) |
| | | // str1 += string.Format(" <a class=\"btn-block btn btn-xs btn-default action-delete\" data-id=\"{0}\"><i class=\"fa fa-trash\"></i> 删除</a>", (object)gwSp.SpID); |
| | | str1 += "</td>"; |
| | | str1 += "</tr>"; |
| | | } |
| | |
| | | return "【" + gwDiverter.DiverterName + "】导流策略"; |
| | | } |
| | | |
| | | //产品转名称 |
| | | private string GetProductToName(string productId) |
| | | { |
| | | GwProduct gwProduct = this.ProductList.Find((Predicate<GwProduct>)(bean => productId.Equals(bean.Id) )); |
| | | if (gwProduct != null) |
| | | { |
| | | //return string.Format("{0}-{1}", (object)gwAp.ApID, (object)gwAp.ApName);//2021.2.24.wzp变更,后续可以删除 |
| | | return string.Format("{0}", (object)gwProduct.Name); |
| | | } |
| | | return string.Empty; |
| | | } |
| | | |
| | | private JsonPageResult LoadGwSpPageList(PageContext<SysUser> context) |
| | | { |
| | | string string1 = context.GetString("SelectedSpID"); |
| | |
| | | <%@ Page Language="C#" masterpagefile="~/Main.master" AutoEventWireup="true" CodeFile="GwSp.aspx.cs" Inherits="_GwSp" %> |
| | | <asp:Content runat="server" ID="Content1" ContentPlaceHolderID="head"> |
| | | <link href="../static/select2/select2.css" type="text/css" rel="stylesheet" /> |
| | | <script src="../static/select2/select2.js" language="javascript" type="text/javascript"></script> |
| | | |
| | | |
| | | <script type="text/javascript" language="javascript"> |
| | |
| | | var clientName = $("#clientName").val(); |
| | | var chargeType = $("#chargeType").val(); |
| | | var resendStatus = $("#RESEND_STATUS").val(); |
| | | var productId = $("#productId").val(); |
| | | $.ajax({ |
| | | url: "GwSp.ashx", |
| | | type: "POST", |
| | | data: { action: "loadGwSpAccountPageList", spID: spID, apID: apID, opID: opID, routerType: routerType, clientID: clientID, clientName: clientName, chargeType: chargeType, pageIndex: pagination.getPageIndex(), pageSize: pagination.getPageSize(), resendStatus: resendStatus }, |
| | | data: { action: "loadGwSpAccountPageList", spID: spID, apID: apID, opID: opID, routerType: routerType, clientID: clientID, clientName: clientName, chargeType: chargeType, pageIndex: pagination.getPageIndex(), pageSize: pagination.getPageSize(), resendStatus: resendStatus, productId: productId }, |
| | | success: function(result) { |
| | | if (result.OK) { |
| | | $("#gwspTable tbody").html(result.Message.Table); |
| | |
| | | }, "json"); |
| | | }); |
| | | |
| | | $(document).on("click", ".action-modal-charge", function(e) { |
| | | var id = $(this).data("id"); |
| | | $("#chargeDialog .action-charge").data("id", id); |
| | | $("#chargeDialog .title").text(id + "账户充值"); |
| | | $("#chargeDialog").modal("show"); |
| | | //$(document).on("click", ".action-modal-charge", function(e) { |
| | | // var id = $(this).data("id"); |
| | | // $("#chargeDialog .action-charge").data("id", id); |
| | | // $("#chargeDialog .title").text(id + "账户充值"); |
| | | // $("#chargeDialog").modal("show"); |
| | | //}); |
| | | |
| | | //充值 |
| | | $(document).on("click", ".action-modal-charge", function () { |
| | | var spID = $(this).data("id"); //账号ID |
| | | //window.open("gwOrderCreate.aspx?spId=" + spID, 'gwOrderCreate'); |
| | | window.location.href = "gwOrderCreate.aspx?spId=" + spID; |
| | | }); |
| | | |
| | | //编辑账号 |
| | |
| | | loadPageList(); |
| | | |
| | | |
| | | $(document).on("click", ".action-create", function () { |
| | | window.location.href = "gwspupdate.aspx"; |
| | | }); |
| | | |
| | | |
| | | $(document).on("click", ".action-export", function() { |
| | |
| | | } |
| | | |
| | | }); |
| | | |
| | | |
| | | $('#parentId').select2({ |
| | | placeholder: "请选择关联产品", |
| | | allowClear: true |
| | | }); |
| | | </script> |
| | | </asp:Content> |
| | | <asp:Content runat="server" ID="Content2" ContentPlaceHolderID="title">客户账号信息配置</asp:Content> |
| | |
| | | <div class="input-group m-b"> |
| | | <span class="input-group-addon">通道ID</span> |
| | | <input type="text" name="opID" id="opID" class="form-control col-md-2" /> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="form-group"> |
| | | <div class="input-group m-b"> |
| | | <span class="input-group-addon">关联产品ID</span> |
| | | <select name="productId" id="productId" class="form-control"> |
| | | <%=GetProductOptions("")%> |
| | | </select> |
| | | </div> |
| | | </div> |
| | | <div> |
| | |
| | | SP账号/接入协议/归属客户 |
| | | </th> |
| | | <th> |
| | | 关联产品 |
| | | </th> |
| | | <th> |
| | | 通道 |
| | | </th> |
| | | <th> |
| | | 失败补发 |
| | | </th> |
| | | <th> |
| | | <!-- add: yangzh by 2022-03-14 start |
| | | 条数/余额/付费方式/单价/告警 |
| | | --> |
| | | 剩余总条数/基本条数/赠送条数/付费方式/单价/告警 |
| | | </th> |
| | | <th> |
| | | 账号配置属性 |
| | |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <%-- |
| | | <div class="modal inmodal fade" id="chargeDialog" tabindex="-1" role="dialog" aria-hidden="true"> |
| | | <div class="modal-dialog form-horizontal"> |
| | | <div class="modal-content animated "> |
| | |
| | | </div> |
| | | </div> |
| | | </div> |
| | | --%> |
| | | |
| | | <div class="modal inmodal fade" id="chargeDialog" tabindex="-1" role="dialog" aria-hidden="true"> |
| | | <div class="modal-dialog form-horizontal"> |
| | | <div class="modal-content animated "> |
| | | <div class="modal-header"> |
| | | <span class="title">账户充值</span><a class="close" data-dismiss="modal" aria-hidden="true">×</a></div> |
| | | <div class="modal-body"> |
| | | <div class="form-group"> |
| | | <label class="col-sm-2 control-label"> |
| | | 充值金额</label> |
| | | <div class="col-sm-10 input-group m-b"> |
| | | <input type="text" class="form-control" name="amount" id="amount" value="" /> |
| | | <span class="input-group-addon">¥</span> |
| | | </div> |
| | | </div> |
| | | <div class="form-group"> |
| | | <label class="col-sm-2 control-label"> |
| | | 充值金额</label> |
| | | <div class="col-sm-10 input-group m-b"> |
| | | <input type="text" class="form-control" name="amount" id="amount" value="" /> |
| | | <span class="input-group-addon">¥</span> |
| | | </div> |
| | | </div> |
| | | <div class="form-group"> |
| | | <label class="col-sm-2 control-label"> |
| | | 备注</label> |
| | | <div class="col-sm-10 input-group m-b"> |
| | | <input type="text" class="form-control" name="remark" id="remark" value="" /> |
| | | <span class="input-group-addon"></span> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="modal-footer"> |
| | | <button class="btn-default btn" data-dismiss="modal" aria-hidden="true"> |
| | | 取消</button> |
| | | <input class="btn btn-primary action-charge" value="确定充值" type="button" /> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="modal inmodal fade" id="model-abstract" tabindex="-1" role="dialog" aria-hidden="true"> |
| | | <div class="modal-dialog form-horizontal"> |
| | | <div class="modal-content animated "> |
| | |
| | | protected List<GwOp> OpList; |
| | | protected List<GwOpGroup> GroupList; |
| | | protected List<GwAp> ApList; |
| | | protected List<GwProduct> GwProductList; |
| | | |
| | | public IEnumerable<GwDiverter> DiverterList { get; set; } |
| | | |
| | |
| | | this.GroupList = gwOpGroupDao.GetGroupList(); |
| | | using (GwDiverterDao gwDiverterDao = new GwDiverterDao()) |
| | | this.DiverterList = (IEnumerable<GwDiverter>)gwDiverterDao.LoadList(); |
| | | |
| | | //获取启用的产品分类 |
| | | using (GwProductDao gwProductDao = new GwProductDao()) |
| | | { |
| | | GwProduct bean = new GwProduct(); |
| | | bean.Classes = -1; |
| | | bean.IsEnable = -1; |
| | | bean.IsDefault = -1; |
| | | this.GwProductList = gwProductDao.getAllList(bean); |
| | | } |
| | | } |
| | | |
| | | public string GetGroupOptions(int groupID) |
| | |
| | | } |
| | | return stringBuilder.ToString(); |
| | | } |
| | | |
| | | //获取产品信息 |
| | | public string GetProductOptions(string productId) |
| | | { |
| | | StringBuilder stringBuilder = new StringBuilder(); |
| | | if (this.GwProductList.Count == 0) |
| | | return "<option value='0'>无</option>"; |
| | | stringBuilder.AppendFormat("<option value=\"{0}\" >{1}</option>", (object)0, (object)"无"); |
| | | foreach (GwProduct bean in this.GwProductList) |
| | | { |
| | | //停用的产品分类不再显示 |
| | | if (bean.IsEnable == 0) |
| | | { |
| | | continue; |
| | | } |
| | | //类别为产品不再显示 |
| | | if (bean.Classes == 0) |
| | | { |
| | | continue; |
| | | } |
| | | |
| | | if (productId.Equals(bean.Id)) |
| | | stringBuilder.AppendFormat("<option value=\"{0}\" selected>{0}-{1}</option>", (object)bean.Id, (object)bean.Name); |
| | | else |
| | | stringBuilder.AppendFormat("<option value=\"{0}\">{0}-{1}</option>", (object)bean.Id, (object)bean.Name); |
| | | } |
| | | return stringBuilder.ToString(); |
| | | } |
| | | |
| | | } |
| | |
| | | <li><a href="GwProduct.aspx" class="J_menuItem">产品列表</a> </li> |
| | | </ul> |
| | | </li> |
| | | <li> |
| | | <a href="#"> |
| | | <i class="fa fa-rocket"></i> |
| | | <span class="nav-label">订单管理</span> |
| | | <span class="fa arrow"></span> |
| | | </a> |
| | | <ul class="nav nav-second-level"> |
| | | <li><a href="GwOrderComplete.aspx" class="J_menuItem">已完成订单</a> </li> |
| | | <li><a href="GwOrderAudit.aspx" class="J_menuItem">待审核订单</a> </li> |
| | | </ul> |
| | | </li> |
| | | |
| | | <li> |
| | | <a href="#"><i class="fa fa-user-secret"></i><span class="nav-label">客户管理 </span><span class="fa arrow"></span></a> |
| | |
| | | </tr> |
| | | <tr> |
| | | <th> |
| | | 关联产品: |
| | | </th> |
| | | <td colspan="3"> |
| | | |
| | | <select name="ProductId" id="ProductId" disabled="disabled"> |
| | | <%=GetProductOptions(GwSp.ProductId)%> |
| | | </select> |
| | | |
| | | <span class="highlight"> </span> |
| | | |
| | | |
| | | </td> |
| | | </tr> |
| | | <tr> |
| | | <th> |
| | | SPID: |
| | | </th> |
| | | <td> |
| | |
| | | { |
| | | protected List<GwAp> ApList; |
| | | protected List<GwOp> OpList; |
| | | protected List<GwProduct> GwProductList; |
| | | |
| | | |
| | | |
| | |
| | | this.GwSp.CombinationMode = 0; |
| | | } |
| | | } |
| | | |
| | | //获取启用的产品分类 |
| | | using (GwProductDao gwProductDao = new GwProductDao()) |
| | | { |
| | | GwProduct bean = new GwProduct(); |
| | | bean.Classes = 1; |
| | | bean.IsEnable = -1; |
| | | this.GwProductList = gwProductDao.getAllList(bean); |
| | | } |
| | | |
| | | } |
| | | |
| | | public string McCount(int i, string mcExpression) |
| | |
| | | return num; |
| | | } |
| | | } |
| | | |
| | | |
| | | //获取产品信息 |
| | | public string GetProductOptions(string productId) |
| | | { |
| | | StringBuilder stringBuilder = new StringBuilder(); |
| | | if (this.GwProductList.Count == 0) |
| | | return "<option value='0'>无</option>"; |
| | | stringBuilder.AppendFormat("<option value=\"{0}\" >{1}</option>", (object)0, (object)"无"); |
| | | foreach (GwProduct bean in this.GwProductList) |
| | | { |
| | | //停用的产品分类不再显示 |
| | | if (bean.IsEnable == 0) |
| | | { |
| | | continue; |
| | | } |
| | | //类别为产品不再显示 |
| | | if (bean.Classes == 0) |
| | | { |
| | | continue; |
| | | } |
| | | |
| | | if (productId.Equals(bean.Id)) |
| | | stringBuilder.AppendFormat("<option value=\"{0}\" selected>{0}-{1}</option>", (object)bean.Id, (object)bean.Name); |
| | | else |
| | | stringBuilder.AppendFormat("<option value=\"{0}\">{0}-{1}</option>", (object)bean.Id, (object)bean.Name); |
| | | } |
| | | return stringBuilder.ToString(); |
| | | } |
| | | |
| | | } |