Exemplo n.º 1
0
        public void B()
        {
            var result = GetBalanceResult.Parse(
                @"<?xml version='1.0' encoding=""UTF-8"" standalone=""no"" ?>
<!DOCTYPE OPS_envelope SYSTEM ""ops.dtd"">
<OPS_envelope>
	<header>
	<version>0.9</version>
	</header>
	<body>
	<data_block>
	<dt_assoc>
	<item key=""protocol"">XCP</item>
	<item key=""object"">BALANCE</item>
	<item key=""response_text"">Command successful</item>
	<item key=""action"">REPLY</item>
	<item key=""attributes"">
		<dt_assoc>
		<item key=""balance"">5000</item>
		<item key=""hold_balance"">0.00</item>
		</dt_assoc>
	</item>
	<item key=""response_code"">200</item>
	<item key=""is_success"">1</item>
	</dt_assoc>
	</data_block>
	</body>
</OPS_envelope>");

            Assert.Equal(5000m, result.Balance);
            Assert.Equal(0m, result.HoldBalance);
        }
Exemplo n.º 2
0
        public void A()
        {
            var text = @"<?xml version='1.0' encoding='UTF-8' standalone='no'?>
<!DOCTYPE OPS_envelope SYSTEM 'ops.dtd'>
<OPS_envelope>
    <header>
        <version>0.9</version>
    </header>
    <body>
        <data_block>
            <dt_assoc>
                <item key=""protocol"">XCP</item>
                <item key=""action"">REPLY</item>
                <item key=""object"">BALANCE</item>
                <item key=""is_success"">1</item>
                <item key=""response_code"">200</item>
                <item key=""response_text"">Command successful</item>
                <item key=""attributes"">
                    <dt_assoc>
                        <item key=""balance"">8549.18</item>
                        <item key=""hold_balance"">1676.05</item>
                    </dt_assoc>
                </item>
            </dt_assoc>
        </data_block>
    </body>
</OPS_envelope>";


            var x = GetBalanceResult.Parse(text);

            Assert.Equal(8549.18m, x.Balance);
            Assert.Equal(1676.05m, x.HoldBalance);
        }
Exemplo n.º 3
0
        public string GetBalance(string User, string Pass)
        {
            string Result     = "";
            int    SmsBalance = 0;
            int    MmsBalance = 0;

            // 判断参数合法性
            if (User == "")
            {
                Result = _ERR_USERISEMPTY;
            }
            else
            {
                if (Pass == "")
                {
                    Result = _ERR_PASSISEMPTY;
                }
                else
                {
                    // 查询余额
                    try
                    {
                        // 密码加密
                        //SMS.Model.RPCResult<string> enpass = InterfaceProxy.GetSendService().Encrypt(Pass);

                        SMS.Model.RPCResult <SMS.Model.UserBalance> r = InterfaceProxy.GetSendService().GetBalanceByPlainPass(User, Pass);
                        if (r.Success)
                        {
                            Result     = _ERR_SUCCESS;
                            SmsBalance = r.Value.SmsBalance;
                            MmsBalance = r.Value.MmsBalance;
                        }
                        else
                        {
                            Result = r.Message;
                        }
                    }
                    catch (Exception ex)
                    {
                        Result = _ERR_SERVICE;
                    }
                }
            }

            GetBalanceResult ret = new GetBalanceResult();

            ret.Result     = Result;
            ret.SmsBalance = SmsBalance.ToString();
            ret.MmsBalance = MmsBalance.ToString();
            string data = JsonSerialize.Serialize <GetBalanceResult>(ret);

            return(data);
        }
Exemplo n.º 4
0
        private void WriteResponse(string result, int smsbalance, int mmsbalance)
        {
            GetBalanceResult ret = new GetBalanceResult();

            ret.Result     = result;
            ret.SmsBalance = smsbalance.ToString();
            ret.MmsBalance = mmsbalance.ToString();
            string data = JsonSerialize.Serialize <GetBalanceResult>(ret);

            Response.Write(data);
            Response.End();
        }
        /// <summary>
        /// Get total active balance on your wallet. (Default main wallet, and minimum 0 confirmations. Totally basic usage of getbalance method)
        /// </summary>
        /// <returns></returns>
        public GetBalanceResult GetBalance()
        {
            IRestRequest req = new RestRequest(Method.POST);

            req = addMandatoryHeader(req);
            JObject obj = BodySkeleton("getbalance");

            req.AddJsonBody(obj.ToString());
            var response = client.Execute(req);

            ValidateResponse(response);
            GetBalanceResult result = JsonConvert.DeserializeObject <GetBalanceResult>(response.Content);

            return(result);
        }
Exemplo n.º 6
0
        public ActionResult GetBalance(string User, string Pass)
        {
            string _Result     = "";
            int    _SmsBalance = 0;

            if (string.IsNullOrWhiteSpace(User))
            {
                _Result = _ERR_USERISEMPTY;
            }

            else if (string.IsNullOrWhiteSpace(Pass))
            {
                _Result = _ERR_PASSISEMPTY;
            }
            // 查询余额
            try
            {
                SMS.Model.RPCResult <SMS.Model.UserBalance> r = InterfaceProxy.GetSendService().GetBalanceByPlainPass(User, Pass);
                if (r.Success)
                {
                    _Result     = _ERR_SUCCESS;
                    _SmsBalance = r.Value.SmsBalance;
                }
                else
                {
                    _Result = r.Message;
                }
            }
            catch (Exception ex)
            {
                _Result = _ERR_SERVICE;
            }
            GetBalanceResult ret = new GetBalanceResult();

            ret.Result     = _Result;
            ret.SmsBalance = _SmsBalance.ToString();
            string data = JsonSerialize.Serialize <GetBalanceResult>(ret);

            return(Content(data));
        }
        /// <summary>
        /// Get total active balance for specified minimum confirmations.
        /// </summary>
        /// <param name="minimumConfirmations">
        /// Integer number of minimum confirmations of transactions you want to see.
        /// </param>
        /// <param name="dummy">
        /// vermiform appendix. Must be *, because? ( ͡° ͜ʖ ͡°)
        /// </param>
        /// <param name="includeWatchonlyAddresses">
        /// Set true if you are stalker! Kidding, specify if balance should include watchonly addresses.
        /// </param>
        /// <returns></returns>
        public GetBalanceResult GetBalance(int minimumConfirmations, string dummy = "*", bool includeWatchonlyAddresses = false)
        {
            IRestRequest req = new RestRequest(Method.POST);

            req = addMandatoryHeader(req);
            JArray parameter = new JArray();

            parameter.Add(dummy);
            parameter.Add(minimumConfirmations);
            parameter.Add(includeWatchonlyAddresses);
            JObject obj = BodySkeleton("getbalance", parameter);



            req.AddJsonBody(obj.ToString());
            var response = client.Execute(req);

            ValidateResponse(response);
            GetBalanceResult result = JsonConvert.DeserializeObject <GetBalanceResult>(response.Content);

            return(result);
        }