Ejemplo n.º 1
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="name">通过会员名来查找数据库中的表</param>
        /// <returns>ArrayList对象 里面放置的是 SendAddress类型对象</returns>
        public ArrayList getSenderAddr(string name)
        {
            ArrayList arr = new ArrayList();

            SqlConnection  conn = DBConn.getConn();
            string         sql  = "select * from tb_senderAddress where name='" + name + "' order by is_default desc,last_use_time desc";
            SqlDataAdapter sda  = new SqlDataAdapter(sql, conn);
            DataTable      dt   = new DataTable();

            sda.Fill(dt);

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

                arr.Add(sendAddr);
            }

            return(arr);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// 通过地址编号获取地址对象
        /// </summary>
        /// <param name="addr_id"></param>
        /// <returns></returns>
        public SendAddress getSendAddress(int addr_id)
        {
            SendAddress send = new SendAddress();

            string sql = "select * from tb_senderAddress where addr_id=" + addr_id;

            DataTable dt = new DBOperateCommon().excuteQuery(sql);

            if (dt.Rows.Count > 0)
            {
                send.Addr_id      = Convert.ToInt32(dt.Rows[0][0].ToString());
                send.Name         = dt.Rows[0][1].ToString();
                send.Sender_name  = dt.Rows[0][2].ToString();
                send.Country      = dt.Rows[0][3].ToString();
                send.Province     = dt.Rows[0][4].ToString();
                send.City         = dt.Rows[0][5].ToString();
                send.Area         = dt.Rows[0][6].ToString();
                send.Street_info  = dt.Rows[0][7].ToString();
                send.Company_name = dt.Rows[0][8].ToString();
                send.Postcode     = dt.Rows[0][9].ToString();
                send.E_mail       = dt.Rows[0][10].ToString();
                send.Phone        = dt.Rows[0][11].ToString();
                send.Is_default   = dt.Rows[0][12].ToString();

                send.Time = Convert.ToDateTime(dt.Rows[0][13].ToString());
            }

            return(send);
        }
Ejemplo n.º 3
0
        /// <summary>
        /// 修改发件人地址信息
        /// </summary>
        /// <param name="send"> 发件人地址对象</param>
        /// <returns>修改成功返回 true , 否则返回 false</returns>
        public bool updateSenderAddress(SendAddress send)
        {
            bool          flag = false;
            SqlConnection conn = DBConn.getConn();
            string        sql  = "update tb_senderAddress set sender_name='" + send.Sender_name + "',country='" + send.Country + "',province='" + send.Province
                                 + "',city='" + send.City + "',area='" + send.Area + "',street_info='" + send.Street_info + "',company_name='" + send.Company_name
                                 + "',postcode='" + send.Postcode + "',phone='" + send.Phone + "',e_mail='" + send.E_mail + "',is_default='" + send.Is_default + "',last_use_time='" + send.Time.ToString() + "' where addr_id=" + send.Addr_id;

            conn.Open();

            if (send.Is_default == "1")
            {
                string sql_update = "update tb_senderAddress set is_default='0' where name='" + send.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);
        }
Ejemplo n.º 4
0
        /// <summary>
        /// 相数据库中添加发件人地址信息
        /// </summary>
        /// <param name="send">发件人地址信息对象</param>
        /// <returns>如果添加成功侧返回 true,否则返回 false</returns>
        public bool addSendAddress(SendAddress send)
        {
            bool          flag = false;
            SqlConnection conn = DBConn.getConn();
            string        sql  = "insert into tb_senderAddress values('" + send.Name + "','" + send.Sender_name + "','" + send.Country + "','" +
                                 send.Province + "','" + send.City + "','" + send.Area + "','" + send.Street_info + "','" + send.Company_name + "','" +
                                 send.Postcode + "','" + send.Phone + "','" + send.E_mail + "','" + send.Is_default + "','" + send.Time + "')";

            conn.Open();

            if (send.Is_default == "1")
            {
                string sql_update = "update tb_senderAddress set is_default='0' where name='" + send.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);
        }
