Ejemplo n.º 1
0
 public int Add(SmartlinkRedirectUrlInfo info)
 {
     SqlParameter[] param =
     {
         new SqlParameter("@vpc_Version",      info.vpc_Version),
         new SqlParameter("@vpc_Locale",       info.vpc_Locale),
         new SqlParameter("@vpc_Command",      info.vpc_Command),
         new SqlParameter("@vpc_Merchant",     info.vpc_Merchant),
         new SqlParameter("@vpc_AccessCode",   info.vpc_AccessCode),
         new SqlParameter("@vpc_MerchTxnRef",  info.vpc_MerchTxnRef),
         new SqlParameter("@vpc_Amount",       info.vpc_Amount),
         new SqlParameter("@vpc_CurrencyCode", info.vpc_CurrencyCode),
         new SqlParameter("@vpc_OrderInfo",    info.vpc_OrderInfo),
         new SqlParameter("@vpc_ReturnURL",    info.vpc_ReturnURL),
         new SqlParameter("@vpc_BackURL",      info.vpc_BackURL),
         new SqlParameter("@vpc_TicketNo",     info.vpc_TicketNo),
         new SqlParameter("@vpc_SecureHash",   info.vpc_SecureHash),
         new SqlParameter("@CreateDate",       info.CreateDate)
     };
     return(int.Parse(DataHelper.ExecuteScalar(Config.ConnectString, "usp_SmartlinkRedirectUrl_Add", param).ToString()));
 }
Ejemplo n.º 2
0
        public static string getRedirectUrl(string sAmount, ref SmartlinkRedirectUrlInfo oRedirectUrlInfo)
        {
            var    context  = HttpContext.Current;
            string sTranId  = string.Format("T{0:yyMMddHHmmssfff}", DateTime.Now);
            string sSuccess = context.Request.Url.Scheme + "://" + context.Request.Url.Authority + "/SmartLink/success.aspx";
            string sFail    = context.Request.Url.Scheme + "://" + context.Request.Url.Authority + "/SmartLink/fail.aspx?code=" + sTranId;
            string sIP      = GetFullIp(context);

            Hashtable hash = new Hashtable();

            hash.Add("vpc_Version", Config.vpc_Version);
            hash.Add("vpc_Locale", Config.vpc_Locale);
            hash.Add("vpc_Command", Config.vpc_Command);
            hash.Add("vpc_Merchant", Config.vpc_Merchant);
            hash.Add("vpc_AccessCode", Config.vpc_AccessCode);
            hash.Add("vpc_MerchTxnRef", sTranId);
            hash.Add("vpc_Amount", string.Format(Config.vpc_Amount, sAmount));
            hash.Add("vpc_Currency", Config.vpc_Currency);
            hash.Add("vpc_OrderInfo", Config.vpc_OrderInfo);
            hash.Add("vpc_ReturnURL", sSuccess);
            hash.Add("vpc_BackURL", sFail);
            hash.Add("vpc_TicketNo", sIP);

            //
            oRedirectUrlInfo.vpc_Version      = Config.vpc_Version;
            oRedirectUrlInfo.vpc_Locale       = Config.vpc_Locale;
            oRedirectUrlInfo.vpc_Command      = Config.vpc_Command;
            oRedirectUrlInfo.vpc_Merchant     = Config.vpc_Merchant;
            oRedirectUrlInfo.vpc_AccessCode   = Config.vpc_AccessCode;
            oRedirectUrlInfo.vpc_MerchTxnRef  = sTranId;
            oRedirectUrlInfo.vpc_Amount       = string.Format(Config.vpc_Amount, sAmount);
            oRedirectUrlInfo.vpc_CurrencyCode = Config.vpc_Currency;
            oRedirectUrlInfo.vpc_OrderInfo    = Config.vpc_OrderInfo;
            oRedirectUrlInfo.vpc_ReturnURL    = sSuccess;
            oRedirectUrlInfo.vpc_BackURL      = sFail;
            oRedirectUrlInfo.vpc_TicketNo     = sIP;
            //

            return(getRedirectUrl(hash, Config.VirtualPaymentClientUrl));
        }
Ejemplo n.º 3
0
        public SmartlinkRedirectUrlInfo GetInfo(int id)
        {
            SmartlinkRedirectUrlInfo info = null;

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

            if (r != null)
            {
                info = new SmartlinkRedirectUrlInfo();
                while (r.Read())
                {
                    info = FillData(r);
                }
                r.Close();
                r.Dispose();
            }
            return(info);
        }
