root/trunk/eCard/Expo/Merchant.aspx.cs @ 477

Wersja 477, 8.9 KB (wprowadzona przez marek, 17 years temu)

re #139

Line 
1using System;
2using System.Data;
3using System.Configuration;
4using System.Collections;
5using System.Web;
6using System.Web.Security;
7using System.Web.UI;
8using System.Web.UI.WebControls;
9using System.Web.UI.WebControls.WebParts;
10using System.Web.UI.HtmlControls;
11using System.Net;
12using System.IO;
13using System.Data.SqlClient;
14using System.Threading;
15using System.Globalization;
16
17public partial class Merchant : System.Web.UI.Page
18{
19    protected override void InitializeCulture()
20    {
21        if (Session["culture"] != null)
22        {
23            UICulture = Session["culture"].ToString();
24            Culture = Session["culture"].ToString();
25
26            Thread.CurrentThread.CurrentCulture =
27              CultureInfo.CreateSpecificCulture(Session["culture"].ToString());
28            Thread.CurrentThread.CurrentUICulture =
29              new CultureInfo(Session["culture"].ToString());
30        }
31        base.InitializeCulture();
32    }
33
34    protected void Page_Load(object sender, EventArgs e)
35    {
36        if (IsPostBack == false)
37        {
38            // -------------------------- FORMULARZ --------------------------------
39            string tORDERDESCRIPTION = (string)Session["ORDERDESCRIPTION"];
40            ORDERDESCRIPTION.Text = "<input name='ORDERDESCRIPTION' type='hidden' value='" + tORDERDESCRIPTION + "'/>";
41            string tAMOUNT = (string)Session["AMOUNT"];
42            AMOUNT.Text = "<input name='AMOUNT' type='hidden' value='" + tAMOUNT + "'/>";
43            string tCURRENCY = (string)Session["CURRENCY"];
44            CURRENCY.Text = "<input name='CURRENCY' type='hidden' value='" + tCURRENCY + "'/>";
45            string tNAME = (string)Session["NAME"];
46            NAME.Text = "<input name='NAME' type='hidden' value='" + tNAME + "'/>";
47            string tSURNAME = (string)Session["SURNAME"];
48            SURNAME.Text = "<input name='SURNAME' type='hidden' value='" + tSURNAME + "'/>";
49            string tSESSIONID = (string)Session["SESSIONID"];
50            //SESSIONID.Text = "<input name='SESSIONID' type='hidden' value='" + tSESSIONID + "'/>";
51            string tLANGUAGE = (string)Session["LANGUAGE"];
52            LANGUAGE.Text = "<input name='LANGUAGE' type='hidden' value='" + tLANGUAGE + "'/>";
53            string tCHARSET = (string)Session["CHARSET"];
54            CHARSET.Text = "<input name='CHARSET' type='hidden' value='" + tCHARSET + "'/>";
55            string tCOUNTRY = (string)Session["COUNTRY"];
56            COUNTRY.Text = "<input name='COUNTRY' type='hidden' value='" + tCOUNTRY + "'/>";
57            string tPAYMENTTYPE = (string)Session["PAYMENTTYPE"];
58            PAYMENTTYPE.Text = "<input name='PAYMENTTYPE' type='hidden' value='" + tPAYMENTTYPE + "'/>";
59
60            CheckBrowserCaps();
61
62            string tAUTODEPOSIT = (string)Session["AUTODEPOSIT"];
63            AUTODEPOSIT.Text = "<input name='AUTODEPOSIT' type='hidden' value='" + tAUTODEPOSIT + "'/>";
64
65            // ---------------- Pobranie ORDERNUMBER ---------------------
66            string connString = ConfigurationManager.ConnectionStrings["BazaReklamConn"].ConnectionString;
67            string cmdText = "proc_NowaPlatnoscEcard";
68            string nip = (string)Session["nip"];
69            string nrZlec = (string)Session["nrFaktury"];
70            string idFaktury = (string)Session["IDFaktury"];
71            string tORDERNUMBER = "";
72            using (SqlConnection conn = new SqlConnection(connString))
73            {
74                SqlCommand cmd = new SqlCommand(cmdText, conn);
75                cmd.CommandType = CommandType.StoredProcedure;
76                cmd.Parameters.AddWithValue("@ORDERDESCRIPTION", tORDERDESCRIPTION);
77                int iidFaktury = Convert.ToInt32(idFaktury);
78                cmd.Parameters.AddWithValue("@idFaktury", iidFaktury);
79                cmd.Parameters.AddWithValue("@nip", nip);
80                //cmd.Parameters.AddWithValue("@nrFaktury", nrZlec);
81                int iAMOUNT = Convert.ToInt32(tAMOUNT);
82                cmd.Parameters.AddWithValue("@AMOUNT", iAMOUNT);
83                cmd.Parameters.AddWithValue("@CURRENCY", tCURRENCY);
84                cmd.Parameters.AddWithValue("@SESSIONID", tSESSIONID);
85                cmd.Parameters.AddWithValue("@NAME", tNAME);
86                cmd.Parameters.AddWithValue("@SURNAME", tSURNAME);
87                int iAUTODEPOSIT = Convert.ToInt32(tAUTODEPOSIT);
88                cmd.Parameters.AddWithValue("@AUTODEPOSIT", iAUTODEPOSIT);
89                cmd.Parameters.AddWithValue("@LANGUAGE", tLANGUAGE);
90                cmd.Parameters.AddWithValue("@CHARSET", tCHARSET);
91                cmd.Parameters.AddWithValue("@COUNTRY", tCOUNTRY);
92                int JavaScript = vJS;
93                cmd.Parameters.AddWithValue("@JS", JavaScript);
94                cmd.Parameters.AddWithValue("@PAYMENTTYPE", tPAYMENTTYPE);
95                conn.Open();
96                SqlDataReader reader = cmd.ExecuteReader();
97                reader.Read();
98                //reader.NextResult();
99                tORDERNUMBER = reader["ID"].ToString();
100                reader.Close();
101                conn.Close();
102            }
103
104            ORDERNUMBER.Text = "<input name='ORDERNUMBER' type='hidden' value='" + tORDERNUMBER + "'/>";
105
106            // ---------------- Pobranie HASHA z eCardu ------------------
107
108            string strValue;
109            string strResponse;
110            string systemKsiegowy = Session["SystemKsiegowy"].ToString();
111            // Utworzenie ¿¹dania zwrotnego
112            string strReq = "https://pay.ecard.pl/servlet/HS?orderNumber=" + tORDERNUMBER + "&amount=" + tAMOUNT + "&currency=" + tCURRENCY;
113            HttpWebRequest req = (HttpWebRequest)WebRequest.Create(strReq);
114            // Ustawienie wartoœci ¿¹dania zwrotnego
115            req.Method = "POST";
116            req.ContentType = "application/x-www-form-urlencoded";
117            strValue = Int32.Parse(systemKsiegowy) == 1 ? "&orderDescription=&merchantId=170906000&password=JaYpqfs0" : "&orderDescription=&merchantId=171485000&password=ashSeth2";
118            req.ContentLength = strValue.Length;
119            // Zapisanie ³añcucha ¿¹dania zwrotnego
120            StreamWriter stOut = new StreamWriter(req.GetRequestStream(), System.Text.Encoding.ASCII);
121            stOut.Write(strValue);
122            stOut.Close();
123
124            // Przesy³anie ¿¹danie do systemu eCard i uzyskanie odpowiedzi
125            StreamReader stIn = new StreamReader(req.GetResponse().GetResponseStream());
126            strResponse = stIn.ReadToEnd();
127            stIn.Close();
128
129            // Sprawdzenie odpowiedzi
130            if (strResponse == "zlyHash")
131            {
132                // b³êdne parametry - z³y numer zamówienia, opis, kwota lub waluta
133
134            }
135            else if (strResponse == "wrongPassword")
136            {
137                // Niepoprawne has³o
138            }
139            else
140            {
141                //OK
142            }
143
144            string tHASH = strResponse;
145            tHASH = tHASH.Trim();
146            HASH.Text = "<input name='HASH' type='hidden' value='" + tHASH + "'/>";
147            string tMERCHANTID = (string)Session["MERCHANTID"];
148            MERCHANTID.Text = "<input name='MERCHANTID' type='hidden' value='" + tMERCHANTID + "'/>";
149            LINKOK.Text = Int32.Parse(systemKsiegowy) == 1 ? "<input name='LINKOK' type='hidden' value='http://platnosci.admoto.pl/info.aspx?status=ok'/>" : "<input name='LINKOK' type='hidden' value='http://pay.truck-expo.com/info.aspx?status=ok'/>"; ;
150            LINKFAIL.Text = Int32.Parse(systemKsiegowy) == 1 ? "<input name='LINKFAIL' type='hidden' value='http://platnosci.admoto.pl/info.aspx?status=fail'/>" : "<input name='LINKFAIL' type='hidden' value='http://pay.truck-expo.com/info.aspx?status=fail'/>";
151        }
152        else
153        {
154            FormsAuthentication.SignOut();
155            Response.Redirect("login.aspx");
156        }
157               
158    }
159   
160    void CheckBrowserCaps()
161    {
162        string jsInfoText = "<h2>Twoja przegl¹darka ma wy³¹czon¹ obs³ugê Java Script.</h2><p>Obs³uga Java Script nie jest niezbêdna, ale przyspiesza i upraszcza proces p³atnoœci.</p><p>Aby kontynuowaæ proces naciœnij przycisk Dalej</p>";
163        System.Web.HttpBrowserCapabilities myBrowserCaps = Request.Browser;
164        if (((System.Web.Configuration.HttpCapabilitiesBase)myBrowserCaps).EcmaScriptVersion.Major > 1)
165        {
166            jsInfo.Text = jsInfoText;
167            JS.Text = "<input name='JS' type='hidden' value='0'/>";
168            submit.Text = "<input type='submit' value='Dalej'/>";
169            vJS = 0;
170        }
171        else
172        {
173            jsInfo.Text = "";
174            JS.Text = "<input name='JS' type='hidden' value='1'/>";
175            vJS = 1;
176        }
177               
178    }
179
180    private int JavaScript;
181    public int vJS
182    {
183        get
184        {
185            return JavaScript;
186        }
187        set
188        {
189            JavaScript = value;           
190        }
191    }
192}
Notatka: Zobacz TracBrowser aby uzyskać więcej informacji.