Zbiór zmian 933 dla trunk/eCard
- Data:
- 2009-12-07 13:04:16 (16 years ago)
- Lokalizacja:
- trunk/eCard/eCardMVC
- Pliki:
-
- 9 zmodyfikowane
-
Platnosci.Tests/Web/MerchantControllerTests.cs (zmodyfikowane) (2 diffs)
-
Platnosci.Tests/Web/PlatnosciControllerTests.cs (zmodyfikowane) (7 diffs)
-
Platnosci.Tests/app.config (zmodyfikowane) (1 diff)
-
Platnosci/Controllers/MerchantController.cs (zmodyfikowane) (5 diffs)
-
Platnosci/Controllers/PlatnoscController.cs (zmodyfikowane) (13 diffs)
-
Platnosci/Models/ErrorViewData.cs (zmodyfikowane) (1 diff)
-
Platnosci/Models/FunkcjePlatnosci.cs (zmodyfikowane) (1 diff)
-
Platnosci/Views/Shared/Error1.aspx (zmodyfikowane) (1 diff)
-
Platnosci/Web.config (zmodyfikowane) (1 diff)
Legenda:
- Bez zmian
- Dodane
- Usunięte
-
trunk/eCard/eCardMVC/Platnosci.Tests/Web/MerchantControllerTests.cs
r931 r933 30 30 var error = (ErrorViewData)result.ViewData.Model; 31 31 32 Assert.That(error. error, Is.EqualTo("weryfikacja"));32 Assert.That(error.Error, Is.EqualTo("weryfikacja")); 33 33 Assert.That(result.ViewName, Is.EqualTo("Error1")); 34 34 } … … 49 49 var error = (ErrorViewData)result.ViewData.Model; 50 50 51 Assert.That(error. error, Is.EqualTo("brakdanych"));51 Assert.That(error.Error, Is.EqualTo("brakdanych")); 52 52 Assert.That(result.ViewName, Is.EqualTo("Error1")); 53 53 } -
trunk/eCard/eCardMVC/Platnosci.Tests/Web/PlatnosciControllerTests.cs
r931 r933 17 17 { 18 18 private readonly ITranslateManager _translateManager = new FakeTranslation(); 19 private readonly string _merchantNumber= "123";19 private const string MERCHANT_NUMBER = "123"; 20 20 private readonly int _orderNumber = 9999; 21 21 private const string CODE_OK = "payment_deposited"; //transakcja potwierdzona do rozliczenia … … 38 38 var controller = new PlatnoscController(null, repository, rep, _translateManager); 39 39 builder.InitializeController(controller); 40 builder.Form.Add("MERCHANTNUMBER", _merchantNumber);40 builder.Form.Add("MERCHANTNUMBER", MERCHANT_NUMBER); 41 41 builder.Form.Add("AUTHTIME", DateTime.Now.ToString()); 42 42 builder.Form.Add("DATATRANSMISJI", DateTime.Now.ToString()); … … 49 49 50 50 var potwierdzeniaEcard = rep.Find(o => o.ORDERNUMBER == _orderNumber).SingleOrDefault(); 51 Assert.That(potwierdzeniaEcard.MERCHANTNUMBER, Is.EqualTo( _merchantNumber));51 Assert.That(potwierdzeniaEcard.MERCHANTNUMBER, Is.EqualTo(MERCHANT_NUMBER)); 52 52 var paymentAfterUpdate = repository.FindOne(_orderNumber); 53 53 System.Diagnostics.Debug.WriteLine("Status musi byc 'true'. Jest " + paymentAfterUpdate.Status); … … 67 67 var controller = new PlatnoscController(null, repPayment, repConfirm, _translateManager); 68 68 builder.InitializeController(controller); 69 builder.Form.Add("MERCHANTNUMBER", _merchantNumber);69 builder.Form.Add("MERCHANTNUMBER", MERCHANT_NUMBER); 70 70 builder.Form.Add("AUTHTIME", DateTime.Now.ToString()); 71 71 builder.Form.Add("DATATRANSMISJI", DateTime.Now.ToString()); … … 76 76 77 77 var potwierdzeniaEcard = repConfirm.Find(o => o.ORDERNUMBER == _orderNumber).SingleOrDefault(); 78 Assert.That(potwierdzeniaEcard.MERCHANTNUMBER, Is.EqualTo( _merchantNumber));78 Assert.That(potwierdzeniaEcard.MERCHANTNUMBER, Is.EqualTo(MERCHANT_NUMBER)); 79 79 80 80 var paymentAfterUpdate = repPayment.FindOne(_orderNumber); … … 128 128 var error = (ErrorViewData)result.ViewData.Model; 129 129 130 Assert.That(error. error, Is.EqualTo("weryfikacja"));130 Assert.That(error.Error, Is.EqualTo("weryfikacja")); 131 131 Assert.That(result.ViewName, Is.EqualTo("Error1")); 132 132 } … … 145 145 var error = (ErrorViewData)result.ViewData.Model; 146 146 147 Assert.That(error. error, Is.EqualTo("brakdanych"));147 Assert.That(error.Error, Is.EqualTo("brakdanych")); 148 148 Assert.That(result.ViewName, Is.EqualTo("Error1")); 149 149 } -
trunk/eCard/eCardMVC/Platnosci.Tests/app.config
r887 r933 6 6 </sectionGroup> 7 7 </configSections> 8 <appSettings> 9 <add key="eCard.Url" value="https://pay.ecard.pl/servlet/PSTEST"/> 10 </appSettings> 11 8 12 <NUnit> 9 13 <TestRunner> -
trunk/eCard/eCardMVC/Platnosci/Controllers/MerchantController.cs
r927 r933 1 1 using System; 2 using System.Text;3 2 using System.Linq; 4 using System.Web;5 using System.Web.UI;6 7 using System.Web.UI.WebControls;8 using System.Web.UI.WebControls.WebParts;9 using System.Web.UI.HtmlControls;10 using System.Web.Configuration;11 3 using System.Web.Mvc; 12 using System.Web.Mvc.Ajax;13 using System.Collections.Generic;14 4 using Platnosci.Models; 15 5 using Platnosci.Core.Linq; … … 30 20 public const string KODOWANIE = "ISO-8859-2"; 31 21 public const string HASH_ERROR_INFO = "payment not exist"; 32 private string merchantId; 22 private string _merchantId; 23 private string _merchantPassword; 33 24 34 25 private readonly IRepository<vPlatnosciEcard> _repVPayment; 35 26 private readonly IRepository<PlatnosciEcard> _repPayment; 36 private FunkcjePlatnosci _func;37 private ITranslateManager _t;27 private readonly FunkcjePlatnosci _funkcjePlatnosci; 28 private readonly ITranslateManager _translateManager; 38 29 39 30 public MerchantController() … … 41 32 _repVPayment = new Repository<vPlatnosciEcard>(new DataContext1()); 42 33 _repPayment = new Repository<PlatnosciEcard>(new DataContext1()); 43 _fun c= new FunkcjePlatnosci();44 _t = new Translation();34 _funkcjePlatnosci = new FunkcjePlatnosci(); 35 _translateManager = new Translation(); 45 36 } 37 46 38 public ActionResult Merchant(Payer payer, string language) 47 39 { 48 40 System.Diagnostics.Debug.WriteLine("MerchantController:Merchant:" + language); 49 language = _fun c.setLanguage(language);41 language = _funkcjePlatnosci.setLanguage(language); 50 42 51 intid1 = Convert.ToInt32(payer.Id_faktury);52 v PlatnosciEcardplatnosc = _repVPayment.Find(p => p.ID_faktury == id1).SingleOrDefault();43 var id1 = Convert.ToInt32(payer.Id_faktury); 44 var platnosc = _repVPayment.Find(p => p.ID_faktury == id1).SingleOrDefault(); 53 45 54 46 if (platnosc == null) 55 47 { 56 ErrorViewData errorViewData = _func.InitErrorViewData(_t.Translate("tlumaczenia", "brakdanych")); 57 return View("Error1", errorViewData); 58 } 59 else if (!_func.UserIdentity(platnosc, ControllerContext.HttpContext.User.Identity.Name)) 60 { 61 ErrorViewData errorViewData = _func.InitErrorViewData(_t.Translate("tlumaczenia", "weryfikacja")); 48 ErrorViewData errorViewData = _funkcjePlatnosci.InitErrorViewData(_translateManager.Translate("tlumaczenia", "brakdanych")); 62 49 return View("Error1", errorViewData); 63 50 } 64 51 65 Waluta waluta = _func.setAmount(platnosc); 66 var newPayment = InitNewPayment(id1, platnosc, waluta, payer ); 67 68 string systemKs = platnosc.SystemKsiegowyId.ToString(); 69 70 bool createPayment = AddNewPayment(newPayment); 71 if (createPayment == false) 52 if (!_funkcjePlatnosci.UserIdentity(platnosc, ControllerContext.HttpContext.User.Identity.Name)) 72 53 { 73 ErrorViewData errorViewData = _func.InitErrorViewData(_t.Translate("tlumaczenia", "error_hash")); 74 errorViewData.idfaktury = payer.Id_faktury; 54 ErrorViewData errorViewData = _funkcjePlatnosci.InitErrorViewData(_translateManager.Translate("tlumaczenia", "weryfikacja")); 75 55 return View("Error1", errorViewData); 76 56 } 77 57 78 string hash = GetHash(newPayment, systemKs); 79 hash = hash.Replace("\n",""); 80 if (hash == BAD_HASH || hash == "" || hash == HASH_ERROR_INFO) 58 var waluta = _funkcjePlatnosci.setAmount(platnosc); 59 var newPayment = InitNewPayment(id1, platnosc, waluta, payer ); 60 61 var systemKs = platnosc.SystemKsiegowyId.ToString(); 62 63 var createPayment = AddNewPayment(newPayment); 64 65 if (createPayment == false) 81 66 { 82 ErrorViewData errorViewData = _fun c.InitErrorViewData(_t.Translate("tlumaczenia", "error_hash"));83 errorViewData. idfaktury= payer.Id_faktury;67 ErrorViewData errorViewData = _funkcjePlatnosci.InitErrorViewData(_translateManager.Translate("tlumaczenia", "error_hash")); 68 errorViewData.InvoiceId = payer.Id_faktury; 84 69 return View("Error1", errorViewData); 85 70 } 86 71 87 if (systemKs == "1") merchantId = "170906000"; 88 else merchantId = "171485000"; 72 _merchantId = systemKs == "1" ? "171485000" : "170906000"; 73 _merchantPassword = systemKs == "1" ? "ashSeth2" : "JaYpqfs0"; 74 75 var hash = GetHash(newPayment, _merchantId, _merchantPassword); 76 hash = hash.Replace("\n",""); 77 78 if (hash == BAD_HASH || hash == "" || hash == HASH_ERROR_INFO) 79 { 80 ErrorViewData errorViewData = _funkcjePlatnosci.InitErrorViewData(_translateManager.Translate("tlumaczenia", "error_hash")); 81 errorViewData.InvoiceId = payer.Id_faktury; 82 return View("Error1", errorViewData); 83 } 89 84 90 85 //przeslanie w linku ordernumber potrzebnego do wyswietlenia potwierdzenia 91 int orderek = 0; 92 orderek = _repPayment.GetOrdernumber(newPayment.ORDERDESCRIPTION, newPayment.IDFaktury, newPayment.Data); 86 var orderek = _repPayment.GetOrdernumber(newPayment.ORDERDESCRIPTION, newPayment.IDFaktury, newPayment.Data); 93 87 94 string LinkFail = ConfigurationManager.AppSettings["Strona"];95 LinkFail += "/" + language + ConfigurationManager.AppSettings["LinkFail"];96 LinkFail += "/" + newPayment.IDFaktury + "?o=" + orderek;88 var linkFail = ConfigurationManager.AppSettings["Strona"]; 89 linkFail += "/" + language + ConfigurationManager.AppSettings["LinkFail"]; 90 linkFail += "/" + newPayment.IDFaktury + "?o=" + orderek; 97 91 98 string LinkOk = ConfigurationManager.AppSettings["Strona"]; 99 LinkOk += "/" + language + ConfigurationManager.AppSettings["LinkOk"]; 100 LinkOk += "/" + newPayment.IDFaktury + "?o=" + orderek; ; 101 102 //merchantid dla srodowiska testowego 103 merchantId = "171485000"; 104 wyslij(newPayment, hash, merchantId, LinkFail, LinkOk); 92 var linkOk = ConfigurationManager.AppSettings["Strona"]; 93 linkOk += "/" + language + ConfigurationManager.AppSettings["LinkOk"]; 94 linkOk += "/" + newPayment.IDFaktury + "?o=" + orderek; 95 96 SendRequest(newPayment, hash, _merchantId, linkFail, linkOk); 105 97 return new EmptyResult(); 106 98 } 107 99 private PlatnosciEcard InitNewPayment(int id, vPlatnosciEcard platnosc, Waluta waluta, Payer payer) 108 100 { 109 PlatnosciEcardnewPayment = new PlatnosciEcard();101 var newPayment = new PlatnosciEcard(); 110 102 newPayment.IDFaktury = id; 111 103 newPayment.ORDERDESCRIPTION = platnosc.Faktura_Numer; … … 128 120 return newPayment; 129 121 } 122 130 123 private bool AddNewPayment(PlatnosciEcard platnosc) 131 124 { … … 137 130 return false; 138 131 } 139 private string GetHash(PlatnosciEcard p, string ks) 132 133 private string GetHash(PlatnosciEcard p, string merchantId, string merchantPassword) 140 134 { 141 string strResponse; 142 PlatnosciEcard platnosc = _repPayment.Find(i => i.ORDERDESCRIPTION == p.ORDERDESCRIPTION && i.IDFaktury == p.IDFaktury && i.Data == p.Data).First(); 135 var platnosc = _repPayment.Find(i => i.ORDERDESCRIPTION == p.ORDERDESCRIPTION && i.IDFaktury == p.IDFaktury && i.Data == p.Data).First(); 143 136 144 137 if (platnosc == null) return HASH_ERROR_INFO; 145 138 146 stringadres = "https://pay.ecard.pl/servlet/HS?orderNumber=" + platnosc.ORDERNUMBER;147 HttpWebRequestreq = (HttpWebRequest)WebRequest.Create(adres);148 stringdane = "&orderDescription=&amount=" + platnosc.AMOUNT;139 var adres = "https://pay.ecard.pl/servlet/HS?orderNumber=" + platnosc.ORDERNUMBER; 140 var req = (HttpWebRequest)WebRequest.Create(adres); 141 var dane = "&orderDescription=&amount=" + platnosc.AMOUNT; 149 142 dane += "¤cy=" + platnosc.CURRENCY; 150 dane += "&merchantId=171485000&password=ashSeth2";143 dane += string.Format("&merchantId={0}&password={1}", merchantId, merchantPassword); 151 144 152 // if (ks == "1") dane += "&merchantId=171485000&password=ashSeth2"; 153 // else dane += "&merchantId=170906000&password=JaYpqfs0"; 154 155 byte[] bdata = System.Text.ASCIIEncoding.ASCII.GetBytes(dane); 145 var bdata = System.Text.Encoding.ASCII.GetBytes(dane); 156 146 req.Method = "POST"; 157 147 req.ContentType = "application/x-www-form-urlencoded"; 158 148 req.ContentLength = dane.Length; 159 149 160 StreamreqStream = req.GetRequestStream();150 var reqStream = req.GetRequestStream(); 161 151 reqStream.Write(bdata, 0, bdata.Length); 162 152 reqStream.Close(); 163 153 164 StreamReader streamResponse = new StreamReader(req.GetResponse().GetResponseStream());165 str Response = streamResponse.ReadToEnd();154 var streamResponse = new StreamReader(req.GetResponse().GetResponseStream()); 155 string strResponse = streamResponse.ReadToEnd(); 166 156 streamResponse.Close(); 167 157 168 158 return strResponse; 169 159 } 170 private void wyslij(PlatnosciEcard m, string hash, string merchantid, string linkok, string linkfail) 160 161 private void SendRequest(PlatnosciEcard m, string hash, string merchantid, string linkok, string linkfail) 171 162 { 172 //string adres = "https://pay.ecard.pl/payment/PS?ORDERDESCRIPTION=" + m.ORDERDESCRIPTION; 173 174 string adres = "https://pay.ecard.pl/servlet/PSTEST?ORDERDESCRIPTION=" + m.ORDERDESCRIPTION; 175 HttpWebRequest req = (HttpWebRequest)WebRequest.Create(adres); 176 string dane = "&AMOUNT=" + m.AMOUNT + "&CURRENCY=" + m.CURRENCY + "&ORDERNUMBER=" + m.ORDERNUMBER; 163 var adres = ConfigurationManager.AppSettings["eCard.Url"] + "?ORDERDESCRIPTION=" + m.ORDERDESCRIPTION; 164 165 var dane = "&AMOUNT=" + m.AMOUNT + "&CURRENCY=" + m.CURRENCY + "&ORDERNUMBER=" + m.ORDERNUMBER; 177 166 dane += "&NAME=" + m.NAME + "&SURNAME=" + m.SURNAME + "&LANGUAGE=" + m.LANGUAGE + "&CHARSET=ISO-8859-2"; 178 167 dane += "&COUNTRY=616&PAYMENTTYPE=CARDS&JS=1&HASH=" + hash + "&MERCHANTID=" + merchantid + "&AUTODEPOSIT=" + m.AUTODEPOSIT; -
trunk/eCard/eCardMVC/Platnosci/Controllers/PlatnoscController.cs
r927 r933 1 1 using System; 2 2 using System.Linq; 3 using System.Text;4 using System.Web;5 3 using System.Web.Mvc; 6 using System.Web.Mvc.Ajax;7 4 using Platnosci.Models; 8 5 using Platnosci.Core.Linq; 9 6 using Platnosci.Core.Interface; 10 using System.Collections.Generic;11 using System.Globalization;12 using System.Web.UI;13 using System.Threading;14 using System.Data.Linq;15 using System.Web.Configuration;16 using System.Web.Routing;17 7 18 8 namespace Platnosci.Controllers … … 24 14 public const string ISPAID = "payment_deposited"; //transakcja potwierdzona do rozliczenia 25 15 private readonly IRepository<vPlatnosciEcard> _repVPayment; 26 private IRepository<PlatnosciEcard> _repPayment;16 private readonly IRepository<PlatnosciEcard> _repPayment; 27 17 private readonly IRepository<PotwierdzeniaEcard> _repConfirm; 28 private ITranslateManager translation;29 private FunkcjePlatnosci _func;18 private readonly ITranslateManager _translateManager; 19 private readonly FunkcjePlatnosci _funkcjePlatnosci; 30 20 31 21 public PlatnoscController() … … 34 24 _repPayment = new Repository<PlatnosciEcard>(new DataContext1()); 35 25 _repConfirm = new Repository<PotwierdzeniaEcard>(new DataContext1()); 36 _fun c= new FunkcjePlatnosci();37 translation= new Translation();26 _funkcjePlatnosci = new FunkcjePlatnosci(); 27 _translateManager = new Translation(); 38 28 } 39 29 public PlatnoscController(IRepository<vPlatnosciEcard> repVPayment, IRepository<PlatnosciEcard> repPayment, IRepository<PotwierdzeniaEcard> repConfirm, ITranslateManager translate) … … 42 32 _repPayment = repPayment; 43 33 _repConfirm = repConfirm; 44 _fun c= new FunkcjePlatnosci();45 translation= translate;34 _funkcjePlatnosci = new FunkcjePlatnosci(); 35 _translateManager = translate; 46 36 } 47 37 public ActionResult Show(string id, string language) 48 38 { 49 language = _func.setLanguage(language); 50 int id1 = ConvertId(id); 51 52 vPlatnosciEcard platnosc = _repVPayment.Find(p => p.ID_faktury == id1).SingleOrDefault(); 53 if (!String.IsNullOrEmpty(Iserror(platnosc).error)) return View("Error1", Iserror(platnosc)); 54 55 string kwota = ""; 56 kwota = _func.BruttoToString(platnosc.Brutto, platnosc.waluta_brutto, platnosc.waluta_miano); 57 var payer = InitPayer("", "", platnosc.ID_faktury); 39 _funkcjePlatnosci.setLanguage(language); 40 var id1 = ConvertId(id); 41 42 var platnosc = _repVPayment.Find(p => p.ID_faktury == id1).SingleOrDefault(); 43 if (!String.IsNullOrEmpty(IsError(platnosc).Error)) return View("Error1", IsError(platnosc)); 44 45 var kwota = _funkcjePlatnosci.BruttoToString(platnosc.Brutto, platnosc.waluta_brutto, platnosc.waluta_miano); 46 47 var payer = InitPayer(platnosc.ID_faktury); 48 58 49 var invoiceDeatailsViewData = InitInvoiceDetailsViewData(platnosc, payer, "", kwota); 59 50 60 var tablica _potwierdzenia = _repConfirm.FindItemsByIdFaktury(id1);61 if (tablica _potwierdzenia.Count > 0) //platnosc za fakture zostala uregulowana62 { 63 string data_zaplaty = String.Format("{0:dd-MM-yyyy}", tablica_potwierdzenia[0].AUTHTIME);64 invoiceDeatailsViewData.info = String.Format( translation.Translate("tlumaczenia","zaplacono"), platnosc.Faktura_Numer, data_zaplaty);65 invoiceDeatailsViewData.termin = data _zaplaty;51 var tablicaPotwierdzenia = _repConfirm.FindItemsByIdFaktury(id1); 52 if (tablicaPotwierdzenia.Count > 0) //platnosc za fakture zostala uregulowana 53 { 54 var dataZaplaty = String.Format("{0:dd-MM-yyyy}", tablicaPotwierdzenia[0].AUTHTIME); 55 invoiceDeatailsViewData.info = String.Format(_translateManager.Translate("tlumaczenia","zaplacono"), platnosc.Faktura_Numer, dataZaplaty); 56 invoiceDeatailsViewData.termin = dataZaplaty; 66 57 return View("Paid", invoiceDeatailsViewData); 67 58 } … … 72 63 public ActionResult Show(Payer payer, string language) 73 64 { 74 language = _func.setLanguage(language); 75 vPlatnosciEcard platnosc = _repVPayment.Find(p => p.ID_faktury == payer.Id_faktury).SingleOrDefault(); 76 if (!String.IsNullOrEmpty(Iserror(platnosc).error)) return View("Error1", Iserror(platnosc)); 65 _funkcjePlatnosci.setLanguage(language); 66 67 var platnosc = _repVPayment.Find(p => p.ID_faktury == payer.Id_faktury).SingleOrDefault(); 68 69 if (!String.IsNullOrEmpty(IsError(platnosc).Error)) return View("Error1", IsError(platnosc)); 77 70 78 71 if (String.IsNullOrEmpty(payer.FirstName)) 79 72 { 80 ModelState.AddModelError("Payer.FirstName", translation.Translate("tlumaczenia", "err_imieWK"));73 ModelState.AddModelError("Payer.FirstName", _translateManager.Translate("tlumaczenia", "err_imieWK")); 81 74 } 82 75 if (String.IsNullOrEmpty(payer.LastName)) 83 76 { 84 ModelState.AddModelError("Payer.LastName", translation.Translate("tlumaczenia", "err_nazwiskoWK"));77 ModelState.AddModelError("Payer.LastName", _translateManager.Translate("tlumaczenia", "err_nazwiskoWK")); 85 78 } 86 79 if (ModelState.IsValid == false) 87 80 { 88 string kwota = ""; 89 kwota = _func.BruttoToString(platnosc.Brutto, platnosc.waluta_brutto, platnosc.waluta_miano); 81 var kwota = _funkcjePlatnosci.BruttoToString(platnosc.Brutto, platnosc.waluta_brutto, platnosc.waluta_miano); 90 82 var viewData = InitInvoiceDetailsViewData(platnosc, payer, "", kwota ); 91 83 return View("Show",viewData); 92 } 93 if (payer != null) 94 { 95 System.Diagnostics.Debug.WriteLine("PlatnosciController:Show"); 96 return RedirectToAction("Merchant", "Merchant", payer); 97 } 98 else return View("Error"); 99 } 84 } 85 86 return RedirectToAction("Merchant", "Merchant", payer); 87 } 88 100 89 public ActionResult Ok(string id, string language, string o) 101 90 { 102 int order = ConvertId(o); 103 language = _func.setLanguage(language); 104 int id1 = ConvertId(id); 105 vPlatnosciEcard platnosc = _repVPayment.Find(p => p.ID_faktury == id1).SingleOrDefault(); 106 if (!String.IsNullOrEmpty(Iserror(platnosc).error)) return View("Error1", Iserror(platnosc)); 91 var order = ConvertId(o); 92 93 _funkcjePlatnosci.setLanguage(language); 94 95 var id1 = ConvertId(id); 96 97 var platnosc = _repVPayment.Find(p => p.ID_faktury == id1).SingleOrDefault(); 98 99 if (!String.IsNullOrEmpty(IsError(platnosc).Error)) return View("Error1", IsError(platnosc)); 107 100 108 101 var invoiceDeatailsViewData = InitInvoiceDetailsViewData(platnosc, null, "" , ""); … … 114 107 if (CheckConfirm(id1, order) == 0) //nie ma potwierdzenia z eCardu 115 108 { 116 invoiceDeatailsViewData.info = String.Format( translation.Translate("tlumaczenia", "blad1"), invoiceDeatailsViewData.vPlatnosciEcard.Faktura_Numer);109 invoiceDeatailsViewData.info = String.Format(_translateManager.Translate("tlumaczenia", "blad1"), invoiceDeatailsViewData.vPlatnosciEcard.Faktura_Numer); 117 110 } 118 111 else 119 112 { 120 if (CheckConfirm(id1, order) == 2) invoiceDeatailsViewData.info = translation.Translate("tlumaczenia", "weryfikacja");113 if (CheckConfirm(id1, order) == 2) invoiceDeatailsViewData.info = _translateManager.Translate("tlumaczenia", "weryfikacja"); 121 114 } 122 115 } … … 126 119 public ActionResult Fail(string id, string language) 127 120 { 128 language = _func.setLanguage(language);129 intid1 = ConvertId(id);130 v PlatnosciEcardplatnosc = _repVPayment.Find(p => p.ID_faktury == id1).SingleOrDefault();131 if (!String.IsNullOrEmpty(Is error(platnosc).error)) return View("Error1", Iserror(platnosc));121 _funkcjePlatnosci.setLanguage(language); 122 var id1 = ConvertId(id); 123 var platnosc = _repVPayment.Find(p => p.ID_faktury == id1).SingleOrDefault(); 124 if (!String.IsNullOrEmpty(IsError(platnosc).Error)) return View("Error1", IsError(platnosc)); 132 125 133 126 var invoiceDeatailsViewData = InitInvoiceDetailsViewData(platnosc, null, "", ""); … … 140 133 public ActionResult Status() 141 134 { 142 string CURRENTSTATE = ""; 143 int ORDERNUMBER = 0; 144 145 PotwierdzeniaEcard potwierdzenie = new PotwierdzeniaEcard(); 135 var potwierdzenie = new PotwierdzeniaEcard(); 146 136 var content = new ContentResult(); 147 137 try … … 151 141 if (!String.IsNullOrEmpty(Request.Form["BIN"])) potwierdzenie.BIN = Request.Form["BIN"]; 152 142 if (!String.IsNullOrEmpty(Request.Form["COMMTYPE"])) potwierdzenie.COMMTYPE = Request.Form["COMMTYPE"]; 153 if (!String.IsNullOrEmpty(Request.Form["CURRENTSTATE"])) 154 { 155 CURRENTSTATE = Request.Form["CURRENTSTATE"]; 156 potwierdzenie.CURRENTSTATE = CURRENTSTATE; 157 } 143 if (!String.IsNullOrEmpty(Request.Form["CURRENTSTATE"])) potwierdzenie.CURRENTSTATE = Request.Form["CURRENTSTATE"]; 158 144 if (!String.IsNullOrEmpty(Request.Form["DATATRANSMISJI"])) potwierdzenie.DATATRANSMISJI = Convert.ToDateTime(Request.Form["DATATRANSMISJI"]); 159 145 if (!String.IsNullOrEmpty(Request.Form["EVENTTYPE"])) potwierdzenie.EVENTTYPE = Convert.ToBoolean(Request.Form["EVENTTYPE"]); 160 146 if (!String.IsNullOrEmpty(Request.Form["MERCHANTNUMBER"])) potwierdzenie.MERCHANTNUMBER = Request.Form["MERCHANTNUMBER"]; 161 if (!String.IsNullOrEmpty(Request.Form["ORDERNUMBER"])) 162 { 163 ORDERNUMBER = Convert.ToInt32(Request.Form["ORDERNUMBER"]); 164 potwierdzenie.ORDERNUMBER = ORDERNUMBER; 165 } 147 if (!String.IsNullOrEmpty(Request.Form["ORDERNUMBER"])) potwierdzenie.ORDERNUMBER = Convert.ToInt32(Request.Form["ORDERNUMBER"]); 166 148 if (!String.IsNullOrEmpty(Request.Form["PAYMENTNUMBER"])) potwierdzenie.PAYMENTNUMBER = Convert.ToBoolean(Request.Form["PAYMENTNUMBER"]); 167 149 if (!String.IsNullOrEmpty(Request.Form["PAYMENTTYPE"])) potwierdzenie.PAYMENTTYPE = Convert.ToBoolean(Request.Form["PAYMENTTYPE"]); … … 172 154 173 155 _repConfirm.Insert(potwierdzenie); 174 UpdateStatus(ORDERNUMBER, CURRENTSTATE); 156 157 if (potwierdzenie.ORDERNUMBER.HasValue) 158 UpdateStatus(potwierdzenie.ORDERNUMBER.Value, potwierdzenie.CURRENTSTATE); 159 175 160 content.Content = "OK"; 176 161 } … … 182 167 return content; 183 168 } 184 private Payer InitPayer(string FirstName, string LastName, int Id_faktury) 185 { 186 Payer payer = new Payer(); 187 payer.FirstName = ""; 188 payer.LastName = ""; 189 payer.Id_faktury = Id_faktury; 169 170 private static Payer InitPayer(int idFaktury) 171 { 172 var payer = new Payer {Id_faktury = idFaktury}; 190 173 return payer; 191 174 } 192 private InvoiceDetailsViewData InitInvoiceDetailsViewData(vPlatnosciEcard platnosc, Payer payer, string status, string brutto ) 175 176 private static InvoiceDetailsViewData InitInvoiceDetailsViewData(vPlatnosciEcard platnosc, Payer payer, string status, string brutto ) 193 177 { 194 178 var invoiceDeatailsViewData = new InvoiceDetailsViewData(); … … 199 183 return invoiceDeatailsViewData; 200 184 } 185 201 186 public int ConvertId(string id) 202 187 { 203 int id1 = 0; 204 try 205 { 206 id1 = (id != null) ? Convert.ToInt32(id) : 0; 207 } 208 catch 209 { 210 } 211 return id1; 212 } 213 public ErrorViewData Iserror(vPlatnosciEcard platnosc) 214 { 215 string errortxt = ""; 216 if (platnosc == null) errortxt = translation.Translate("tlumaczenia", "brakdanych"); 217 else if (!_func.UserIdentity(platnosc, HttpContext.User.Identity.Name)) errortxt = translation.Translate("tlumaczenia","weryfikacja"); 218 ErrorViewData errorViewData = _func.InitErrorViewData(errortxt); 219 return errorViewData; 220 } 188 int id1; 189 return Int32.TryParse(id, out id1) ? id1 : 0; 190 } 191 192 public ErrorViewData IsError(vPlatnosciEcard platnosc) 193 { 194 var errortxt = ""; 195 196 if (platnosc == null) 197 errortxt = _translateManager.Translate("tlumaczenia", "brakdanych"); 198 else if (!_funkcjePlatnosci.UserIdentity(platnosc, HttpContext.User.Identity.Name)) 199 errortxt = _translateManager.Translate("tlumaczenia","weryfikacja"); 200 201 return _funkcjePlatnosci.InitErrorViewData(errortxt); 202 } 203 221 204 public void UpdateStatus(int ordernumber, string currentstate) 222 205 { 223 PlatnosciEcard platnosc = _repPayment.Find(p => p.ORDERNUMBER == ordernumber).SingleOrDefault(); 224 if (platnosc != null && currentstate == ISPAID) 225 { 226 platnosc.Status = true; 227 platnosc.Status_data = DateTime.Now; 228 _repPayment.SubmitChanges(); 229 230 System.Diagnostics.Debug.WriteLine("IsUpdate"); 231 } 232 } 206 var platnosc = _repPayment.Find(p => p.ORDERNUMBER == ordernumber).SingleOrDefault(); 207 208 if (platnosc == null || currentstate != ISPAID) return; 209 210 platnosc.Status = true; 211 platnosc.Status_data = DateTime.Now; 212 _repPayment.SubmitChanges(); 213 } 214 233 215 public int CheckConfirm(int idfaktury, int order) 234 216 { 235 PlatnosciEcard pl = _repPayment.Find(p => p.ORDERNUMBER == order && p.IDFaktury == idfaktury).SingleOrDefault(); 217 var pl = _repPayment.Find(p => p.ORDERNUMBER == order && p.IDFaktury == idfaktury).SingleOrDefault(); 218 236 219 if (pl != null) 237 220 { 238 PotwierdzeniaEcardconfirm = _repConfirm.Find(p => p.ORDERNUMBER == order).FirstOrDefault();221 var confirm = _repConfirm.Find(p => p.ORDERNUMBER == order).FirstOrDefault(); 239 222 if (confirm == null) return 0; //potwierdzenie nie przyszlo z eCardu 240 223 } … … 243 226 return 2; //nie ma platnosci o takim idfaktury i ordernumber 244 227 } 228 245 229 return 1; //potwierdzenie przyszlo z eCardu 246 } 247 public IRepository<vPlatnosciEcard> getRepVPayment() 248 { 249 return this._repVPayment; 250 } 251 public IRepository<PlatnosciEcard> getRepPayment() 252 { 253 return this._repPayment; 254 } 255 public IRepository<PotwierdzeniaEcard> getRepConfirm() 256 { 257 return this._repConfirm; 258 } 230 } 259 231 } 260 232 } -
trunk/eCard/eCardMVC/Platnosci/Models/ErrorViewData.cs
r916 r933 1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Web; 5 6 namespace Platnosci.Models 1 namespace Platnosci.Models 7 2 { 8 3 public class ErrorViewData 9 4 { 10 public string error { get; set; } 11 public OperationType type { get; set; } 12 public string tytul {get; set;} 13 public int idfaktury { get; set; } 5 public string Error { get; set; } 6 public int InvoiceId { get; set; } 14 7 } 15 8 } -
trunk/eCard/eCardMVC/Platnosci/Models/FunkcjePlatnosci.cs
r914 r933 101 101 { 102 102 ErrorViewData er = new ErrorViewData(); 103 er. error = errortxt;103 er.Error = errortxt; 104 104 return er; 105 105 } -
trunk/eCard/eCardMVC/Platnosci/Views/Shared/Error1.aspx
r916 r933 12 12 13 13 <p class="Info"> 14 <%=Model. error%>15 <%if (Model. error == HttpContext.GetGlobalResourceObject("tlumaczenia", "error_hash").ToString())14 <%=Model.Error%> 15 <%if (Model.Error == HttpContext.GetGlobalResourceObject("tlumaczenia", "error_hash").ToString()) 16 16 { 17 17 string link2 = HttpContext.GetGlobalResourceObject("tlumaczenia", "KolejnaProba").ToString();%> 18 <span id="link1"><%=Html.ActionLink(link2, "Show", "Platnosc", new { id = Model. idfaktury}, null)%></span>18 <span id="link1"><%=Html.ActionLink(link2, "Show", "Platnosc", new { id = Model.InvoiceId }, null)%></span> 19 19 <%}%> 20 20 </p> -
trunk/eCard/eCardMVC/Platnosci/Web.config
r888 r933 32 32 </configSections> 33 33 <appSettings> 34 <!--Wersja LIVE--> 35 <!--<add key="eCard.Url" value="https://pay.ecard.pl/payment/PS"/>--> 36 <!--Wersja DEV--> 37 <add key="eCard.Url" value="https://pay.ecard.pl/servlet/PSTEST"/> 38 34 39 <add key="StatusLink" value="http://pay.truck-expo.com/info.aspx"/> 35 40 <add key="Css" value="truck"/>