Ejemplo n.º 4
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;
            }

            SmartlinkRedirectUrlInfo oRedirectUrlInfo = new SmartlinkRedirectUrlInfo()
            {
                CreateDate = DateTime.Now
            };

            try
            {
                string sUrl = SmartLinkHelper.getRedirectUrl(vouchers, ref oRedirectUrlInfo);

                //save cached
                CacheInfo oCacheInfo = new CacheInfo()
                {
                    Voucher   = oVoucher,
                    sTrans_Id = oRedirectUrlInfo.vpc_MerchTxnRef,
                    User      = oUser
                };

                CacheProvider.AddWithTimeOut(string.Format(KeyCache.KeyUserSmartlink, oRedirectUrlInfo.vpc_MerchTxnRef), oCacheInfo, 720);
                //
                context.Response.Write(string.Format("{{\"error\":{0},\"msg\":\"{1}\"}}", 0, sUrl));
            }
            catch (Exception ex)
            {
                context.Response.Write(string.Format("{{\"error\":{0},\"msg\":\"{1}\"}}", ex.GetHashCode().ToString(), ex.Message));
            }
            finally
            {
                SmartlinkRedirectUrlData.instance.Add(oRedirectUrlInfo);
            }
        }
Ejemplo n.º 5
0
        private SmartlinkRedirectUrlInfo FillData(IDataReader r)
        {
            SmartlinkRedirectUrlInfo info = new SmartlinkRedirectUrlInfo();

            if (!r.IsDBNull(r.GetOrdinal("id")))
            {
                info.id = r.GetInt32(r.GetOrdinal("id"));
            }
            if (!r.IsDBNull(r.GetOrdinal("vpc_Version")))
            {
                info.vpc_Version = r.GetString(r.GetOrdinal("vpc_Version"));
            }
            if (!r.IsDBNull(r.GetOrdinal("vpc_Locale")))
            {
                info.vpc_Locale = r.GetString(r.GetOrdinal("vpc_Locale"));
            }
            if (!r.IsDBNull(r.GetOrdinal("vpc_Command")))
            {
                info.vpc_Command = r.GetString(r.GetOrdinal("vpc_Command"));
            }
            if (!r.IsDBNull(r.GetOrdinal("vpc_Merchant")))
            {
                info.vpc_Merchant = r.GetString(r.GetOrdinal("vpc_Merchant"));
            }
            if (!r.IsDBNull(r.GetOrdinal("vpc_AccessCode")))
            {
                info.vpc_AccessCode = r.GetString(r.GetOrdinal("vpc_AccessCode"));
            }
            if (!r.IsDBNull(r.GetOrdinal("vpc_MerchTxnRef")))
            {
                info.vpc_MerchTxnRef = r.GetString(r.GetOrdinal("vpc_MerchTxnRef"));
            }
            if (!r.IsDBNull(r.GetOrdinal("vpc_Amount")))
            {
                info.vpc_Amount = r.GetString(r.GetOrdinal("vpc_Amount"));
            }
            if (!r.IsDBNull(r.GetOrdinal("vpc_CurrencyCode")))
            {
                info.vpc_CurrencyCode = r.GetString(r.GetOrdinal("vpc_CurrencyCode"));
            }
            if (!r.IsDBNull(r.GetOrdinal("vpc_OrderInfo")))
            {
                info.vpc_OrderInfo = r.GetString(r.GetOrdinal("vpc_OrderInfo"));
            }
            if (!r.IsDBNull(r.GetOrdinal("vpc_ReturnURL")))
            {
                info.vpc_ReturnURL = r.GetString(r.GetOrdinal("vpc_ReturnURL"));
            }
            if (!r.IsDBNull(r.GetOrdinal("vpc_BackURL")))
            {
                info.vpc_BackURL = r.GetString(r.GetOrdinal("vpc_BackURL"));
            }
            if (!r.IsDBNull(r.GetOrdinal("vpc_TicketNo")))
            {
                info.vpc_TicketNo = r.GetString(r.GetOrdinal("vpc_TicketNo"));
            }
            if (!r.IsDBNull(r.GetOrdinal("vpc_SecureHash")))
            {
                info.vpc_SecureHash = r.GetString(r.GetOrdinal("vpc_SecureHash"));
            }
            if (!r.IsDBNull(r.GetOrdinal("CreateDate")))
            {
                info.CreateDate = r.GetDateTime(r.GetOrdinal("CreateDate"));
            }

            return(info);
        }