/// <summary>
        /// 通过地址编号获取地址信息
        /// </summary>
        /// <param name="addr_id">地址编号</param>
        /// <returns></returns>
        public ReceiveAddress getReceiveAddress(int addr_id)
        {
            ReceiveAddress recAddr = new ReceiveAddress();

            SqlConnection  conn = DBConn.getConn();
            string         sql  = "select * from tb_receiverAddress where addr_id=" + addr_id;
            SqlDataAdapter sda  = new SqlDataAdapter(sql, conn);
            DataTable      dt   = new DataTable();

            sda.Fill(dt);

            //一个会员可能多个收件人地址信息
            if (dt.Rows.Count > 0)
            {
                recAddr.Addr_id       = Convert.ToInt32(dt.Rows[0][0].ToString());
                recAddr.Name          = dt.Rows[0][1].ToString();
                recAddr.Receiver_name = dt.Rows[0][2].ToString();
                recAddr.Country       = dt.Rows[0][3].ToString();
                recAddr.Province      = dt.Rows[0][4].ToString();
                recAddr.City          = dt.Rows[0][5].ToString();
                recAddr.Area          = dt.Rows[0][6].ToString();
                recAddr.Street_info   = dt.Rows[0][7].ToString();
                recAddr.Company_name  = dt.Rows[0][8].ToString();
                recAddr.Postcode      = dt.Rows[0][9].ToString();
                recAddr.E_mail        = dt.Rows[0][10].ToString();
                recAddr.Phone         = dt.Rows[0][11].ToString();
                recAddr.Is_default    = dt.Rows[0][12].ToString();

                recAddr.Time = Convert.ToDateTime(dt.Rows[0][13].ToString());
            }
            return(recAddr);
        }
        /// <summary>
        /// 向数据库中添加收件人地址
        /// </summary>
        /// <param name="receiver">收件人地址对象</param>
        /// <returns>添加成功返回true,否则返回false</returns>
        public bool addReceiverAddress(ReceiveAddress receive)
        {
            bool          flag = false;
            SqlConnection conn = DBConn.getConn();

            string sql_insert = "insert into tb_receiverAddress values('" + receive.Name + "','" + receive.Receiver_name + "','" + receive.Country + "','" +
                                receive.Province + "','" + receive.City + "','" + receive.Area + "','" + receive.Street_info + "','" + receive.Company_name + "','" +
                                receive.Postcode + "','" + receive.Phone + "','" + receive.E_mail + "','" + receive.Is_default + "','" + receive.Time + "')";

            conn.Open();

            if (receive.Is_default == "1")
            {
                string sql_update = "update tb_receiverAddress set is_default='0' where name='" + receive.Name + "'";
                //跟新默认地址
                SqlCommand cmd1 = new SqlCommand(sql_update, conn);
                cmd1.ExecuteNonQuery();
            }


            SqlCommand cmd = new SqlCommand(sql_insert, conn);

            if (cmd.ExecuteNonQuery() > 0)
            {
                flag = true;
            }
            conn.Close();
            return(flag);
        }
        /// <summary>
        /// 修改收件人地址信息
        /// </summary>
        /// <param name="receiver">收件人地址对象</param>
        /// <returns>修改成功返回true , 否则返回false</returns>
        public bool updateReceiveAddress(int addr_id, ReceiveAddress receive)
        {
            bool          flag = false;
            SqlConnection conn = DBConn.getConn();
            string        sql  = "update tb_receiverAddress set receiver_name='" + receive.Receiver_name + "',country='" + receive.Country + "',province='" + receive.Province
                                 + "',city='" + receive.City + "',area='" + receive.Area + "',street_info='" + receive.Street_info + "',company_name='" + receive.Company_name
                                 + "',postcode='" + receive.Postcode + "',phone='" + receive.Phone + "',e_mail='" + receive.E_mail + "',is_default='" + receive.Is_default + "',last_use_time='" + receive.Time + "' where addr_id=" + addr_id;

            conn.Open();

            if (receive.Is_default == "1")
            {
                string sql_update = "update tb_receiverAddress set is_default='0' where name='" + receive.Name + "'";
                //跟新默认地址
                SqlCommand cmd1 = new SqlCommand(sql_update, conn);
                cmd1.ExecuteNonQuery();
            }

            SqlCommand cmd = new SqlCommand(sql, conn);

            if (cmd.ExecuteNonQuery() > 0)
            {
                flag = true;
            }
            conn.Close();
            return(flag);
        }
        public string ToJsonHex()
        {
            var s = "['{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}','{8}']";

            return(string.Format(s, Nonce.ToHex(),
                                 GasPrice.ToHex(), GasLimit.ToHex(), ReceiveAddress.ToHex(), Value.ToHex(), ToHex(Data),
                                 Signature.V.ToHex(),
                                 Signature.R.ToHex(),
                                 Signature.S.ToHex()));
        }
