Zbiór zmian 939 dla branches/Emisje/eCard/eCardMVC/Platnosci/Controllers
- Data:
- 2009-12-08 10:09:39 (16 years ago)
- Lokalizacja:
- branches/Emisje
- Pliki:
-
- 5 zmodyfikowane
-
. (zmodyfikowane) (1 prop)
-
eCard/eCardMVC/Platnosci/Controllers/AccountController.cs (zmodyfikowane) (5 diffs)
-
eCard/eCardMVC/Platnosci/Controllers/HomeController.cs (zmodyfikowane) (1 diff)
-
eCard/eCardMVC/Platnosci/Controllers/MerchantController.cs (zmodyfikowane) (3 diffs)
-
eCard/eCardMVC/Platnosci/Controllers/PlatnoscController.cs (zmodyfikowane) (4 diffs)
Legenda:
- Bez zmian
- Dodane
- Usunięte
-
branches/Emisje
- Property svn:mergeinfo
-
old new 3 3 /branches/ReklamaReorganizacja:568-731 4 4 /tags/BazaReklam_1.1.28:831 5 /trunk:774-893 5 /trunk:774-893,896-936
-
- Property svn:mergeinfo
-
branches/Emisje/eCard/eCardMVC/Platnosci/Controllers/AccountController.cs
r895 r939 1 1 using System; 2 2 using System.Linq; 3 using System.Text;4 3 using System.Web.Mvc; 5 4 using System.Web.Security; 6 using System.Collections.Generic;7 5 using Platnosci.Core.Linq; 8 6 using Platnosci.Models; 9 using System.Globalization;10 using System.Threading;11 7 using Platnosci.Core.Interface; 12 using System.Resources;13 using Platnosci.Core;14 8 15 9 namespace Platnosci.Controllers 16 { 17 10 { 18 11 [HandleError] 19 12 public class AccountController : Controller 20 13 { 14 private readonly IRepository<vPlatnosciEcard> _repository; 15 private readonly FunkcjePlatnosci _funkcjePlatnosci; 21 16 22 private readonly IRepository<vPlatnosciEcard> _repository;23 private readonly PlatnosciDataContext _context;24 private FunkcjePlatnosci _func;25 26 17 public IFormsAuthentication FormsAuth 27 18 { … … 34 25 _repository = new Repository<vPlatnosciEcard>(new DataContext1()); 35 26 FormsAuth = new FormsAuthenticationService(); 36 _context = new PlatnosciDataContext(); 37 _func = new FunkcjePlatnosci(); 27 _funkcjePlatnosci = new FunkcjePlatnosci(); 38 28 } 39 29 40 public AccountController(IFormsAuthentication formsAuth, IRepository<vPlatnosciEcard> repository, PlatnosciDataContext context,FunkcjePlatnosci func)30 public AccountController(IFormsAuthentication formsAuth, IRepository<vPlatnosciEcard> repository, FunkcjePlatnosci func) 41 31 { 42 32 _repository = repository; 43 33 FormsAuth = formsAuth ?? new FormsAuthenticationService(); 44 _context = context; 45 _func = func; 34 _funkcjePlatnosci = func; 46 35 } 47 36 48 37 public ActionResult LogOn(string language) 49 38 { 50 language = _func.setLanguage(language);39 _funkcjePlatnosci.setLanguage(language); 51 40 return View(); 52 41 } … … 55 44 [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1054:UriParametersShouldNotBeStrings", 56 45 Justification = "Needs to take same parameter type as Controller.Redirect()")] 57 public ActionResult LogOn(string nip, string numer _faktury, string returnUrl, string language)46 public ActionResult LogOn(string nip, string numerFaktury, string returnUrl, string language) 58 47 { 59 60 language = _func.setLanguage(language); 61 vPlatnosciEcard platnosc = new vPlatnosciEcard(); 62 if (!ValidateLogOn(nip, numer_faktury)) 48 _funkcjePlatnosci.setLanguage(language); 49 var platnosc = new vPlatnosciEcard(); 50 if (!ValidateLogOn(nip, numerFaktury)) 63 51 { 64 52 return View(); 65 53 } 66 else 67 { 68 var Login = _repository.FindInvoiceByNipNumber(nip, numer_faktury).SingleOrDefault(); 69 platnosc = Login; 70 if (platnosc == null) return View(); 71 } 72 _func.SetUserLogger(nip, numer_faktury); 54 55 var login = _repository.FindInvoiceByNipNumber(nip, numerFaktury).SingleOrDefault(); 56 platnosc = login; 57 if (platnosc == null) return View(); 58 _funkcjePlatnosci.SetUserLogger(nip, numerFaktury); 73 59 74 60 FormsAuth.SignIn(nip, false); … … 78 64 return Redirect(returnUrl); 79 65 } 80 else return RedirectToAction("Show", "Platnosc", new { id = platnosc.ID_faktury }); 66 67 return RedirectToAction("Show", "Platnosc", new { id = platnosc.ID_faktury }); 81 68 } 69 82 70 public ActionResult LogOff() 83 71 { … … 86 74 } 87 75 88 private bool ValidateLogOn(string nip, string numer _faktury)76 private bool ValidateLogOn(string nip, string numerFaktury) 89 77 { 90 78 if (String.IsNullOrEmpty(nip)) 91 79 { 92 string err_nip = HttpContext.GetGlobalResourceObject("tlumaczenia", "err_nip").ToString();93 ModelState.AddModelError("nip", err _nip);80 var errNip = HttpContext.GetGlobalResourceObject("tlumaczenia", "err_nip").ToString(); 81 ModelState.AddModelError("nip", errNip); 94 82 } 95 if (String.IsNullOrEmpty(numer _faktury))83 if (String.IsNullOrEmpty(numerFaktury)) 96 84 { 97 string err_faktura = HttpContext.GetGlobalResourceObject("tlumaczenia", "err_faktura").ToString();98 ModelState.AddModelError("numer _faktury", err_faktura);85 var errFaktura = HttpContext.GetGlobalResourceObject("tlumaczenia", "err_faktura").ToString(); 86 ModelState.AddModelError("numerFaktury", errFaktura); 99 87 } 100 88 if (ModelState.IsValid) 101 89 { 102 bool DaneOk = _repository.Exists(u => u.Faktura_Numer == numer_faktury && u.nip == nip);103 if ( DaneOk == false)90 var daneOk = _repository.Exists(u => u.Faktura_Numer == numerFaktury && u.nip == nip); 91 if (daneOk == false) 104 92 { 105 string err_logowanie = HttpContext.GetGlobalResourceObject("tlumaczenia", "err_logowanie").ToString();106 ModelState.AddModelError("_FORM", err _logowanie);107 } 93 var errLogowanie = HttpContext.GetGlobalResourceObject("tlumaczenia", "err_logowanie").ToString(); 94 ModelState.AddModelError("_FORM", errLogowanie); 95 } 108 96 } 109 97 return ModelState.IsValid; -
branches/Emisje/eCard/eCardMVC/Platnosci/Controllers/HomeController.cs
r866 r939 1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Web; 5 using System.Web.Mvc; 1 using System.Web.Mvc; 6 2 7 3 namespace Platnosci.Controllers -
branches/Emisje/eCard/eCardMVC/Platnosci/Controllers/MerchantController.cs
r895 r939 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; … … 29 19 public const string KOD_POLSKA = "616"; //kod kraju Akceptanta - Polska 30 20 public const string KODOWANIE = "ISO-8859-2"; 31 p rivate int ORDERNUMBER = 122;21 public const string HASH_ERROR_INFO = "payment not exist"; 32 22 33 private string merchantId;34 private readonly PlatnosciDataContext _context;35 private readonly IRepository<PlatnosciEcard> _rep;36 private FunkcjePlatnosci _func;23 private readonly IRepository<vPlatnosciEcard> _repVPayment; 24 private readonly IRepository<PlatnosciEcard> _repPayment; 25 private readonly FunkcjePlatnosci _funkcjePlatnosci; 26 private readonly ITranslateManager _translateManager; 37 27 38 28 public MerchantController() 39 { 40 _rep = new Repository<PlatnosciEcard>(new DataContext1()); 41 _context = new PlatnosciDataContext(); 42 _func = new FunkcjePlatnosci(); 29 { 30 _repVPayment = new Repository<vPlatnosciEcard>(new DataContext1()); 31 _repPayment = new Repository<PlatnosciEcard>(new DataContext1()); 32 _funkcjePlatnosci = new FunkcjePlatnosci(); 33 _translateManager = new Translation(); 43 34 } 35 44 36 public ActionResult Merchant(Payer payer, string language) 45 37 { 46 38 System.Diagnostics.Debug.WriteLine("MerchantController:Merchant:" + language); 47 language = _fun c.setLanguage(language);39 language = _funkcjePlatnosci.setLanguage(language); 48 40 49 intid1 = Convert.ToInt32(payer.Id_faktury);50 v PlatnosciEcard platnosc = _rep.FindInvoiceById(id1).SingleOrDefault();41 var id1 = Convert.ToInt32(payer.Id_faktury); 42 var platnosc = _repVPayment.Find(p => p.ID_faktury == id1).SingleOrDefault(); 51 43 52 if (platnosc == null) 53 { 54 ErrorViewData errorViewData = _func.InitErrorViewData(HttpContext.GetGlobalResourceObject("tlumaczenia", "brakdanych").ToString()); 55 return View("Error1", errorViewData); 56 } 57 else if (!_func.UserIdentity(platnosc, ControllerContext.HttpContext.User.Identity.Name)) 58 { 59 ErrorViewData errorViewData = _func.InitErrorViewData(HttpContext.GetGlobalResourceObject("tlumaczenia", "weryfikacja").ToString()); 60 return View("Error1", errorViewData); 61 } 44 if (platnosc == null) 45 return View("Error1", IsError("brakdanych", 0)); 62 46 63 Waluta waluta = _func.setAmount(platnosc); 47 if (!_funkcjePlatnosci.UserIdentity(platnosc, ControllerContext.HttpContext.User.Identity.Name)) 48 return View("Error1", IsError("weryfikacja", 0)); 49 50 var waluta = _funkcjePlatnosci.setAmount(platnosc); 64 51 var newPayment = InitNewPayment(id1, platnosc, waluta, payer ); 65 52 66 stringsystemKs = platnosc.SystemKsiegowyId.ToString();53 var systemKs = platnosc.SystemKsiegowyId.ToString(); 67 54 68 bool createPayment = AddNewPayment(newPayment); 69 if (createPayment == false) return View("Error"); 55 var createPayment = AddNewPayment(newPayment); 56 57 if (createPayment == false) 58 return View("Error1", IsError("error_hash", payer.Id_faktury)); 70 59 71 string hash = GetHash(newPayment, systemKs); 60 var merchant = getMerchantInfo(systemKs); 61 62 var hash = GetHash(newPayment, merchant); 72 63 hash = hash.Replace("\n",""); 73 if (hash == BAD_HASH || hash == "" ) return View("Error"); 64 65 if (hash == BAD_HASH || hash == "" || hash == HASH_ERROR_INFO) 66 return View("Error1", IsError("error_hash", payer.Id_faktury)); 74 67 75 if (systemKs == "1") merchantId = "170906000";76 else merchantId = "171485000";68 //przeslanie w linku ordernumber potrzebnego do wyswietlenia potwierdzenia 69 var orderek = _repPayment.GetOrdernumber(newPayment.ORDERDESCRIPTION, newPayment.IDFaktury, newPayment.Data); 77 70 78 string LinkFail = ConfigurationManager.AppSettings["Strona"];79 LinkFail += "/" + language + ConfigurationManager.AppSettings["LinkFail"];80 LinkFail += "/" + newPayment.IDFaktury;71 var linkFail = ConfigurationManager.AppSettings["Strona"]; 72 linkFail += "/" + language + ConfigurationManager.AppSettings["LinkFail"]; 73 linkFail += "/" + newPayment.IDFaktury + "?o=" + orderek; 81 74 82 string LinkOk = ConfigurationManager.AppSettings["Strona"];83 LinkOk += "/" + language + ConfigurationManager.AppSettings["LinkOk"];84 LinkOk += "/" + newPayment.IDFaktury;;75 var linkOk = ConfigurationManager.AppSettings["Strona"]; 76 linkOk += "/" + language + ConfigurationManager.AppSettings["LinkOk"]; 77 linkOk += "/" + newPayment.IDFaktury + "?o=" + orderek; 85 78 86 var merchantViewData = InitMerchantViewData(newPayment, hash, merchantId, LinkFail, LinkOk); 87 wyslij(merchantViewData, hash, merchantId); 88 return View(merchantViewData); 89 } 79 if (merchant != null && !String.IsNullOrEmpty(merchant.merchntId)) 80 SendRequest(newPayment, hash, merchant, linkFail, linkOk); 81 else 82 return View("Error1", IsError("error_hash", payer.Id_faktury)); 83 84 return new EmptyResult(); 85 } 90 86 private PlatnosciEcard InitNewPayment(int id, vPlatnosciEcard platnosc, Waluta waluta, Payer payer) 91 87 { 92 PlatnosciEcardnewPayment = new PlatnosciEcard();88 var newPayment = new PlatnosciEcard(); 93 89 newPayment.IDFaktury = id; 94 90 newPayment.ORDERDESCRIPTION = platnosc.Faktura_Numer; … … 111 107 return newPayment; 112 108 } 109 113 110 private bool AddNewPayment(PlatnosciEcard platnosc) 114 111 { 115 112 if (platnosc != null) 116 113 { 117 // _rep.Insert(platnosc);114 _repPayment.Insert(platnosc); 118 115 return true; 119 116 } 120 117 return false; 121 118 } 122 private MerchantViewData InitMerchantViewData(PlatnosciEcard newPayment, string hash, string Id, string LinkFail, string LinkOk) 119 120 private string GetHash(PlatnosciEcard p, Merchant merchant) 123 121 { 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 } 142 private string GetHash(PlatnosciEcard p, string ks) 143 { 144 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; 147 HttpWebRequest req = (HttpWebRequest)WebRequest.Create(adres); 148 string dane = "&orderDescription=&amount=" + platnosc.AMOUNT; 122 var platnosc = _repPayment.Find(i => i.ORDERDESCRIPTION == p.ORDERDESCRIPTION && i.IDFaktury == p.IDFaktury && i.Data == p.Data).First(); 123 124 if (platnosc == null || merchant == null) return HASH_ERROR_INFO; 125 126 var adres = "https://pay.ecard.pl/servlet/HS?orderNumber=" + platnosc.ORDERNUMBER; 127 var req = (HttpWebRequest)WebRequest.Create(adres); 128 var dane = "&orderDescription=&amount=" + platnosc.AMOUNT; 149 129 dane += "¤cy=" + platnosc.CURRENCY; 150 if (ks == "1") dane += "&merchantId=171485000&password=ashSeth2"; 151 else dane += "&merchantId=170906000&password=JaYpqfs0"; */ 130 dane += string.Format("&merchantId={0}&password={1}", merchant.merchntId, merchant.merchantPassword); 152 131 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¤cy=985&merchantId=171485000&password=ashSeth2"; 157 158 byte[] bdata = System.Text.ASCIIEncoding.ASCII.GetBytes(dane); 132 var bdata = System.Text.Encoding.ASCII.GetBytes(dane); 159 133 req.Method = "POST"; 160 134 req.ContentType = "application/x-www-form-urlencoded"; 161 135 req.ContentLength = dane.Length; 162 136 163 StreamreqStream = req.GetRequestStream();137 var reqStream = req.GetRequestStream(); 164 138 reqStream.Write(bdata, 0, bdata.Length); 165 139 reqStream.Close(); 166 140 167 StreamReader streamResponse = new StreamReader(req.GetResponse().GetResponseStream());168 str Response = streamResponse.ReadToEnd();141 var streamResponse = new StreamReader(req.GetResponse().GetResponseStream()); 142 string strResponse = streamResponse.ReadToEnd(); 169 143 streamResponse.Close(); 170 144 171 145 return strResponse; 172 146 } 173 private void wyslij(MerchantViewData m, string hash, string id) 147 148 private void SendRequest(PlatnosciEcard m, string hash, Merchant merchant, string linkok, string linkfail) 174 149 { 175 string adres = "https://pay.ecard.pl/servlet/PSTEST?ORDERDESCRIPTION="+m.nowaPlatnosc.ORDERDESCRIPTION; 176 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="; 150 var adres = ConfigurationManager.AppSettings["eCard.Url"] + "?ORDERDESCRIPTION=" + m.ORDERDESCRIPTION; 151 152 var dane = "&AMOUNT=" + m.AMOUNT + "&CURRENCY=" + m.CURRENCY + "&ORDERNUMBER=" + m.ORDERNUMBER; 153 dane += "&NAME=" + m.NAME + "&SURNAME=" + m.SURNAME + "&LANGUAGE=" + m.LANGUAGE + "&CHARSET=ISO-8859-2"; 154 dane += "&COUNTRY=616&PAYMENTTYPE=CARDS&JS=1&HASH=" + hash + "&MERCHANTID=" + merchant.merchntId + "&AUTODEPOSIT=" + m.AUTODEPOSIT; 155 dane += "&LINKFAIL=" + linkfail + "&LINKOK=" + linkok + "&SESSIONID=" + m.SESSIONID; 180 156 Response.Redirect(adres + dane); 157 } 158 public ErrorViewData IsError(string errortxt, int idFaktury) 159 { 160 if (errortxt == "brakdanych") 161 errortxt = _translateManager.Translate("tlumaczenia", "brakdanych"); 162 else if (errortxt == "weryfikacja") 163 errortxt = _translateManager.Translate("tlumaczenia", "weryfikacja"); 164 else if (errortxt == "error_hash") 165 errortxt = _translateManager.Translate("tlumaczenia", "error_hash"); 166 167 return _funkcjePlatnosci.InitErrorViewData(errortxt, idFaktury); 168 } 169 public Merchant getMerchantInfo( string systemKs) 170 { 171 var merchant = new Merchant(); 172 if (systemKs == "1") 173 { 174 merchant.merchntId = "171485000"; 175 merchant.merchantPassword = "ashSeth2"; 176 } 177 else 178 { 179 merchant.merchntId = "170906000"; 180 merchant.merchantPassword = "JaYpqfs0"; 181 } 182 return merchant; 181 183 } 182 184 } -
branches/Emisje/eCard/eCardMVC/Platnosci/Controllers/PlatnoscController.cs
r895 r939 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 … … 23 13 { 24 14 public const string ISPAID = "payment_deposited"; //transakcja potwierdzona do rozliczenia 25 private readonly PlatnosciDataContext _context; 26 private readonly IDataContext _context1; 27 private readonly IRepository<PotwierdzeniaEcard> _rep; 28 private readonly IRepository<PlatnosciEcard> _repPl; 29 private FunkcjePlatnosci _func; 30 private string weryfikacja; 31 private string brakdanych; 32 private string zaplacono; 33 private string err_imie; 34 private string err_nazwisko; 35 private int test = 0; 36 15 private readonly IRepository<vPlatnosciEcard> _repVPayment; 16 private readonly IRepository<PlatnosciEcard> _repPayment; 17 private readonly IRepository<PotwierdzeniaEcard> _repConfirm; 18 private readonly ITranslateManager _translateManager; 19 private readonly FunkcjePlatnosci _funkcjePlatnosci; 20 37 21 public PlatnoscController() 38 22 { 39 _ context = new PlatnosciDataContext();40 _rep = new Repository<PotwierdzeniaEcard>(new DataContext1());41 _rep Pl = new Repository<PlatnosciEcard>(new DataContext1());42 _fun c= new FunkcjePlatnosci();43 44 } 45 public PlatnoscController(I DataContext datacontext, int czy_test)46 { 47 _rep = new Repository<PotwierdzeniaEcard>(datacontext);48 _repP l = new Repository<PlatnosciEcard>(datacontext);49 _ context1 = datacontext;50 _fun c= new FunkcjePlatnosci();51 test = czy_test;23 _repVPayment = new Repository<vPlatnosciEcard>(new DataContext1()); 24 _repPayment = new Repository<PlatnosciEcard>(new DataContext1()); 25 _repConfirm = new Repository<PotwierdzeniaEcard>(new DataContext1()); 26 _funkcjePlatnosci = new FunkcjePlatnosci(); 27 _translateManager = new Translation(); 28 } 29 public PlatnoscController(IRepository<vPlatnosciEcard> repVPayment, IRepository<PlatnosciEcard> repPayment, IRepository<PotwierdzeniaEcard> repConfirm, ITranslateManager translate) 30 { 31 _repVPayment = repVPayment; 32 _repPayment = repPayment; 33 _repConfirm = repConfirm; 34 _funkcjePlatnosci = new FunkcjePlatnosci(); 35 _translateManager = translate; 52 36 } 53 37 public ActionResult Show(string id, string language) 54 38 { 55 language = _func.setLanguage(language);56 ustawTlumaczenia(test);57 int id1 = ConvertId(id); 58 59 vPlatnosciEcard platnosc = _rep.FindInvoiceById(id1).SingleOrDefault();60 if (!String.IsNullOrEmpty(Iserror(platnosc).error)) return View("Error1", Iserror(platnosc)); 61 62 string kwota = "";63 kwota = _func.BruttoToString(platnosc.Brutto, platnosc.waluta_brutto, platnosc.waluta_miano);64 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 65 49 var invoiceDeatailsViewData = InitInvoiceDetailsViewData(platnosc, payer, "", kwota); 66 50 67 var tablica _potwierdzenia = _rep.FindItemsByIdFaktury(id1);68 if (tablica _potwierdzenia.Count > 0) //platnosc za fakture zostala uregulowana69 { 70 string data_zaplaty = String.Format("{0:dd-MM-yyyy}", tablica_potwierdzenia[0].AUTHTIME);71 invoiceDeatailsViewData.info = String.Format( zaplacono, platnosc.Faktura_Numer, data_zaplaty);72 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; 73 57 return View("Paid", invoiceDeatailsViewData); 74 58 } … … 79 63 public ActionResult Show(Payer payer, string language) 80 64 { 81 language = _func.setLanguage(language); 82 ustawTlumaczenia(test); 83 vPlatnosciEcard platnosc = _rep.FindInvoiceById(payer.Id_faktury).SingleOrDefault(); 84 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)); 85 70 86 71 if (String.IsNullOrEmpty(payer.FirstName)) 87 72 { 88 ModelState.AddModelError("Payer.FirstName", err_imie);73 ModelState.AddModelError("Payer.FirstName", _translateManager.Translate("tlumaczenia", "err_imieWK")); 89 74 } 90 75 if (String.IsNullOrEmpty(payer.LastName)) 91 76 { 92 ModelState.AddModelError("Payer.LastName", err_nazwisko);77 ModelState.AddModelError("Payer.LastName", _translateManager.Translate("tlumaczenia", "err_nazwiskoWK")); 93 78 } 94 79 if (ModelState.IsValid == false) 95 80 { 96 string kwota = ""; 97 kwota = _func.BruttoToString(platnosc.Brutto, platnosc.waluta_brutto, platnosc.waluta_miano); 81 var kwota = _funkcjePlatnosci.BruttoToString(platnosc.Brutto, platnosc.waluta_brutto, platnosc.waluta_miano); 98 82 var viewData = InitInvoiceDetailsViewData(platnosc, payer, "", kwota ); 99 return View("Show",viewData); 100 } 101 if (payer != null) 102 { 103 System.Diagnostics.Debug.WriteLine("PlatnosciController:Show"); 104 return RedirectToAction("Merchant", "Merchant", payer); 105 } 106 else return View("Error"); 107 } 108 public ActionResult Ok(string id, string language) 109 { 110 language = _func.setLanguage(language); 111 ustawTlumaczenia(test); 112 int id1 = ConvertId(id); 113 vPlatnosciEcard platnosc = _rep.FindInvoiceById(id1).SingleOrDefault(); 114 if (!String.IsNullOrEmpty(Iserror(platnosc).error)) return View("Error1", Iserror(platnosc)); 83 return View("Show",viewData); 84 } 85 86 return RedirectToAction("Merchant", "Merchant", payer); 87 } 88 89 public ActionResult Ok(string id, string language, string o) 90 { 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)); 115 100 116 101 var invoiceDeatailsViewData = InitInvoiceDetailsViewData(platnosc, null, "" , ""); 102 103 //sprawdzamy czy dla kombinacji ordernumber i idfaktury istnieje platnosc, 104 //jesli tak, to sprawdzamy czy przyszlo potwierdzenie z eCardu. 105 if (order > 0) 106 { 107 if (CheckConfirm(id1, order) == 0) //nie ma potwierdzenia z eCardu 108 { 109 invoiceDeatailsViewData.info = String.Format(_translateManager.Translate("tlumaczenia", "blad1"), invoiceDeatailsViewData.vPlatnosciEcard.Faktura_Numer); 110 } 111 else 112 { 113 if (CheckConfirm(id1, order) == 2) invoiceDeatailsViewData.info = _translateManager.Translate("tlumaczenia", "weryfikacja"); 114 } 115 } 116 117 117 return View(invoiceDeatailsViewData); 118 118 } 119 119 public ActionResult Fail(string id, string language) 120 120 { 121 language = _func.setLanguage(language); 122 ustawTlumaczenia(test); 123 int id1 = ConvertId(id); 124 vPlatnosciEcard platnosc = _rep.FindInvoiceById(id1).SingleOrDefault(); 125 if (!String.IsNullOrEmpty(Iserror(platnosc).error)) return View("Error1", Iserror(platnosc)); 126 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)); 125 127 126 var invoiceDeatailsViewData = InitInvoiceDetailsViewData(platnosc, null, "", ""); 128 127 return View(invoiceDeatailsViewData); 129 128 } 129 public ActionResult Form() 130 { 131 return View(); 132 } 130 133 public ActionResult Status() 131 134 { 132 string MERCHANTNUMBER = Request.Form["MERCHANTNUMBER"]; 133 int ORDERNUMBER = Convert.ToInt32(Request.Form["ORDERNUMBER"]); 134 string COMMTYPE = Request.Form["COMMTYPE"]; 135 string CURRENTSTATE = Request.Form["CURRENTSTATE"]; 136 string PREVIOUSSTATE = Request.Form["PREVIOUSSTATE"]; 137 bool PAYMENTTYPE = Convert.ToBoolean(Request.Form["PAYMENTTYPE"]); 138 bool EVENTTYPE = Convert.ToBoolean(Request.Form["EVENTTYPE"]); 139 bool PAYMENTNUMBER = Convert.ToBoolean(Request.Form["PAYMENTNUMBER"]); 140 string APPROVALCODE = Request.Form["APPROVALCODE"]; 141 string VALIDATIONCODE = Request.Form["VALIDATIONCODE"]; 142 string BIN = Request.Form["BIN"]; 143 DateTime AUTHTIME = Convert.ToDateTime(Request.Form["AUTHTIME"]); 144 string TYPE = Request.Form["TYPE"]; 145 string WITHCVC = Request.Form["WITHCVC"]; 146 DateTime DATATRANSMISJI = Convert.ToDateTime(Request.Form["DATATRANSMISJI"]); 147 148 PotwierdzeniaEcard potwierdzenie = new PotwierdzeniaEcard(); 149 potwierdzenie.APPROVALCODE = APPROVALCODE; 150 potwierdzenie.AUTHTIME = AUTHTIME; 151 potwierdzenie.BIN = BIN; 152 potwierdzenie.COMMTYPE = COMMTYPE; 153 potwierdzenie.CURRENTSTATE = CURRENTSTATE; 154 potwierdzenie.DATATRANSMISJI = DATATRANSMISJI; 155 potwierdzenie.EVENTTYPE = EVENTTYPE; 156 potwierdzenie.MERCHANTNUMBER = MERCHANTNUMBER; 157 potwierdzenie.ORDERNUMBER = ORDERNUMBER; 158 potwierdzenie.PAYMENTNUMBER = PAYMENTNUMBER; 159 potwierdzenie.PAYMENTTYPE = PAYMENTTYPE; 160 potwierdzenie.PREVIOUSSTATE = PREVIOUSSTATE; 161 potwierdzenie.TYPE = TYPE; 162 potwierdzenie.VALIDATIONCODE = VALIDATIONCODE; 163 potwierdzenie.WITHCVC = WITHCVC; 164 165 _rep.Insert(potwierdzenie); 166 UpdateStatus(ORDERNUMBER, CURRENTSTATE); 167 return View(); 168 } 169 private Payer InitPayer(string FirstName, string LastName, int Id_faktury) 170 { 171 Payer payer = new Payer(); 172 payer.FirstName = ""; 173 payer.LastName = ""; 174 payer.Id_faktury = Id_faktury; 135 var potwierdzenie = new PotwierdzeniaEcard(); 136 var content = new ContentResult(); 137 try 138 { 139 if (!String.IsNullOrEmpty(Request.Form["APPROVALCODE"])) potwierdzenie.APPROVALCODE = Request.Form["APPROVALCODE"]; 140 if (!String.IsNullOrEmpty(Request.Form["AUTHTIME"])) potwierdzenie.AUTHTIME = Convert.ToDateTime(Request.Form["AUTHTIME"]); 141 if (!String.IsNullOrEmpty(Request.Form["BIN"])) potwierdzenie.BIN = Request.Form["BIN"]; 142 if (!String.IsNullOrEmpty(Request.Form["COMMTYPE"])) potwierdzenie.COMMTYPE = Request.Form["COMMTYPE"]; 143 if (!String.IsNullOrEmpty(Request.Form["CURRENTSTATE"])) potwierdzenie.CURRENTSTATE = Request.Form["CURRENTSTATE"]; 144 if (!String.IsNullOrEmpty(Request.Form["DATATRANSMISJI"])) potwierdzenie.DATATRANSMISJI = Convert.ToDateTime(Request.Form["DATATRANSMISJI"]); 145 if (!String.IsNullOrEmpty(Request.Form["EVENTTYPE"])) potwierdzenie.EVENTTYPE = Convert.ToBoolean(Request.Form["EVENTTYPE"]); 146 if (!String.IsNullOrEmpty(Request.Form["MERCHANTNUMBER"])) potwierdzenie.MERCHANTNUMBER = Request.Form["MERCHANTNUMBER"]; 147 if (!String.IsNullOrEmpty(Request.Form["ORDERNUMBER"])) potwierdzenie.ORDERNUMBER = Convert.ToInt32(Request.Form["ORDERNUMBER"]); 148 if (!String.IsNullOrEmpty(Request.Form["PAYMENTNUMBER"])) potwierdzenie.PAYMENTNUMBER = Convert.ToBoolean(Request.Form["PAYMENTNUMBER"]); 149 if (!String.IsNullOrEmpty(Request.Form["PAYMENTTYPE"])) potwierdzenie.PAYMENTTYPE = Convert.ToBoolean(Request.Form["PAYMENTTYPE"]); 150 if (!String.IsNullOrEmpty(Request.Form["PREVIOUSSTATE"])) potwierdzenie.PREVIOUSSTATE = Request.Form["PREVIOUSSTATE"]; 151 if (!String.IsNullOrEmpty(Request.Form["TYPE"])) potwierdzenie.TYPE = Request.Form["TYPE"]; 152 if (!String.IsNullOrEmpty(Request.Form["VALIDATIONCODE"])) potwierdzenie.VALIDATIONCODE = Request.Form["VALIDATIONCODE"]; 153 if (!String.IsNullOrEmpty(Request.Form["WITHCVC"])) potwierdzenie.WITHCVC = Request.Form["WITHCVC"]; 154 155 _repConfirm.Insert(potwierdzenie); 156 157 if (potwierdzenie.ORDERNUMBER.HasValue) 158 UpdateStatus(potwierdzenie.ORDERNUMBER.Value, potwierdzenie.CURRENTSTATE); 159 160 content.Content = "OK"; 161 } 162 catch(Exception ex) 163 { 164 content.Content = "FALSE " + ex.Message + " " + ex.GetType(); 165 } 166 167 return content; 168 } 169 170 private static Payer InitPayer(int idFaktury) 171 { 172 var payer = new Payer {Id_faktury = idFaktury}; 175 173 return payer; 176 174 } 177 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 ) 178 177 { 179 178 var invoiceDeatailsViewData = new InvoiceDetailsViewData(); … … 184 183 return invoiceDeatailsViewData; 185 184 } 186 private void ustawTlumaczenia(int test) 187 { 188 if (test == 0) 189 { 190 weryfikacja = Resources.tlumaczenia.weryfikacja.ToString(); 191 brakdanych = Resources.tlumaczenia.brakdanych.ToString(); 192 zaplacono = Resources.tlumaczenia.zaplacono.ToString(); 193 err_imie = Resources.tlumaczenia.err_imieWK.ToString(); 194 err_nazwisko = Resources.tlumaczenia.err_nazwiskoWK.ToString(); 195 } 196 } 197 public void setWeryfikacja(string value) 198 { 199 this.weryfikacja = value; 200 } 201 public void setBrakDanych(string value) 202 { 203 this.brakdanych = value; 204 } 205 public void setZaplacono(string value) 206 { 207 this.zaplacono = value; 208 } 185 209 186 public int ConvertId(string id) 210 187 { 211 int id1 = 0; 212 try 213 { 214 id1 = (id != null) ? Convert.ToInt32(id) : 0; 215 } 216 catch 217 { 218 } 219 return id1; 220 } 221 public ErrorViewData Iserror(vPlatnosciEcard platnosc) 222 { 223 string errortxt = ""; 224 if (platnosc == null) errortxt = brakdanych; 225 else if (!_func.UserIdentity(platnosc, HttpContext.User.Identity.Name)) errortxt = weryfikacja; 226 ErrorViewData errorViewData = _func.InitErrorViewData(errortxt); 227 return errorViewData; 228 } 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,0); 202 } 203 229 204 public void UpdateStatus(int ordernumber, string currentstate) 230 205 { 231 PlatnosciEcard platnosc = _repPl.FindOne(ordernumber); 232 if (platnosc != null && currentstate == ISPAID) 233 { 234 platnosc.Status = true; 235 platnosc.Status_data = DateTime.Now; 236 _repPl.SubmitChanges(); 237 238 System.Diagnostics.Debug.WriteLine("IsUpdate"); 239 } 240 } 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 215 public int CheckConfirm(int idfaktury, int order) 216 { 217 var pl = _repPayment.Find(p => p.ORDERNUMBER == order && p.IDFaktury == idfaktury).SingleOrDefault(); 218 219 if (pl != null) 220 { 221 var confirm = _repConfirm.Find(p => p.ORDERNUMBER == order).FirstOrDefault(); 222 if (confirm == null) return 0; //potwierdzenie nie przyszlo z eCardu 223 } 224 else 225 { 226 return 2; //nie ma platnosci o takim idfaktury i ordernumber 227 } 228 229 return 1; //potwierdzenie przyszlo z eCardu 230 } 241 231 } 242 232 }
