Zbiór zmian 933 dla trunk

Pokaż
Ignoruj:
Data:
2009-12-07 13:04:16 (16 years ago)
Autor:
marek
Opis:

re #215 - drobny refactoring

Lokalizacja:
trunk/eCard/eCardMVC
Pliki:
9 zmodyfikowane

Legenda:

Bez zmian
Dodane
Usunięte
  • trunk/eCard/eCardMVC/Platnosci.Tests/Web/MerchantControllerTests.cs

    r931 r933  
    3030            var error = (ErrorViewData)result.ViewData.Model; 
    3131 
    32             Assert.That(error.error, Is.EqualTo("weryfikacja")); 
     32            Assert.That(error.Error, Is.EqualTo("weryfikacja")); 
    3333            Assert.That(result.ViewName, Is.EqualTo("Error1")); 
    3434        } 
     
    4949            var error = (ErrorViewData)result.ViewData.Model; 
    5050 
    51             Assert.That(error.error, Is.EqualTo("brakdanych")); 
     51            Assert.That(error.Error, Is.EqualTo("brakdanych")); 
    5252            Assert.That(result.ViewName, Is.EqualTo("Error1")); 
    5353        } 
  • trunk/eCard/eCardMVC/Platnosci.Tests/Web/PlatnosciControllerTests.cs

    r931 r933  
    1717    { 
    1818        private readonly ITranslateManager _translateManager = new FakeTranslation(); 
    19         private readonly string _merchantNumber = "123"; 
     19        private const string MERCHANT_NUMBER = "123"; 
    2020        private readonly int _orderNumber = 9999; 
    2121        private const string CODE_OK = "payment_deposited";        //transakcja potwierdzona do rozliczenia 
     
    3838           var controller = new PlatnoscController(null, repository, rep, _translateManager); 
    3939           builder.InitializeController(controller); 
    40            builder.Form.Add("MERCHANTNUMBER", _merchantNumber); 
     40           builder.Form.Add("MERCHANTNUMBER", MERCHANT_NUMBER); 
    4141           builder.Form.Add("AUTHTIME", DateTime.Now.ToString()); 
    4242           builder.Form.Add("DATATRANSMISJI", DateTime.Now.ToString()); 
     
    4949 
    5050           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)); 
    5252           var paymentAfterUpdate = repository.FindOne(_orderNumber); 
    5353           System.Diagnostics.Debug.WriteLine("Status musi byc 'true'. Jest " + paymentAfterUpdate.Status); 
     
    6767            var controller = new PlatnoscController(null, repPayment, repConfirm, _translateManager); 
    6868            builder.InitializeController(controller); 
    69             builder.Form.Add("MERCHANTNUMBER", _merchantNumber); 
     69            builder.Form.Add("MERCHANTNUMBER", MERCHANT_NUMBER); 
    7070            builder.Form.Add("AUTHTIME", DateTime.Now.ToString()); 
    7171            builder.Form.Add("DATATRANSMISJI", DateTime.Now.ToString()); 
     
    7676            
    7777            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)); 
    7979             
    8080            var paymentAfterUpdate = repPayment.FindOne(_orderNumber); 
     
    128128            var error = (ErrorViewData)result.ViewData.Model; 
    129129 
    130             Assert.That(error.error, Is.EqualTo("weryfikacja")); 
     130            Assert.That(error.Error, Is.EqualTo("weryfikacja")); 
    131131            Assert.That(result.ViewName, Is.EqualTo("Error1")); 
    132132        } 
     
    145145            var error = (ErrorViewData)result.ViewData.Model; 
    146146 
    147             Assert.That(error.error, Is.EqualTo("brakdanych")); 
     147            Assert.That(error.Error, Is.EqualTo("brakdanych")); 
    148148            Assert.That(result.ViewName, Is.EqualTo("Error1")); 
    149149        } 
  • trunk/eCard/eCardMVC/Platnosci.Tests/app.config

    r887 r933  
    66    </sectionGroup> 
    77  </configSections> 
     8  <appSettings> 
     9    <add key="eCard.Url" value="https://pay.ecard.pl/servlet/PSTEST"/> 
     10  </appSettings> 
     11  
    812  <NUnit> 
    913    <TestRunner> 
  • trunk/eCard/eCardMVC/Platnosci/Controllers/MerchantController.cs

    r927 r933  
    11using System; 
    2 using System.Text; 
    32using 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; 
    113using System.Web.Mvc; 
    12 using System.Web.Mvc.Ajax; 
    13 using System.Collections.Generic; 
    144using Platnosci.Models; 
    155using Platnosci.Core.Linq; 
     
    3020        public const string KODOWANIE = "ISO-8859-2"; 
    3121        public const string HASH_ERROR_INFO = "payment not exist"; 
    32         private string merchantId; 
     22        private string _merchantId; 
     23        private string _merchantPassword; 
    3324 
    3425        private readonly IRepository<vPlatnosciEcard> _repVPayment; 
    3526        private readonly IRepository<PlatnosciEcard> _repPayment;  
    36         private FunkcjePlatnosci _func; 
    37         private ITranslateManager _t; 
     27        private readonly FunkcjePlatnosci _funkcjePlatnosci; 
     28        private readonly ITranslateManager _translateManager; 
    3829 
    3930        public MerchantController() 
     
    4132            _repVPayment = new Repository<vPlatnosciEcard>(new DataContext1()); 
    4233            _repPayment = new Repository<PlatnosciEcard>(new DataContext1()); 
    43             _func = new FunkcjePlatnosci(); 
    44             _t = new Translation(); 
     34            _funkcjePlatnosci = new FunkcjePlatnosci(); 
     35            _translateManager = new Translation(); 
    4536        } 
     37 
    4638        public ActionResult Merchant(Payer payer, string language) 
    4739        { 
    4840            System.Diagnostics.Debug.WriteLine("MerchantController:Merchant:" + language); 
    49             language = _func.setLanguage(language); 
     41            language = _funkcjePlatnosci.setLanguage(language); 
    5042 
    51             int id1 = Convert.ToInt32(payer.Id_faktury); 
    52             vPlatnosciEcard platnosc = _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(); 
    5345                  
    5446            if (platnosc == null) 
    5547            { 
    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")); 
    6249                return View("Error1", errorViewData); 
    6350            } 
    6451             
    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)) 
    7253            { 
    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")); 
    7555                return View("Error1", errorViewData); 
    7656            } 
    7757 
    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) 
    8166            { 
    82                 ErrorViewData errorViewData = _func.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; 
    8469                return View("Error1", errorViewData); 
    8570            } 
    8671 
    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            } 
    8984 
    9085            //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); 
    9387 
    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; 
    9791 
    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); 
    10597            return new EmptyResult();           
    10698        } 
    10799        private PlatnosciEcard InitNewPayment(int id, vPlatnosciEcard platnosc, Waluta waluta, Payer payer) 
    108100        { 
    109             PlatnosciEcard newPayment = new PlatnosciEcard(); 
     101            var newPayment = new PlatnosciEcard(); 
    110102            newPayment.IDFaktury = id; 
    111103            newPayment.ORDERDESCRIPTION = platnosc.Faktura_Numer; 
     
    128120            return newPayment; 
    129121        } 
     122         
    130123        private bool AddNewPayment(PlatnosciEcard platnosc) 
    131124        { 
     
    137130            return false; 
    138131        } 
    139         private string GetHash(PlatnosciEcard p, string ks) 
     132 
     133        private string GetHash(PlatnosciEcard p, string merchantId, string merchantPassword) 
    140134        { 
    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(); 
    143136 
    144137            if (platnosc == null) return HASH_ERROR_INFO; 
    145138 
    146             string adres = "https://pay.ecard.pl/servlet/HS?orderNumber=" + platnosc.ORDERNUMBER; 
    147             HttpWebRequest req = (HttpWebRequest)WebRequest.Create(adres); 
    148             string dane = "&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; 
    149142            dane += "&currency=" + platnosc.CURRENCY; 
    150             dane += "&merchantId=171485000&password=ashSeth2"; 
     143            dane += string.Format("&merchantId={0}&password={1}", merchantId, merchantPassword); 
    151144 
    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); 
    156146            req.Method = "POST"; 
    157147            req.ContentType = "application/x-www-form-urlencoded"; 
    158148            req.ContentLength = dane.Length; 
    159149 
    160             Stream reqStream = req.GetRequestStream(); 
     150            var reqStream = req.GetRequestStream(); 
    161151            reqStream.Write(bdata, 0, bdata.Length); 
    162152            reqStream.Close(); 
    163153 
    164             StreamReader streamResponse = new StreamReader(req.GetResponse().GetResponseStream()); 
    165             strResponse = streamResponse.ReadToEnd(); 
     154            var streamResponse = new StreamReader(req.GetResponse().GetResponseStream()); 
     155            string strResponse = streamResponse.ReadToEnd(); 
    166156            streamResponse.Close(); 
    167157                      
    168158            return strResponse; 
    169159        } 
    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) 
    171162        { 
    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; 
    177166            dane += "&NAME=" + m.NAME + "&SURNAME=" + m.SURNAME + "&LANGUAGE=" + m.LANGUAGE + "&CHARSET=ISO-8859-2"; 
    178167            dane += "&COUNTRY=616&PAYMENTTYPE=CARDS&JS=1&HASH=" + hash + "&MERCHANTID=" + merchantid + "&AUTODEPOSIT=" + m.AUTODEPOSIT; 
  • trunk/eCard/eCardMVC/Platnosci/Controllers/PlatnoscController.cs

    r927 r933  
    11using System; 
    22using System.Linq; 
    3 using System.Text; 
    4 using System.Web; 
    53using System.Web.Mvc; 
    6 using System.Web.Mvc.Ajax; 
    74using Platnosci.Models; 
    85using Platnosci.Core.Linq; 
    96using 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; 
    177 
    188namespace Platnosci.Controllers 
     
    2414        public const string ISPAID = "payment_deposited";       //transakcja potwierdzona do rozliczenia 
    2515        private readonly IRepository<vPlatnosciEcard> _repVPayment;        
    26         private IRepository<PlatnosciEcard> _repPayment; 
     16        private readonly IRepository<PlatnosciEcard> _repPayment; 
    2717        private readonly IRepository<PotwierdzeniaEcard> _repConfirm; 
    28         private ITranslateManager translation; 
    29         private FunkcjePlatnosci _func; 
     18        private readonly ITranslateManager _translateManager; 
     19        private readonly FunkcjePlatnosci _funkcjePlatnosci; 
    3020               
    3121        public PlatnoscController() 
     
    3424            _repPayment = new Repository<PlatnosciEcard>(new DataContext1()); 
    3525            _repConfirm = new Repository<PotwierdzeniaEcard>(new DataContext1()); 
    36             _func = new FunkcjePlatnosci(); 
    37             translation = new Translation();          
     26            _funkcjePlatnosci = new FunkcjePlatnosci(); 
     27            _translateManager = new Translation();          
    3828        } 
    3929        public PlatnoscController(IRepository<vPlatnosciEcard> repVPayment, IRepository<PlatnosciEcard> repPayment, IRepository<PotwierdzeniaEcard> repConfirm, ITranslateManager translate) 
     
    4232            _repPayment = repPayment; 
    4333            _repConfirm = repConfirm; 
    44             _func = new FunkcjePlatnosci(); 
    45             translation = translate; 
     34            _funkcjePlatnosci = new FunkcjePlatnosci(); 
     35            _translateManager = translate; 
    4636        } 
    4737        public ActionResult Show(string id, string language) 
    4838        { 
    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             
    5849            var invoiceDeatailsViewData = InitInvoiceDetailsViewData(platnosc, payer, "", kwota);   
    5950 
    60             var tablica_potwierdzenia = _repConfirm.FindItemsByIdFaktury(id1); 
    61             if (tablica_potwierdzenia.Count > 0) //platnosc za fakture zostala uregulowana 
    62             { 
    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; 
    6657                return View("Paid", invoiceDeatailsViewData); 
    6758            }        
     
    7263        public ActionResult Show(Payer payer, string language) 
    7364        { 
    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)); 
    7770             
    7871            if (String.IsNullOrEmpty(payer.FirstName)) 
    7972            { 
    80                 ModelState.AddModelError("Payer.FirstName", translation.Translate("tlumaczenia", "err_imieWK")); 
     73                ModelState.AddModelError("Payer.FirstName", _translateManager.Translate("tlumaczenia", "err_imieWK")); 
    8174            } 
    8275            if (String.IsNullOrEmpty(payer.LastName)) 
    8376            { 
    84                 ModelState.AddModelError("Payer.LastName", translation.Translate("tlumaczenia", "err_nazwiskoWK")); 
     77                ModelState.AddModelError("Payer.LastName", _translateManager.Translate("tlumaczenia", "err_nazwiskoWK")); 
    8578            } 
    8679            if (ModelState.IsValid == false) 
    8780            { 
    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);  
    9082                var viewData = InitInvoiceDetailsViewData(platnosc, payer, "", kwota ); 
    9183                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 
    10089        public ActionResult Ok(string id, string language, string o) 
    10190        { 
    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));             
    107100             
    108101            var invoiceDeatailsViewData = InitInvoiceDetailsViewData(platnosc, null, "" , ""); 
     
    114107                if (CheckConfirm(id1, order) == 0)   //nie ma potwierdzenia z eCardu 
    115108                { 
    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); 
    117110                } 
    118111                else 
    119112                { 
    120                     if (CheckConfirm(id1, order) == 2) invoiceDeatailsViewData.info = translation.Translate("tlumaczenia", "weryfikacja"); 
     113                    if (CheckConfirm(id1, order) == 2) invoiceDeatailsViewData.info = _translateManager.Translate("tlumaczenia", "weryfikacja"); 
    121114                } 
    122115            } 
     
    126119        public ActionResult Fail(string id, string language) 
    127120        { 
    128             language = _func.setLanguage(language); 
    129             int id1 = ConvertId(id); 
    130             vPlatnosciEcard platnosc = _repVPayment.Find(p => p.ID_faktury == id1).SingleOrDefault(); 
    131             if (!String.IsNullOrEmpty(Iserror(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)); 
    132125 
    133126            var invoiceDeatailsViewData = InitInvoiceDetailsViewData(platnosc, null, "", ""); 
     
    140133        public ActionResult Status() 
    141134        { 
    142             string CURRENTSTATE = ""; 
    143             int ORDERNUMBER = 0; 
    144              
    145             PotwierdzeniaEcard potwierdzenie = new PotwierdzeniaEcard(); 
     135            var potwierdzenie = new PotwierdzeniaEcard(); 
    146136            var content = new ContentResult(); 
    147137            try 
     
    151141                if (!String.IsNullOrEmpty(Request.Form["BIN"])) potwierdzenie.BIN = Request.Form["BIN"]; 
    152142                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"]; 
    158144                if (!String.IsNullOrEmpty(Request.Form["DATATRANSMISJI"])) potwierdzenie.DATATRANSMISJI = Convert.ToDateTime(Request.Form["DATATRANSMISJI"]); 
    159145                if (!String.IsNullOrEmpty(Request.Form["EVENTTYPE"])) potwierdzenie.EVENTTYPE = Convert.ToBoolean(Request.Form["EVENTTYPE"]); 
    160146                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"]); 
    166148                if (!String.IsNullOrEmpty(Request.Form["PAYMENTNUMBER"])) potwierdzenie.PAYMENTNUMBER = Convert.ToBoolean(Request.Form["PAYMENTNUMBER"]); 
    167149                if (!String.IsNullOrEmpty(Request.Form["PAYMENTTYPE"])) potwierdzenie.PAYMENTTYPE = Convert.ToBoolean(Request.Form["PAYMENTTYPE"]); 
     
    172154 
    173155                _repConfirm.Insert(potwierdzenie); 
    174                 UpdateStatus(ORDERNUMBER, CURRENTSTATE); 
     156 
     157                if (potwierdzenie.ORDERNUMBER.HasValue) 
     158                    UpdateStatus(potwierdzenie.ORDERNUMBER.Value, potwierdzenie.CURRENTSTATE); 
     159 
    175160                content.Content = "OK";                 
    176161            } 
     
    182167            return content; 
    183168        } 
    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}; 
    190173            return payer; 
    191174        } 
    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 ) 
    193177        { 
    194178            var invoiceDeatailsViewData = new InvoiceDetailsViewData(); 
     
    199183            return invoiceDeatailsViewData; 
    200184        } 
     185 
    201186        public int ConvertId(string id) 
    202187        { 
    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 
    221204        public void UpdateStatus(int ordernumber, string currentstate) 
    222205        { 
    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 
    233215        public int CheckConfirm(int idfaktury, int order) 
    234216        { 
    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 
    236219            if (pl != null) 
    237220            { 
    238                 PotwierdzeniaEcard confirm = _repConfirm.Find(p => p.ORDERNUMBER == order).FirstOrDefault(); 
     221                var confirm = _repConfirm.Find(p => p.ORDERNUMBER == order).FirstOrDefault(); 
    239222                if (confirm == null) return 0; //potwierdzenie nie przyszlo z eCardu 
    240223            } 
     
    243226                return 2; //nie ma platnosci o takim idfaktury i ordernumber 
    244227            } 
     228             
    245229            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        }   
    259231    } 
    260232} 
  • 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 
     1namespace Platnosci.Models 
    72{ 
    83    public class ErrorViewData 
    94    { 
    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; }  
    147    } 
    158} 
  • trunk/eCard/eCardMVC/Platnosci/Models/FunkcjePlatnosci.cs

    r914 r933  
    101101        { 
    102102            ErrorViewData er = new ErrorViewData(); 
    103             er.error = errortxt; 
     103            er.Error = errortxt; 
    104104            return er; 
    105105        } 
  • trunk/eCard/eCardMVC/Platnosci/Views/Shared/Error1.aspx

    r916 r933  
    1212 
    1313    <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()) 
    1616       { 
    1717           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> 
    1919       <%}%> 
    2020    </p> 
  • trunk/eCard/eCardMVC/Platnosci/Web.config

    r888 r933  
    3232  </configSections> 
    3333  <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     
    3439    <add key="StatusLink" value="http://pay.truck-expo.com/info.aspx"/> 
    3540    <add key="Css" value="truck"/>