using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Text;
using com.unionpay.acp.sdk;

namespace upacp_demo_identification.demo.api_99_identification
{
    public partial class Form_5_21_Enterprise_Info_Identification_Front : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            /**
             * 重要：联调测试时请仔细阅读注释！
             * 
             * 产品：综合认证服务平台产品<br>
             * 交易：企业信息认证（前台）<br>
             * 日期： 2017-02<br>
             * 版本： 1.0.0 
             * 版权： 中国银联<br>
             */

            Dictionary<string, string> param = new Dictionary<string, string>();

            //以下信息非特殊情况不需要改动
            param["version"] = SDKConfig.Version;// "5.1.0";//版本号
            param["encoding"] = "UTF-8";//编码方式
            param["signMethod"] = SDKConfig.SignMethod;// "01";//签名方法
            param["txnType"] = "83";//交易类型
            param["txnSubType"] = "00";//交易子类
            param["bizType"] = "000803";//产品类型

            //TODO 以下信息需要填写
            param["orderId"] = Request.Form["orderId"].ToString();	//请修改被查询的交易的订单号，8-32位数字字母，不能含“-”或“_”，此处默认取demo演示页面传递的参数
            param["merId"] = Request.Form["merId"].ToString();//商户代码，请改成自己的测试商户号，此处默认取demo演示页面传递的参数
            param["txnTime"] = Request.Form["txnTime"].ToString();//请修改被查询的交易的订单发送时间，格式为YYYYMMDDhhmmss，此处默认取demo演示页面传递的参数
            param["backUrl"] = SDKConfig.BackUrl;                //后台通知地址
            param["frontUrl"] = SDKConfig.FrontUrl;
            param["frontFailUrl"] = SDKConfig.FrontFailUrl;

            //G008：工商-企业存续状态验证（营业执照号）
            //G009：工商-注册地址验证（营业执照号、注册地址）
            //G010：工商-企业名称验证（营业执照号、企业名称）
            //G011：工商-名称+注册地验证（营业执照号、企业名称、注册地址）
            //G012：工商-法人代表验证（营业执照号、法人代表姓名）
            //G013：工商-法人+注册地验证（营业执照号、法人代表姓名、注册地址）
            //G014：工商-名称+法人验证（营业执照号、法人代表姓名、企业名称）
            //G015：工商-四要素验证（营业执照号、法人代表姓名、企业名称、注册地址）
            string productId = Request.Form["productId"].ToString();
            string businessLicenseRegNo = Request.Form["businessLicenseRegNo"].ToString();
            string legalRepreNm = Request.Form["legalRepreNm"].ToString();
            string registeredAddr = Request.Form["registeredAddr"].ToString();
            string comNm = Request.Form["comNm"].ToString(); 

            param["productId"] = productId;

            if ("G008".Equals(productId))
            {
                param["businessLicenseRegNo"] = businessLicenseRegNo;	//营业执照号码
            }
            else if ("G009".Equals(productId))
            {
                param["businessLicenseRegNo"] = businessLicenseRegNo;	//营业执照号码
                param["registeredAddr"] = registeredAddr;	//注册地址
            }
            else if ("G010".Equals(productId))
            {
                param["businessLicenseRegNo"] = businessLicenseRegNo;	//营业执照号码
                param["comNm"] = comNm;//企业名称
            }
            else if ("G011".Equals(productId))
            {
                param["businessLicenseRegNo"] = businessLicenseRegNo;	//营业执照号码
                param["registeredAddr"] = registeredAddr;	//注册地址
                param["comNm"] = comNm;//企业名称
            }
            else if ("G012".Equals(productId))
            {
                param["businessLicenseRegNo"] = businessLicenseRegNo;	//营业执照号码
                param["legalRepreNm"] = legalRepreNm;  //法定代表人姓名
            }
            else if ("G013".Equals(productId))
            {
                param["businessLicenseRegNo"] = businessLicenseRegNo;	//营业执照号码
                param["legalRepreNm"] = legalRepreNm;  //法定代表人姓名
                param["registeredAddr"] = registeredAddr;	//注册地址
            }
            else if ("G014".Equals(productId))
            {
                param["businessLicenseRegNo"] = businessLicenseRegNo;	//营业执照号码
                param["legalRepreNm"] = legalRepreNm;  //法定代表人姓名
                param["comNm"] = comNm;//企业名称
            }
            else if ("G015".Equals(productId))
            {
                param["businessLicenseRegNo"] = businessLicenseRegNo;	//营业执照号码
                param["legalRepreNm"] = legalRepreNm;  //法定代表人姓名
                param["registeredAddr"] = registeredAddr;	//注册地址
                param["comNm"] = comNm;//企业名称
            }

            AcpService.Sign(param, System.Text.Encoding.UTF8);  // 签名
            string url = SDKConfig.ZhrzFrontTransUrl;//发送post 请求的地址
            string html = AcpService.CreateAutoFormHtml(url, param, System.Text.Encoding.UTF8);// 将SDKUtil产生的Html文档写入页面，从而引导用户浏览器重定向   
            Response.ContentEncoding = Encoding.UTF8; // 指定输出编码
            Response.Write(html);
        }
    }
}