public bool InsertTransactionCoin(TransactionCoinBO transaction)
 {
     try
     {
         return(Proxy.InsertTransactionCoin(transaction));
     }
     catch
     {
         return(false);
     }
 }
        public string DetailWallet(string strTransactionId)
        {
            string            json = "";
            TransactionCoinBO objTransactionCoinBO = new TransactionCoinBO();

            objTransactionCoinBO = transactionWallet.transactionCoinByID(strTransactionId.Trim());
            if (objTransactionCoinBO != null)
            {
                json = JsonConvert.SerializeObject(objTransactionCoinBO);
            }
            return(json.ToString());
        }
        public IEnumerable <TransactionCoinBO> ListTransactionWalletBySearch(int memberID, DateTime fromDate, DateTime toDate, int start, int end)
        {
            Sqlhelper helper = new Sqlhelper("", "ConnectionString");

            try
            {
                List <TransactionCoinBO> lstTransaction = new List <TransactionCoinBO>();
                string         sql = "SP_ListTransactionWalletBySearchFrontEnd";
                SqlParameter[] pa  = new SqlParameter[5];
                pa[0] = new SqlParameter("@memberID", memberID);
                pa[1] = new SqlParameter("@start", start);
                pa[2] = new SqlParameter("@end", end);
                pa[3] = new SqlParameter("@fromDate", fromDate);
                pa[4] = new SqlParameter("@toDate", toDate);
                SqlCommand    command = helper.GetCommand(sql, pa, true);
                SqlDataReader reader  = command.ExecuteReader();
                while (reader.Read())
                {
                    TransactionCoinBO transaction = new TransactionCoinBO
                    {
                        CreateDate         = DateTime.Parse(reader["CreateDate"].ToString()),
                        ExpireDate         = DateTime.Parse(reader["ExpireDate"].ToString()),
                        MemberID           = int.Parse(reader["MemberID"].ToString()),
                        Note               = reader["Note"].ToString(),
                        QRCode             = reader["QRCode"].ToString(),
                        Status             = int.Parse(reader["Status"].ToString()),
                        TransactionBitcoin = reader["TransactionBitcoin"].ToString(),
                        TransactionID      = reader["TransactionID"].ToString(),
                        TypeTransactionID  = int.Parse(reader["TypeTransactionID"].ToString()),
                        ValueTransaction   = double.Parse(reader["ValueTransaction"].ToString()),
                        WalletAddressID    = reader["WalletAddressID"].ToString(),
                        WalletID           = reader["WalletID"].ToString(),
                        TotalRecord        = int.Parse(reader["TOTALROWS"].ToString())
                    };
                    lstTransaction.Add(transaction);
                }
                return(lstTransaction);
            }
            catch (Exception ex)
            {
                Utilitys.WriteLog(fileLog, ex.Message);
                return(null);
            }
            finally
            {
                helper.destroy();
            }
        }
        public TransactionCoinBO transactionCoinByID(string strTransactionID)
        {
            Sqlhelper helper = new Sqlhelper("", "ConnectionString");

            try
            {
                string         sql = "SP_TransactionWalletByID";
                SqlParameter[] pa  = new SqlParameter[1];
                pa[0] = new SqlParameter("@transactionid", strTransactionID);
                SqlCommand        command = helper.GetCommand(sql, pa, true);
                SqlDataReader     reader  = command.ExecuteReader();
                TransactionCoinBO objTransactionCoinBO = new TransactionCoinBO();
                if (reader.Read())
                {
                    objTransactionCoinBO = new TransactionCoinBO
                    {
                        CreateDate         = DateTime.Parse(reader["CreateDate"].ToString()),
                        ExpireDate         = DateTime.Parse(reader["ExpireDate"].ToString()),
                        MemberID           = int.Parse(reader["MemberID"].ToString()),
                        Note               = reader["Note"].ToString(),
                        QRCode             = reader["QRCode"].ToString(),
                        Status             = int.Parse(reader["Status"].ToString()),
                        TransactionBitcoin = reader["TransactionBitcoin"].ToString(),
                        TransactionID      = reader["TransactionID"].ToString(),
                        TypeTransactionID  = int.Parse(reader["TypeTransactionID"].ToString()),
                        ValueTransaction   = double.Parse(reader["ValueTransaction"].ToString()),
                        WalletAddressID    = reader["WalletAddressID"].ToString(),
                        WalletID           = reader["WalletID"].ToString()
                                             //TotalRecord = int.Parse(reader["TOTALROWS"].ToString())
                    };
                }
                return(objTransactionCoinBO);
            }
            catch (Exception ex)
            {
                Utilitys.WriteLog(fileLog, ex.Message);
                return(null);
            }
            finally
            {
                helper.destroy();
            }
        }
        public bool InsertTransactionCoin(TransactionCoinBO transaction)
        {
            Sqlhelper helper = new Sqlhelper("", "ConnectionString");

            try
            {
                bool           rs  = false;
                string         sql = "SP_InsertTransactionCoinFE";
                SqlParameter[] pa  = new SqlParameter[12];
                pa[0]  = new SqlParameter("@TransactionID", transaction.TransactionID);
                pa[1]  = new SqlParameter("@WalletAddressID", transaction.WalletAddressID);
                pa[2]  = new SqlParameter("@MemberID", transaction.MemberID);
                pa[3]  = new SqlParameter("@ValueTransaction", transaction.ValueTransaction);
                pa[4]  = new SqlParameter("@QRCode", transaction.QRCode);
                pa[5]  = new SqlParameter("@CreateDate", transaction.CreateDate);
                pa[6]  = new SqlParameter("@ExpireDate", transaction.ExpireDate);
                pa[7]  = new SqlParameter("@Status", transaction.Status);
                pa[8]  = new SqlParameter("@Note", transaction.Note);
                pa[9]  = new SqlParameter("@WalletID", transaction.WalletID);
                pa[10] = new SqlParameter("@TypeTransactionID", transaction.TypeTransactionID);
                pa[11] = new SqlParameter("@TransactionBitcoin", transaction.TransactionBitcoin);
                SqlCommand command = helper.GetCommand(sql, pa, true);
                int        row     = command.ExecuteNonQuery();
                if (row > 0)
                {
                    rs = true;
                }
                return(rs);
            }
            catch (Exception ex)
            {
                Utilitys.WriteLog(fileLog, ex.Message);
                return(false);
            }
            finally
            {
                helper.destroy();
            }
        }
        public void LoadPoint()
        {
            try
            {
                string transactionCode = "";
                string strClientExtKey = masterKey;
                RandomUtils.Random = new UnsecureRandom();
                ExtKey masterPubKey        = new BitcoinExtKey(strClientExtKey, Network.TestNet);
                MemberInformationBO member = (MemberInformationBO)Session["MemberInfomation"];
                bool rs = true;
                if (member != null)
                {
                    ExtKey pubkey = masterPubKey.Derive(member.IndexWallet, hardened: true);
                    var    clientBitPrivateKey = masterPubKey.PrivateKey;
                    var    destination         = clientBitPrivateKey.PubKey.GetAddress(Network.TestNet);
                    //check valid amount
                    var userBitPK = pubkey.PrivateKey.GetBitcoinSecret(Network.TestNet);
                    List <TransactionReceivedCoins> LstUserCoin = GetListTransaction(userBitPK);
                    if (LstUserCoin != null && LstUserCoin.Count > 0)
                    {
                        foreach (TransactionReceivedCoins item in LstUserCoin)
                        {
                            if (item.Confirm >= 0)
                            {
                                bool boolCheckExistTransactionID = ObjITransactionWalletService.CheckExistTransactionBitcoin(item.TransactionID.ToString());
                                if (!boolCheckExistTransactionID)
                                {
                                    if (item.ListCoins != null && item.ListCoins.Count > 0)
                                    {
                                        foreach (var itemListCoins in item.ListCoins)
                                        {
                                            ////Change bitcoin to point
                                            //float pointChange = ((float.Parse(strPoint)) * CoinValue) / PointValue;
                                            string strCode = Utility.GenCode();
                                            string tick    = DateTime.Now.Ticks.ToString();
                                            transactionCode = Utility.MaHoaMD5(strCode + tick);
                                            TransactionCoinBO objTransactionCoinBO = new TransactionCoinBO
                                            {
                                                CreateDate         = DateTime.Now,
                                                ExpireDate         = DateTime.Now.AddMinutes(double.Parse(TimeExpired)),
                                                MemberID           = member.MemberID,
                                                Note               = "Received Coins",
                                                QRCode             = "",
                                                Status             = 0,
                                                TransactionBitcoin = item.TransactionID.ToString(),
                                                TransactionID      = transactionCode,
                                                TypeTransactionID  = 0,
                                                ValueTransaction   = float.Parse(itemListCoins.Amount.ToString()),
                                                WalletAddressID    = userBitPK.GetAddress().ToString(),
                                                WalletID           = destination.ToString()
                                            };
                                            //objTransactionCoinBO.WalletID = destination.ToString();
                                            bool rs_ = ObjITransactionWalletService.InsertTransactionCoin(objTransactionCoinBO);
                                            if (rs_)
                                            {
                                                //double pointChange = ((double.Parse(itemListCoins.Amount.ToString())) * PointValue) / CoinValue;
                                                rs = ObjITransactionWalletService.UpdatePointsMemberFE(member.MemberID, double.Parse(itemListCoins.Amount.ToString()));
                                                if (!rs)
                                                {
                                                    break;
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                    //if (rs)
                    //{
                    //    double memeberPoints = objMemberRepository.GetPointsMember(member.MemberID);
                    //    result = memeberPoints.ToString();
                    //}

                    MemberInformationBO ọbjMemberInformationBO = new MemberInformationBO();
                    ọbjMemberInformationBO = ObjIIMemberService.GetInformationMemberByID(member.MemberID);
                    if (ọbjMemberInformationBO != null)
                    {
                        Session["MemberInfomation"] = null;
                        Session["MemberInfomation"] = ọbjMemberInformationBO;
                    }
                }
            }
            catch (Exception ex)
            {
                Utilitys.WriteLog(fileLog, ex.Message);
            }
        }