Ejemplo n.º 1
0
 public int Update(SendGoodInfo info)
 {
     SqlParameter[] param =
     {
         new SqlParameter("@id",                info.id)
         ,                                      new SqlParameter("@FunctionName",info.FunctionName),
         new SqlParameter("@UserId",            info.UserId),
         new SqlParameter("@vouchers",          info.vouchers),
         new SqlParameter("@Merchant_trans_id", info.Merchant_trans_id),
         new SqlParameter("@Merchant_code",     info.Merchant_code),
         new SqlParameter("@Country_code",      info.Country_code),
         new SqlParameter("@Good_code",         info.Good_code),
         new SqlParameter("@Xml_description",   info.Xml_description),
         new SqlParameter("@Net_cost",          info.Net_cost),
         new SqlParameter("@Ship_fee",          info.Ship_fee),
         new SqlParameter("@Tax",               info.Tax),
         new SqlParameter("@Url_success",       info.Url_success),
         new SqlParameter("@Url_fail",          info.Url_fail),
         new SqlParameter("@Trans_key",         info.Trans_key),
         new SqlParameter("@selected_bank",     info.selected_bank),
         new SqlParameter("@service_code",      info.service_code),
         new SqlParameter("@OutString",         info.OutString),
         new SqlParameter("@ResultId",          info.ResultId),
         new SqlParameter("@Trans_Id",          info.Trans_Id),
         new SqlParameter("@CreateDate",        info.CreateDate)
     };
     return(DataHelper.ExecuteNonQuery(Config.ConnectString, "usp_SendGood_Update", param));
 }
Ejemplo n.º 2
0
        public SendGoodInfo GetInfo(int id)
        {
            SendGoodInfo info = null;

            SqlParameter[] param =
            {
                new SqlParameter("@id", id)
            };
            var r = DataHelper.ExecuteReader(Config.ConnectString, "usp_SendGood_GetById", param);

            if (r != null)
            {
                info = new SendGoodInfo();
                while (r.Read())
                {
                    info = FillData(r);
                }
                r.Close();
                r.Dispose();
            }
            return(info);
        }
Ejemplo n.º 3
0
        public static string Send_GoodInfo(string Good_code, string XMLDesc, string Net_cost, string Ship_Fee, string Tax, string URLSuccess, string URLFail, ref SendGoodInfo sendInfo)
        {
            string Merchant_trans_id = GetMerchantTransId();
            string TransHash         = Security.GetMD5Hash(Merchant_trans_id + Merchant_code + Good_code + Net_cost + Ship_Fee + Tax + Merchant_trans_key);

            //
            sendInfo.FunctionName      = "Send_GoodInfo";
            sendInfo.Merchant_code     = Merchant_code;
            sendInfo.Merchant_trans_id = Merchant_trans_id;
            sendInfo.Net_cost          = Net_cost;
            sendInfo.Ship_fee          = Ship_Fee;
            sendInfo.Tax          = Tax;
            sendInfo.Country_code = Country_Code;
            sendInfo.Trans_key    = TransHash;
            //
            try
            {
                //string s =instance.Send_GoodInfo(Merchant_trans_id, Merchant_code, Country_Code, Good_code, XMLDesc, Net_cost, Ship_Fee, Tax, URLSuccess, URLFail, TransHash);
                string s = instance.Send_GoodInfo(Merchant_trans_id, Merchant_code, Country_Code, Good_code, XMLDesc, Net_cost, Ship_Fee, Tax, URLSuccess, URLFail, TransHash);
                //
                sendInfo.ResultId  = getCodeResult(s);
                sendInfo.OutString = s;
                //
                return(s);
            }
            catch (Exception ex)
            {
                return(ex.Message);
                //throw;
            }
        }