Ejemplo n.º 5
0
        /// <summary>
        /// 通过发件地址编号获取发件地址
        /// </summary>
        /// <param name="addr_id">发件地址编号</param>
        /// <returns></returns>
        public string getAddressInfo(int addr_id)
        {
            string address = "";

            SendAddress send = getSendAddress(addr_id);

            address  = send.Country + send.Province + send.City + send.Area + send.Street_info + send.Company_name;
            address += send.Postcode + "," + send.Phone + "(" + send.Sender_name + "发)";

            return(address);
        }
Ejemplo n.º 6
0
 public SendAddressIdParameter(SendAddress sendAddress)
 {
     this.Initialize(sendAddress.Identity);
 }
Ejemplo n.º 7
0
        private void Send(object obj)
        {
            if (NodeCount == 0)
            {
                MessageBox.Show("You are connected to 0 nodes. Wait until you are connected to at least one node before sending.", "Wallet", MessageBoxButton.OK, MessageBoxImage.Information);
                return;
            }

            if (!Regex.IsMatch(SendAddress, "^0x[a-fA-F0-9]{40}$"))
            {
                MessageBox.Show("Send to Address is not a valid address.", "WTC Wallet", MessageBoxButton.OK,
                                MessageBoxImage.Error);
                return;
            }

            if (SendAmount == null)
            {
                MessageBox.Show("You must enter an amount to send.", "WTC Wallet", MessageBoxButton.OK,
                                MessageBoxImage.Error);
                return;
            }

            if (SendAmount < 0)
            {
                MessageBox.Show("Negative amounts can not be sent.", "WTC Wallet", MessageBoxButton.OK,
                                MessageBoxImage.Error);
                return;
            }

            EnterPassphraseWindow window = new EnterPassphraseWindow();

            window.Owner = Application.Current.MainWindow;
            window.WindowStartupLocation = WindowStartupLocation.CenterOwner;
            EnterPassphraseVM vm = new EnterPassphraseVM(() => window.Close(), PublicKey);

            window.DataContext = vm;
            window.ShowDialog();

            if (!vm.Confirmed)
            {
                return;
            }


            try
            {
                var unlockAccountResult =
                    Task.Run(() => AppVM.Geth.Personal.UnlockAccount.SendRequestAsync(PublicKey, vm.GetPassphrase(), 60)).Result;

                if (!unlockAccountResult)
                {
                    MessageBox.Show("Failed to unlock your wallet.", "WTC Wallet", MessageBoxButton.OK,
                                    MessageBoxImage.Error);
                    return;
                }



                var amount = SendAmount.Value * (decimal)Math.Pow(10, 18);

                var id = Task.Run(() => AppVM.Geth.Eth.TransactionManager.SendTransactionAsync(PublicKey, SendAddress, new HexBigInteger(new BigInteger(amount)))).Result;



                Transactions.Insert(0, new TransactionVM {
                    Hash = id, Amount = SendAmount.ToString(), To = SendAddress, BlockNumber = "Pending", IsPending = true, Type = "Sent WTC", From = PublicKey, Date = DateTime.Now
                });

                if (SendAddress.ToUpper() == PublicKey.ToUpper())
                {
                    Transactions.Insert(0, new TransactionVM {
                        Hash = id, Amount = SendAmount.ToString(), To = SendAddress, BlockNumber = "Pending", IsPending = true, Type = "Received WTC", From = PublicKey, Date = DateTime.Now
                    });
                }

                Task.Run(() => AppVM.Geth.Personal.LockAccount.SendRequestAsync(PublicKey)).Wait();

                ShowSendSuccess = true;
                SendAmount      = null;
                SendAddress     = String.Empty;

                Task.Run(() =>
                {
                    Thread.Sleep(6000);
                    ShowSendSuccess = false;
                });
            }
            catch (Exception ex)
            {
                MessageBox.Show("Failed to send the transaction: " + ex.GetBaseException().Message, "WTC Wallet", MessageBoxButton.OK,
                                MessageBoxImage.Error);
            }
        }