<%@ Page Language="C#" Inherits="PowerEasy.Foundation.Web.UI.DynamicPage"%>
<%@ Import Namespace="PowerEasy.Foundation" %>
<%@ Import Namespace="PowerEasy.Module.Shop.BusinessLogic" %>
<%@ Import Namespace="PowerEasy.Module.Shop.Model" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
  protected void Page_Load(object sender, EventArgs e)
  {
      string payOnlineShopID;
      string PayOnlineKey;

      int payPlatformId = 3;  //上海环迅
      PowerEasy.Module.General.Model.Accessories.PayPlatformInfo payPlatform = PowerEasy.Module.General.BusinessLogic.Accessories.PayPlatform.GetPayPlatformById(payPlatformId);
      if (payPlatform.IsDisabled || payPlatform.MD5 == "3069" || string.IsNullOrEmpty(payPlatform.MD5))
      {
          LblMsg.Text = Resources.DynamicPageResources.PayOnline_PayResult99bill_ToPayNo;
          return;
      }
      payOnlineShopID = payPlatform.AccountsId;
      PayOnlineKey = payPlatform.MD5;
      
      string billno = Request.QueryString["billno"];
      string currency_type = Request.QueryString["currency_type"];
      string amount = Request.QueryString["amount"];
      string mydate = Request.QueryString["date"];
      string succ = Request.QueryString["succ"];
      //string msg = Request.QueryString["msg"];
      string attach = Request.QueryString["attach"];
      string ipsbillno = Request.QueryString["ipsbillno"];  
      string retEncodeType = Request.QueryString["retencodetype"];
      string signature = Request.QueryString["signature"].ToLower();
      
      bool paySuccess = false;
      string md5 = "";
      if(succ == "Y")
      {
          StringBuilder md5string = new StringBuilder();
          md5string.Append(billno);
          md5string.Append(amount); 
          md5string.Append(mydate); 
          md5string.Append(succ); 
          md5string.Append(ipsbillno); 
          md5string.Append(currency_type); 
          md5string.Append(PayOnlineKey);
          md5 = PowerEasy.Framework.Common.DataCrypto.MD5(md5string.ToString()).ToLower();
          if(md5 != signature)
          {
              LblMsg.Text = Resources.DynamicPageResources.PayOnline_PayResultIps_SignedErr;
          }
          else
          {
              paySuccess = true;
          }
          if(paySuccess)
          {
              string v_oid = billno;

              StringBuilder message = new StringBuilder();
              message.Append(Resources.DynamicPageResources.PayOnline_PayResultIps_ToPayYes);
              PowerEasy.Module.Shop.BusinessLogic.PayOnline payOnline = new PowerEasy.Module.Shop.BusinessLogic.PayOnline();
              PowerEasy.Module.General.Enumerations.Accessories.PayOnlineState payOnlineState = payOnline.UpdateOrder(v_oid, PowerEasy.Framework.Common.DataConverter.ToDecimal(amount), "", 3, "", true, true);
              if (payOnlineState == PowerEasy.Module.General.Enumerations.Accessories.PayOnlineState.Ok)
              {
                  message.Append(payOnline.Message);
              }
              else
              {
                  message.Append(PowerEasy.Module.Shop.BusinessLogic.PayOnline.GetStateDescription(payOnlineState));
              }
              LblMsg.Text = message.ToString();  
          }
      }
      PowerEasy.Module.Shop.BusinessLogic.PayOnline.TestLog(false, Resources.DynamicPageResources.PayOnline_PayResultIps_FastToPay, succ, signature, md5);
      
  }

  protected void BtnShowOrder_Click(object sender, EventArgs e)
  {
      int orderId = Convert.ToInt32(PEContext.Current.Context.Session["OrderID"]);
      if (orderId > 0)
      {
          if (PEContext.Current.User.Identity.IsAuthenticated)
          {
              DynamicResponseRedirect("../User/Shop/ShowOrder.aspx?OrderId=" + orderId.ToString());
          }
          else
          {
              OrderInfo orderInfo = Order.GetOrderById(orderId);
              DynamicResponseRedirect("OrderForm.aspx?OrderNum=" + orderInfo.OrderNum + "&Name=" + orderInfo.ContacterName);
          }
      }

  }

  protected void BtnReturn_Click(object sender, EventArgs e)
  {
      ShopConfig shopConfig = SiteConfig.ShopConfig;
      string returnUrl = shopConfig.AgainBuyUrl;
      if (string.IsNullOrEmpty(returnUrl))
      {
          returnUrl = "~/Category.aspx?id=4";
      }
      DynamicResponseRedirect(returnUrl);
  }

  protected void BtnGotoUserCenter_Click(object sender, EventArgs e)
  {
      DynamicResponseRedirect("~/User/Default.aspx");
  }

  protected void BtnShowPayRecord_Click(object sender, EventArgs e)
  {
      DynamicResponseRedirect("~/User/Info/PaymentLog.aspx");
  }
    
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
    <title><asp:Localize ID="Localize1" Text="<%$ Res: PayOnline_PayResultIps_Page , 上海环迅 %>" runat="server" /></title>
</head>
<body>
    <form id="form1" runat="server">
    <!--支付成功消息-->
    <div class="ebuycar_order">
        <div class="orderinfo_show">
            <ul class="ebuy_complete">
                <li><span class="p_orderform_mess">
                    <pe:ExtendedLabel HtmlEncode="false" ID="LblMsg" runat="server" ></pe:ExtendedLabel>
                </span></li>
            </ul>
        </div>
        <div class="orderinfo_button">
            <asp:Button ID="BtnReturn" runat="server" OnClick="BtnReturn_Click" CssClass="inputbutton"
                Text="<%$ Res: Shop_OrderSuccess_BtnReturn,返回商店首页 %>" />
            <asp:Button ID="BtnShowOrder" runat="server" OnClick="BtnShowOrder_Click" CssClass="inputbutton"
                Text="<%$ Res: Shop_OrderSuccess_BtnShowOrder,查看订单明细 %>" />
            <asp:Button ID="BtnShowPayRecord" runat="server" OnClick="BtnShowPayRecord_Click" CssClass="inputbutton"
            Text="查看支付明细" />
            <asp:Button ID="BtnGotoUserCenter" runat="server" OnClick="BtnGotoUserCenter_Click"
                CssClass="inputbutton" Text="<%$ Res: Shop_OrderSuccess_BtnGotoUserCenter,进入会员中心 %>" />
            <asp:HiddenField ID="HdnContacterName" runat="server" />
            <asp:HiddenField ID="HdnOrderNum" runat="server" />
        </div>
    </div>    
    </form>
</body>
</html>