Ejemplo n.º 4
0
        private SendGoodInfo FillData(IDataReader r)
        {
            SendGoodInfo info = new SendGoodInfo();

            if (!r.IsDBNull(r.GetOrdinal("id")))
            {
                info.id = r.GetInt32(r.GetOrdinal("id"));
            }
            if (!r.IsDBNull(r.GetOrdinal("FunctionName")))
            {
                info.FunctionName = r.GetString(r.GetOrdinal("FunctionName"));
            }
            if (!r.IsDBNull(r.GetOrdinal("UserId")))
            {
                info.UserId = r.GetString(r.GetOrdinal("UserId"));
            }
            if (!r.IsDBNull(r.GetOrdinal("vouchers")))
            {
                info.vouchers = r.GetString(r.GetOrdinal("vouchers"));
            }
            if (!r.IsDBNull(r.GetOrdinal("Merchant_trans_id")))
            {
                info.Merchant_trans_id = r.GetString(r.GetOrdinal("Merchant_trans_id"));
            }
            if (!r.IsDBNull(r.GetOrdinal("Merchant_code")))
            {
                info.Merchant_code = r.GetString(r.GetOrdinal("Merchant_code"));
            }
            if (!r.IsDBNull(r.GetOrdinal("Country_code")))
            {
                info.Country_code = r.GetString(r.GetOrdinal("Country_code"));
            }
            if (!r.IsDBNull(r.GetOrdinal("Good_code")))
            {
                info.Good_code = r.GetString(r.GetOrdinal("Good_code"));
            }
            if (!r.IsDBNull(r.GetOrdinal("Xml_description")))
            {
                info.Xml_description = r.GetString(r.GetOrdinal("Xml_description"));
            }
            if (!r.IsDBNull(r.GetOrdinal("Net_cost")))
            {
                info.Net_cost = r.GetString(r.GetOrdinal("Net_cost"));
            }
            if (!r.IsDBNull(r.GetOrdinal("Ship_fee")))
            {
                info.Ship_fee = r.GetString(r.GetOrdinal("Ship_fee"));
            }
            if (!r.IsDBNull(r.GetOrdinal("Tax")))
            {
                info.Tax = r.GetString(r.GetOrdinal("Tax"));
            }
            if (!r.IsDBNull(r.GetOrdinal("Url_success")))
            {
                info.Url_success = r.GetString(r.GetOrdinal("Url_success"));
            }
            if (!r.IsDBNull(r.GetOrdinal("Url_fail")))
            {
                info.Url_fail = r.GetString(r.GetOrdinal("Url_fail"));
            }
            if (!r.IsDBNull(r.GetOrdinal("Trans_key")))
            {
                info.Trans_key = r.GetString(r.GetOrdinal("Trans_key"));
            }
            if (!r.IsDBNull(r.GetOrdinal("selected_bank")))
            {
                info.selected_bank = r.GetString(r.GetOrdinal("selected_bank"));
            }
            if (!r.IsDBNull(r.GetOrdinal("service_code")))
            {
                info.service_code = r.GetString(r.GetOrdinal("service_code"));
            }
            if (!r.IsDBNull(r.GetOrdinal("OutString")))
            {
                info.OutString = r.GetString(r.GetOrdinal("OutString"));
            }
            if (!r.IsDBNull(r.GetOrdinal("ResultId")))
            {
                info.ResultId = r.GetString(r.GetOrdinal("ResultId"));
            }
            if (!r.IsDBNull(r.GetOrdinal("Trans_Id")))
            {
                info.Trans_Id = r.GetString(r.GetOrdinal("Trans_Id"));
            }
            if (!r.IsDBNull(r.GetOrdinal("CreateDate")))
            {
                info.CreateDate = r.GetDateTime(r.GetOrdinal("CreateDate"));
            }

            return(info);
        }