Beispiel #5
0
        public static void TestGenerateReceiveAddress()
        {
            Console.Write("Testing GetReceiveAddress w/ Valid Key: ");
            ReceiveAddress addr = API.GenerateReceiveAddress(GOOD_KEY);

            ASSERT(addr.IsValid, addr);
            Console.Write("Testing GetReceiveAddress w/ Invalid Key: ");
            addr = API.GetReceiveAddress(BAD_KEY);
            ASSERT(!addr.IsValid, addr);
        }
        public string ToJsonHex()
        {
            var data =
                $"['{Nonce.ToHex()}','{GasPrice.ToHex()}','{GasLimit.ToHex()}','{ReceiveAddress.ToHex()}','{Value.ToHex()}','{ToHex(Data)}','{ChainId.ToHex()}','{RHash.ToHex()}','{SHash.ToHex()}'";

            if (Signature != null)
            {
                data = data + $", '{Signature.V.ToHex()}', '{Signature.R.ToHex()}', '{Signature.S.ToHex()}'";
            }
            return(data + "]");
        }
        /// <summary>
        /// 通过收件地址编号获得收件地址信息
        /// </summary>
        /// <param name="addr_id">收件地址编号</param>
        /// <returns></returns>
        public string getAddressInfo(int addr_id)
        {
            string address = "";

            ReceiveAddress receive = getReceiveAddress(addr_id);

            address  = receive.Country + receive.Province + receive.City + receive.Area + receive.Street_info + receive.Company_name;
            address += receive.Postcode + "," + receive.Phone + "(" + receive.Receiver_name + "收)";

            return(address);
        }
Beispiel #8
0
        static void Main(string[] args)
        {
            bool b = true;

            while (b)
            {
                Console.WriteLine("开始处理数据");
                DateTime       pubDate = ParseHelper.ToDatetime(ConfigurationManager.AppSettings["StartTime"]);
                ReceiveAddress ra      = new ReceiveAddress();
                var            kk      = ra.GetNoReceiveAddress(pubDate);
                if (kk.Rows.Count == 0)
                {
                    Console.WriteLine("没有需要处理的数据");
                    break;
                }
                else
                {
                    Console.WriteLine("取到" + kk.Rows.Count + "条数据");
                    StringBuilder upStringBuilder = new StringBuilder();
                    int           noaddres        = 0;
                    for (int i = 0; i < kk.Rows.Count; i++)
                    {
                        DataRow dr = kk.Rows[i];
                        Console.WriteLine("订单Id:" + dr[0].ToString() + "    经度:" + dr[1].ToString() + "   纬度:" + dr[2].ToString());
                        string addres = ra.GetAddress(dr[1].ToString(), dr[2].ToString());
                        Console.WriteLine("订单Id:" + dr[0].ToString() + "    地址:" + addres);
                        if (!string.IsNullOrWhiteSpace(addres) && !addres.StartsWith("0"))
                        {
                            Console.WriteLine("更新地址" + "订单Id:" + dr[0].ToString());
                            ra.CreateAddressSql(ParseHelper.ToInt(dr[0]), addres);
                        }
                        else
                        {
                            Console.WriteLine("无地址不需要更新");
                            noaddres++;
                        }
                    }

                    if (noaddres == kk.Rows.Count)
                    {
                        Console.WriteLine("剩余数据无法获取地址");
                        b = false;
                    }
                }
            }
            Console.WriteLine("完成所有");
            Console.Read();
        }
        /// <summary>
        /// 通过会员名 name 获取该会员填写过的所有收件人地址
        /// </summary>
        /// <param name="name">通过会员名来查找数据库中的表</param>
        /// <returns>ArrayList对象 里面放置的是 ReceiverAddress类型对象</returns>
        public ArrayList getReceiveAddr(string name)
        {
            ArrayList arr = new ArrayList();

            SqlConnection  conn = DBConn.getConn();
            string         sql  = "select * from tb_receiverAddress where name='" + name + "'";
            SqlDataAdapter sda  = new SqlDataAdapter(sql, conn);
            DataTable      dt   = new DataTable();

            sda.Fill(dt);

            //一个会员可能多个收件人地址信息
            for (int i = 0; i < dt.Rows.Count; i++)
            {
                ReceiveAddress recAddr = new ReceiveAddress();
                recAddr.Addr_id       = Convert.ToInt32(dt.Rows[i][0].ToString());
                recAddr.Name          = dt.Rows[i][1].ToString();
                recAddr.Receiver_name = dt.Rows[i][2].ToString();
                recAddr.Country       = dt.Rows[i][3].ToString();
                recAddr.Province      = dt.Rows[i][4].ToString();
                recAddr.City          = dt.Rows[i][5].ToString();
                recAddr.Area          = dt.Rows[i][6].ToString();
                recAddr.Street_info   = dt.Rows[i][7].ToString();
                recAddr.Company_name  = dt.Rows[i][8].ToString();
                recAddr.Postcode      = dt.Rows[i][9].ToString();
                recAddr.E_mail        = dt.Rows[i][10].ToString();
                recAddr.Phone         = dt.Rows[i][11].ToString();
                recAddr.Is_default    = dt.Rows[i][12].ToString();

                recAddr.Time = Convert.ToDateTime(dt.Rows[i][13].ToString());

                arr.Add(recAddr);
            }

            return(arr);
        }
