Zbiór zmian 917 dla trunk/eCard/eCardMVC

Pokaż
Ignoruj:
Data:
2009-12-01 12:40:01 (16 years ago)
Autor:
alina
Opis:

re #215 zmiany w controlerze Merchant ( uzycie funkcji translatestr do tłumaczen, dodanie komunikatu o blędzie dla metody AddNewPayment? i GetHash?, zmiana parametrow metody wyslij, zmiana danych przesylanych do eCardu z testowych na prawdziwe wartosci (w metodzie wyslij i Gethash)

Pliki:
1 zmodyfikowane

Legenda:

Bez zmian
Dodane
Usunięte
  • trunk/eCard/eCardMVC/Platnosci/Controllers/MerchantController.cs

    r896 r917  
    2929        public const string KOD_POLSKA = "616";         //kod kraju Akceptanta - Polska 
    3030        public const string KODOWANIE = "ISO-8859-2"; 
    31         private int ORDERNUMBER = 122; 
     31        public const string HASH_ERROR_INFO = "payment not exist"; 
    3232        private string merchantId; 
    3333 
     
    3535        private readonly IRepository<PlatnosciEcard> _repPayment;         
    3636        private FunkcjePlatnosci _func; 
     37        private ITranslate _t; 
    3738 
    3839        public MerchantController() 
     
    4142            _repPayment = new Repository<PlatnosciEcard>(new DataContext1()); 
    4243            _func = new FunkcjePlatnosci(); 
     44            _t = new Translate(); 
    4345        } 
    4446        public ActionResult Merchant(Payer payer, string language) 
     
    5254            if (platnosc == null) 
    5355            { 
    54                 ErrorViewData errorViewData = _func.InitErrorViewData(HttpContext.GetGlobalResourceObject("tlumaczenia", "brakdanych").ToString()); 
     56                ErrorViewData errorViewData = _func.InitErrorViewData(_t.TranslateStr("tlumaczenia", "brakdanych")); 
    5557                return View("Error1", errorViewData); 
    5658            } 
    5759            else if (!_func.UserIdentity(platnosc, ControllerContext.HttpContext.User.Identity.Name)) 
    5860            { 
    59                 ErrorViewData errorViewData = _func.InitErrorViewData(HttpContext.GetGlobalResourceObject("tlumaczenia", "weryfikacja").ToString()); 
     61                ErrorViewData errorViewData = _func.InitErrorViewData(_t.TranslateStr("tlumaczenia", "weryfikacja")); 
    6062                return View("Error1", errorViewData); 
    6163            } 
     
    6769 
    6870            bool createPayment = AddNewPayment(newPayment); 
    69             if (createPayment == false) return View("Error"); 
     71            if (createPayment == false) 
     72            { 
     73                ErrorViewData errorViewData = _func.InitErrorViewData(_t.TranslateStr("tlumaczenia", "error_hash")); 
     74                errorViewData.idfaktury = payer.Id_faktury; 
     75                return View("Error1", errorViewData); 
     76            } 
    7077 
    7178            string hash = GetHash(newPayment, systemKs); 
    7279            hash = hash.Replace("\n",""); 
    73             if (hash == BAD_HASH  || hash == "" ) return View("Error"); 
     80            if (hash == BAD_HASH || hash == "" || hash == HASH_ERROR_INFO) 
     81            { 
     82                ErrorViewData errorViewData = _func.InitErrorViewData(_t.TranslateStr("tlumaczenia", "error_hash")); 
     83                errorViewData.idfaktury = payer.Id_faktury; 
     84                return View("Error1", errorViewData); 
     85            } 
    7486 
    7587            if (systemKs == "1") merchantId = "170906000"; 
     
    8294            string LinkOk = ConfigurationManager.AppSettings["Strona"]; 
    8395            LinkOk += "/" + language + ConfigurationManager.AppSettings["LinkOk"]; 
    84             LinkOk += "/" + newPayment.IDFaktury; ; 
     96            LinkOk += "/" + newPayment.IDFaktury; 
    8597 
    86             var merchantViewData = InitMerchantViewData(newPayment, hash, merchantId, LinkFail, LinkOk); 
    87             wyslij(merchantViewData, hash, merchantId); 
    88             return View(merchantViewData);             
     98            wyslij(newPayment, hash, merchantId, LinkFail, LinkOk); 
     99            return new EmptyResult();           
    89100        } 
    90101        private PlatnosciEcard InitNewPayment(int id, vPlatnosciEcard platnosc, Waluta waluta, Payer payer) 
     
    115126            if (platnosc != null) 
    116127            {                 
    117                 //_repPayment.Insert(platnosc); 
     128                _repPayment.Insert(platnosc); 
    118129                return true; 
    119130            } 
    120131            return false; 
    121132        } 
    122         private MerchantViewData InitMerchantViewData(PlatnosciEcard newPayment, string hash, string Id, string LinkFail, string LinkOk) 
    123         { 
    124             MerchantViewData merchantViewData = new MerchantViewData(); 
    125             merchantViewData.nowaPlatnosc = newPayment; 
    126             merchantViewData.Hash = hash; 
    127             merchantViewData.merchantId = Id; 
    128             merchantViewData.LinkFail = LinkFail; 
    129             merchantViewData.LinkOk = LinkOk; 
    130              
    131             //wartosci testowe 
    132             merchantViewData.nowaPlatnosc.ORDERNUMBER = ORDERNUMBER; 
    133             merchantViewData.nowaPlatnosc.ORDERDESCRIPTION = "222"; 
    134             merchantViewData.nowaPlatnosc.AMOUNT = 300; 
    135             merchantViewData.nowaPlatnosc.CURRENCY = "985"; 
    136             merchantViewData.nowaPlatnosc.SESSIONID = "ff"; 
    137             merchantViewData.merchantId = "171485000"; 
    138             merchantViewData.LinkFail = ""; 
    139             merchantViewData.LinkOk = ""; 
    140             return merchantViewData; 
    141         } 
    142133        private string GetHash(PlatnosciEcard p, string ks) 
    143134        { 
    144135            string strResponse; 
    145             /*PlatnosciEcard platnosc = _rep.FindOne(i => i.ORDERDESCRIPTION == p.ORDERDESCRIPTION && i.IDFaktury == p.IDFaktury && i.Data == p.Data); 
    146             string adres = "https://pay.ecard.pl/servlet/HS?orderNumber="+p.ORDERNUMBER; 
     136            PlatnosciEcard platnosc = _repPayment.Find(i => i.ORDERDESCRIPTION == p.ORDERDESCRIPTION && i.IDFaktury == p.IDFaktury && i.Data == p.Data).First(); 
     137 
     138            if (platnosc == null) return HASH_ERROR_INFO; 
     139 
     140            string adres = "https://pay.ecard.pl/servlet/HS?orderNumber=" + platnosc.ORDERNUMBER; 
    147141            HttpWebRequest req = (HttpWebRequest)WebRequest.Create(adres); 
    148142            string dane = "&orderDescription=&amount=" + platnosc.AMOUNT; 
    149143            dane += "&currency=" + platnosc.CURRENCY; 
    150             if (ks == "1") dane += "&merchantId=171485000&password=ashSeth2"; 
    151                 else dane += "&merchantId=170906000&password=JaYpqfs0"; */ 
     144            dane += "&merchantId=171485000&password=ashSeth2"; 
    152145 
    153             //dane testowe 
    154             string adres = "https://pay.ecard.pl/servlet/HS?orderNumber="+ORDERNUMBER; 
    155             HttpWebRequest req = (HttpWebRequest)WebRequest.Create(adres); 
    156             string dane = "&orderDescription=&amount=300&currency=985&merchantId=171485000&password=ashSeth2";                 
    157              
     146          //  if (ks == "1") dane += "&merchantId=171485000&password=ashSeth2"; 
     147            //    else dane += "&merchantId=170906000&password=JaYpqfs0"; 
     148 
    158149            byte[] bdata = System.Text.ASCIIEncoding.ASCII.GetBytes(dane); 
    159150            req.Method = "POST"; 
     
    171162            return strResponse; 
    172163        } 
    173         private void wyslij(MerchantViewData m, string hash, string id) 
     164        private void wyslij(PlatnosciEcard m, string hash, string id, string linkok, string linkfail) 
    174165        { 
    175             string adres = "https://pay.ecard.pl/servlet/PSTEST?ORDERDESCRIPTION="+m.nowaPlatnosc.ORDERDESCRIPTION; 
     166            string adres = "https://pay.ecard.pl/servlet/PSTEST?ORDERDESCRIPTION=" + m.ORDERDESCRIPTION; 
    176167            HttpWebRequest req = (HttpWebRequest)WebRequest.Create(adres); 
    177             string dane = "&AMOUNT=300&CURRENCY=985&ORDERNUMBER="+ORDERNUMBER+"&NAME="+m.nowaPlatnosc.NAME+"&SURNAME="+m.nowaPlatnosc.SURNAME+"&LANGUAGE=PL&CHARSET=ISO-8859-2"; 
    178             dane += "&COUNTRY=616&PAYMENTTYPE=CARDS&JS=1&HASH=" + hash + "&MERCHANTID=171485000&AUTODEPOSIT=" + m.nowaPlatnosc.AUTODEPOSIT + "&LINKFAIL="; 
    179             dane += "&LINKOK=&SESSIONID="; 
     168            string dane = "&AMOUNT=" + m.AMOUNT + "&CURRENCY=" + m.CURRENCY + "&ORDERNUMBER=" + m.ORDERNUMBER; 
     169            dane += "&NAME=" + m.NAME + "&SURNAME=" + m.SURNAME + "&LANGUAGE=" + m.LANGUAGE + "&CHARSET=ISO-8859-2"; 
     170            dane += "&COUNTRY=616&PAYMENTTYPE=CARDS&JS=1&HASH=" + hash + "&MERCHANTID=171485000&AUTODEPOSIT=" + m.AUTODEPOSIT; 
     171            dane += "&LINKFAIL=" + linkfail + "&LINKOK=" + linkok + "&SESSIONID=" + m.SESSIONID; 
    180172            Response.Redirect(adres + dane); 
    181173        }