Ejemplo n.º 5
0
        private void SetInfo(HttpContext context)
        {
            string vouchers = context.Request["vouchers"];

            if (string.IsNullOrEmpty(vouchers))
            {
                context.Response.Write(string.Format("{{\"error\":{0},\"msg\":\"{1}\"}}", 5, "Hãy nhập gói cước"));
                return;
            }

            var oUser = (CustomerGateInfo)context.Session[Config.GetSessionUser];

            if (oUser == null)
            {
                context.Response.Write(string.Format("{{\"error\":{0},\"msg\":\"{1}\"}}", 6, "Hết phiên làm việc, hãy thực hiện lại"));
                return;
            }

            if (!Utility.isOnlyNumber(vouchers))
            {
                context.Response.Write(string.Format("{{\"error\":{0},\"msg\":\"{1}\"}}", 7, "Gói cước không phù hợp"));
                return;
            }

            List <voucher> list     = oUser.vouchers;
            voucher        oVoucher = null;

            foreach (voucher item in list)
            {
                if (vouchers == item.vouchervalue)
                {
                    oVoucher = item;
                    break;
                }
            }

            if (oVoucher == null)
            {
                context.Response.Write(string.Format("{{\"error\":{0},\"msg\":\"{1}\"}}", 8, "Gói cước không phù hợp"));
                return;
            }

            string Good_Code = string.Format("{0:yyMMddHHmmssfff}", DateTime.Now) + oVoucher.duration;

            Good_Code = Security.GetMD5Hash(Good_Code);
            Good_Code = "THAV-" + Good_Code.Substring(0, 15).ToUpper();

            string sSuccess = context.Request.Url.Scheme + "://" + context.Request.Url.Authority + "/Banknet/success.aspx?code=" + Good_Code;
            string sFail    = context.Request.Url.Scheme + "://" + context.Request.Url.Authority + "/Banknet/fail.aspx?code=" + Good_Code;

            SendGoodInfo sendInfo = new SendGoodInfo()
            {
                UserId          = oUser.subnum,
                vouchers        = oVoucher.vouchervalue + " - " + oVoucher.vouchername + " - " + oVoucher.duration + " " + oVoucher.durationuomaltcode,
                Good_code       = Good_Code,
                Xml_description = Config.Desc,
                Url_success     = sSuccess,
                Url_fail        = sFail,
                CreateDate      = DateTime.Now
            };

            try
            {
                string s = BanknetHelper.Send_GoodInfo(Good_Code, Config.Desc, vouchers, "0", "0", sSuccess, sFail, ref sendInfo);

                if (BanknetHelper.getCodeResult(s) != "010")
                {
                    context.Response.Write(string.Format("{{\"error\":{0},\"msg\":\"{1}\"}}", 9, "Kết nối với cổng thanh toán Banknet gặp sự cố"));
                    return;
                }

                string sUrl      = "";
                string sTrans_Id = "";
                int    iResult   = BanknetHelper.GetUrlRedirection(s, out sUrl);
                if (iResult != 0)
                {
                    context.Response.Write(string.Format("{{\"error\":{0},\"msg\":\"{1}\"}}", 10, "Kết nối với cổng thanh toán Banknet gặp sự cố"));
                    return;
                }
                sTrans_Id         = BanknetHelper.getTransIdFromUrl(sUrl);
                sendInfo.Trans_Id = sTrans_Id;
                //save cached
                CacheInfo oCacheInfo = new CacheInfo()
                {
                    Voucher           = oVoucher,
                    sTrans_Id         = sTrans_Id,
                    Good_Code         = Good_Code,
                    User              = oUser,
                    Merchant_trans_id = sendInfo.Merchant_trans_id
                };

                CacheProvider.AddWithTimeOut(string.Format(KeyCache.KeyUserBanknet, Good_Code), oCacheInfo, 720);
                //
                context.Response.Write(string.Format("{{\"error\":{0},\"msg\":\"{1}\"}}", 0, sUrl));
                return;
            }
            catch (Exception ex)
            {
                sendInfo.ResultId  = ex.GetHashCode().ToString();
                sendInfo.OutString = ex.Message;
                context.Response.Write(string.Format("{{\"error\":{0},\"msg\":\"{1}\"}}", sendInfo.ResultId, sendInfo.OutString));
            }
            finally
            {
                SendGoodData.instance.Add(sendInfo);
            }
        }