Beispiel #10
0
        public string ToJsonHex()
        {
            var data =
                "['" + Nonce.ToHex() + "','" + GasPrice.ToHex() + "','" + GasLimit.ToHex() + "','" + ReceiveAddress.ToHex() + "','" + Value.ToHex() + "','" + ToHex(Data) + "','" + ChainId.ToHex() + "','" + RHash.ToHex() + "','" + SHash.ToHex() + "'";

            if (Signature != null)
            {
                data = data + ", '" + Signature.V.ToHex() + "', '" + Signature.R.ToHex() + "', '" + Signature.S.ToHex() + "'";
            }
            return(data + "]");
        }
Beispiel #11
0
        public static void TestConductTransactions(
            APIKey key1,
            APIKey key2
            )
        {
            Console.Write("Testing SendMoney w/ Valid Key: ");
            ReceiveAddress addr1 = API.GetReceiveAddress(key1);
            ReceiveAddress addr2 = API.GetReceiveAddress(key2);

            SendMoneyTransaction sendMoney = new SendMoneyTransaction()
            {
                ToAddr = addr1.Address,
                Amount = new Amount()
                {
                    AmountValue = 0.01m, Currency = "BTC"
                },
                Notes = "Testing send_money"
            };
            Transaction sendMoneyTransaction = API.SendMoney(
                sendMoney,
                key2
                );

            ASSERT(sendMoneyTransaction.IsValid, sendMoneyTransaction);

            if (!sendMoneyTransaction.IsValid)
            {
                return;
            }

            User user1 = API.GetUser(key1);

            if (!user1.IsValid)
            {
                return;
            }

            Console.Write("Testing RequestMoney w/ Valid Key: ");
            RequestMoneyTransaction requestMoney = new RequestMoneyTransaction()
            {
                FromAddr = user1.Email,
                Amount   = new Amount()
                {
                    AmountValue = 0.01m, Currency = "BTC"
                },
                Notes = "Testing request_money"
            };
            Transaction requestMoneyTransaction = API.RequestMoney(
                requestMoney,
                key2
                );

            ASSERT(requestMoneyTransaction.IsValid, requestMoneyTransaction);

            if (!requestMoneyTransaction.IsValid)
            {
                return;
            }

            Console.Write("Testing CancelRequest w/ Valid Key: ");
            CoinbaseResponse response = API.CancelRequest(requestMoneyTransaction.ID, key1);

            ASSERT(response.IsValid, response);

            requestMoneyTransaction = API.RequestMoney(
                requestMoney,
                key2
                );
            if (!requestMoneyTransaction.IsValid)
            {
                return;
            }

            response = API.ResendRequest(requestMoneyTransaction.ID, key2);
            Console.Write("Testing ResendRequest w/ Valid Key: ");
            ASSERT(response.IsValid, response);

            Console.Write("Testing CompleteRequest w/ Valid Key: ");
            response = API.CompleteRequest(requestMoneyTransaction.ID, key1);
            ASSERT(response.IsValid, response);
        }