Pokaż
Ignoruj:
Data:
2009-11-24 12:21:39 (16 years ago)
Autor:
sylwek
Opis:

Re #195 merged with latest trunk

Lokalizacja:
branches/Emisje
Pliki:
4 zmodyfikowane

Legenda:

Bez zmian
Dodane
Usunięte
  • branches/Emisje

    • Property svn:mergeinfo
      •  

        old new  
         1/branches/Abonament:701-884 
        12/branches/AutoShopper:815-818 
        23/branches/ReklamaReorganizacja:568-731 
        34/tags/BazaReklam_1.1.28:831 
        4 /trunk:774-868 
         5/trunk:774-893 
  • branches/Emisje/eCard/eCardMVC/Platnosci/Controllers/AccountController.cs

    r866 r895  
    3232        public AccountController() 
    3333        { 
    34             _repository = new Repository<vPlatnosciEcard>(); 
     34            _repository = new Repository<vPlatnosciEcard>(new DataContext1()); 
    3535            FormsAuth = new FormsAuthenticationService(); 
    3636            _context = new PlatnosciDataContext(); 
     
    5757        public ActionResult LogOn(string nip, string numer_faktury, string returnUrl, string language) 
    5858        { 
     59 
    5960            language = _func.setLanguage(language); 
    6061            vPlatnosciEcard platnosc = new vPlatnosciEcard();     
     
    6566            else 
    6667            { 
    67                 var Login = _context.FindInvoiceByNipNumber(nip, numer_faktury).SingleOrDefault(); 
     68                var Login = _repository.FindInvoiceByNipNumber(nip, numer_faktury).SingleOrDefault(); 
    6869                platnosc = Login; 
    6970                if (platnosc == null) return View(); 
    7071            } 
     72            _func.SetUserLogger(nip, numer_faktury); 
    7173 
    7274            FormsAuth.SignIn(nip, false); 
     75 
    7376            if (!String.IsNullOrEmpty(returnUrl)) 
    7477            { 
    7578                return Redirect(returnUrl); 
    7679            } 
    77             else 
    78             { 
    79                return RedirectToAction("Show", "Platnosc", new { id = platnosc.ID_faktury}); 
    80             } 
     80            else return RedirectToAction("Show", "Platnosc", new { id = platnosc.ID_faktury });          
    8181        } 
    8282        public ActionResult LogOff() 
    8383        { 
    84  
    8584            FormsAuth.SignOut(); 
    8685            return RedirectToAction("LogOn", "Account"); 
  • branches/Emisje/eCard/eCardMVC/Platnosci/Controllers/MerchantController.cs

    r868 r895  
    2929        public const string KOD_POLSKA = "616";         //kod kraju Akceptanta - Polska 
    3030        public const string KODOWANIE = "ISO-8859-2"; 
     31        private int ORDERNUMBER = 122; 
    3132 
    3233        private string merchantId; 
    3334        private readonly PlatnosciDataContext _context; 
    34         private readonly IRepositoryPE _rep; 
     35        private readonly IRepository<PlatnosciEcard> _rep; 
    3536        private FunkcjePlatnosci _func; 
    3637 
    3738        public MerchantController() 
    3839        {    
    39             _rep = new RepositoryPlatnosciEcard(); 
     40            _rep = new Repository<PlatnosciEcard>(new DataContext1()); 
    4041            _context = new PlatnosciDataContext(); 
    4142            _func = new FunkcjePlatnosci(); 
     
    4344        public ActionResult Merchant(Payer payer, string language) 
    4445        { 
     46            System.Diagnostics.Debug.WriteLine("MerchantController:Merchant:" + language); 
    4547            language = _func.setLanguage(language); 
    4648 
    4749            int id1 = Convert.ToInt32(payer.Id_faktury); 
    48             vPlatnosciEcard platnosc = _context.FindInvoiceById(id1).SingleOrDefault(); 
    49              
    50             if (!_func.UserIdentity(platnosc, ControllerContext.HttpContext.User.Identity.Name)) 
     50            vPlatnosciEcard platnosc = _rep.FindInvoiceById(id1).SingleOrDefault(); 
     51                  
     52            if (platnosc == null) 
    5153            { 
    52                 ErrorViewData errorViewData = new ErrorViewData(); 
    53                 errorViewData.error = HttpContext.GetGlobalResourceObject("tlumaczenia", "weryfikacja").ToString(); 
     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()); 
    5460                return View("Error1", errorViewData); 
    5561            } 
     
    6470 
    6571            string hash = GetHash(newPayment, systemKs); 
     72            hash = hash.Replace("\n",""); 
     73            if (hash == BAD_HASH  || hash == "" ) return View("Error"); 
    6674 
    67             hash = hash.Replace("\n",""); 
    68             if (hash == BAD_HASH  || hash == "" ) 
    69             { 
    70                 return View("Error"); //nie mo¿na po³¹czyæ siê z serverem p³atnoœci. Proszê spróbowaæ jeszcze raz. 
    71             } 
    72             if (platnosc.SystemKsiegowyId == 1) 
    73                 merchantId = "170906000"; 
    74             else 
    75                 merchantId = "171485000"; 
     75            if (systemKs == "1") merchantId = "170906000"; 
     76                else merchantId = "171485000"; 
    7677 
    77             string link = ConfigurationManager.AppSettings["StatusLink"]; 
    78             string LinkFail = link + "?status=fail"; 
    79             string LinkOk = link + "?status=ok"; 
     78            string LinkFail = ConfigurationManager.AppSettings["Strona"]; 
     79            LinkFail += "/" + language + ConfigurationManager.AppSettings["LinkFail"]; 
     80            LinkFail += "/" + newPayment.IDFaktury; 
     81 
     82            string LinkOk = ConfigurationManager.AppSettings["Strona"]; 
     83            LinkOk += "/" + language + ConfigurationManager.AppSettings["LinkOk"]; 
     84            LinkOk += "/" + newPayment.IDFaktury; ; 
    8085 
    8186            var merchantViewData = InitMerchantViewData(newPayment, hash, merchantId, LinkFail, LinkOk); 
     87            wyslij(merchantViewData, hash, merchantId); 
    8288            return View(merchantViewData);             
    8389        } 
     
    95101            newPayment.SURNAME = payer.LastName; 
    96102            newPayment.AUTODEPOSIT = true; 
    97             newPayment.LANGUAGE = Thread.CurrentThread.CurrentUICulture.TwoLetterISOLanguageName.ToUpper(); //"PL"; 
     103            newPayment.LANGUAGE = Thread.CurrentThread.CurrentUICulture.TwoLetterISOLanguageName.ToUpper();  
    98104            newPayment.CHARSET = KODOWANIE; 
    99105            newPayment.COUNTRY = KOD_POLSKA; 
     
    124130             
    125131            //wartosci testowe 
    126             merchantViewData.nowaPlatnosc.ORDERNUMBER = 4; 
    127             merchantViewData.nowaPlatnosc.ORDERDESCRIPTION = "22"; 
     132            merchantViewData.nowaPlatnosc.ORDERNUMBER = ORDERNUMBER; 
     133            merchantViewData.nowaPlatnosc.ORDERDESCRIPTION = "222"; 
    128134            merchantViewData.nowaPlatnosc.AMOUNT = 300; 
    129135            merchantViewData.nowaPlatnosc.CURRENCY = "985"; 
    130             merchantViewData.nowaPlatnosc.SESSIONID = ""; 
     136            merchantViewData.nowaPlatnosc.SESSIONID = "ff"; 
    131137            merchantViewData.merchantId = "171485000"; 
    132138            merchantViewData.LinkFail = ""; 
     
    146152 
    147153            //dane testowe 
    148             string adres = "https://pay.ecard.pl/servlet/HS?orderNumber=4"; 
     154            string adres = "https://pay.ecard.pl/servlet/HS?orderNumber="+ORDERNUMBER; 
    149155            HttpWebRequest req = (HttpWebRequest)WebRequest.Create(adres); 
    150156            string dane = "&orderDescription=&amount=300&currency=985&merchantId=171485000&password=ashSeth2";                 
     
    164170                      
    165171            return strResponse; 
    166         }                
     172        } 
     173        private void wyslij(MerchantViewData m, string hash, string id) 
     174        { 
     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="; 
     180            Response.Redirect(adres + dane); 
     181        } 
    167182    } 
    168183} 
  • branches/Emisje/eCard/eCardMVC/Platnosci/Controllers/PlatnoscController.cs

    r868 r895  
    1212using System.Web.UI; 
    1313using System.Threading; 
     14using System.Data.Linq; 
     15using System.Web.Configuration; 
     16using System.Web.Routing; 
    1417 
    1518namespace Platnosci.Controllers 
    1619{ 
     20     
    1721    [Authorize] 
    1822    public class PlatnoscController : Controller 
    1923    { 
     24        public const string ISPAID = "payment_deposited";       //transakcja potwierdzona do rozliczenia 
    2025        private readonly PlatnosciDataContext _context; 
    21         private readonly IRepositoryPT _rep; 
     26        private readonly IDataContext _context1; 
     27        private readonly IRepository<PotwierdzeniaEcard> _rep; 
     28        private readonly IRepository<PlatnosciEcard> _repPl; 
    2229        private FunkcjePlatnosci _func; 
    23  
     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        
    2437        public PlatnoscController() 
    2538        { 
    2639            _context = new PlatnosciDataContext(); 
    27             _rep = new RepositoryPotwierdzeniaEcard(); 
     40            _rep = new Repository<PotwierdzeniaEcard>(new DataContext1()); 
     41            _repPl = new Repository<PlatnosciEcard>(new DataContext1()); 
    2842            _func = new FunkcjePlatnosci(); 
     43                       
     44        } 
     45        public PlatnoscController(IDataContext datacontext, int czy_test) 
     46        { 
     47            _rep = new Repository<PotwierdzeniaEcard>(datacontext); 
     48            _repPl = new Repository<PlatnosciEcard>(datacontext); 
     49            _context1 = datacontext; 
     50            _func = new FunkcjePlatnosci(); 
     51            test = czy_test; 
    2952        } 
    3053        public ActionResult Show(string id, string language) 
    3154        { 
    3255            language = _func.setLanguage(language); 
    33             string jezyk = Thread.CurrentThread.CurrentCulture.Name.ToString(); 
    34             int id1 = 0; 
    35             try 
    36             { 
    37                 id1 = (id != null) ? Convert.ToInt32(id) : 0; 
    38             } 
    39             catch 
    40             { 
    41             } 
    42             vPlatnosciEcard platnosc = _context.FindInvoiceById(id1).SingleOrDefault(); 
    43  
    44             //sprawdzamy czy numer faktury dotyczy zalogowanego usera 
    45             ErrorViewData errorViewData = new ErrorViewData(); 
    46             if (platnosc == null) 
    47             { 
    48                errorViewData.error = HttpContext.GetGlobalResourceObject("tlumaczenia", "brakdanych").ToString(); 
    49                return View("Error1", errorViewData);                 
    50             } 
    51             else if (!_func.UserIdentity(platnosc, ControllerContext.HttpContext.User.Identity.Name)) 
    52             { 
    53                 errorViewData.error = HttpContext.GetGlobalResourceObject("tlumaczenia", "weryfikacja").ToString(); 
    54                 return View("Error1", errorViewData); 
    55             } 
    56              
    57             var tablica_potwierdzenia = _context.FindItemsByIdFaktury(id1); 
    58             if (tablica_potwierdzenia.Count > 0) //platnosc za fakture zostala uregulowana 
    59             { 
    60                 string data_zaplaty = String.Format("{0:dd-MM-yyyy}",tablica_potwierdzenia[0].AUTHTIME); 
    61                 errorViewData.error = String.Format(HttpContext.GetGlobalResourceObject("tlumaczenia", "zaplacono").ToString(), platnosc.Faktura_Numer, data_zaplaty); 
    62                 return View("Error1", errorViewData); 
    63             } 
    64              
     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 
    6562            string kwota = ""; 
    6663            kwota = _func.BruttoToString(platnosc.Brutto, platnosc.waluta_brutto, platnosc.waluta_miano); 
    6764            var payer = InitPayer("", "", platnosc.ID_faktury); 
    68             var invoiceDeatailsViewData = InitInvoiceDetailsViewData(platnosc, payer, "", kwota);            
    69             return View(invoiceDeatailsViewData); 
     65            var invoiceDeatailsViewData = InitInvoiceDetailsViewData(platnosc, payer, "", kwota);   
     66 
     67            var tablica_potwierdzenia = _rep.FindItemsByIdFaktury(id1); 
     68            if (tablica_potwierdzenia.Count > 0) //platnosc za fakture zostala uregulowana 
     69            { 
     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; 
     73                return View("Paid", invoiceDeatailsViewData); 
     74            }        
     75            return View(invoiceDeatailsViewData);             
    7076        }         
    7177        [Authorize] 
     
    7480        { 
    7581            language = _func.setLanguage(language); 
    76             string userName = ControllerContext.HttpContext.User.Identity.Name; 
    77             int id1 = 0; 
    78             try 
    79             { 
    80                 id1 = (payer.Id_faktury != null) ? Convert.ToInt32(payer.Id_faktury) : 0; 
    81             } 
    82             catch 
    83             { 
    84             } 
    85             vPlatnosciEcard platnosc = _context.FindInvoiceById(id1).SingleOrDefault(); 
    86             ErrorViewData errorViewData = new ErrorViewData(); 
    87             if (platnosc == null) 
    88             { 
    89                 errorViewData.error = HttpContext.GetGlobalResourceObject("tlumaczenia", "brakdanych").ToString(); 
    90                 return View("Error1", errorViewData); 
    91             } 
    92             else if (!_func.UserIdentity(platnosc, ControllerContext.HttpContext.User.Identity.Name)) 
    93             { 
    94                 errorViewData.error = HttpContext.GetGlobalResourceObject("tlumaczenia", "weryfikacja").ToString(); 
    95                 return View("Error1", errorViewData);   
    96             } 
    97  
     82            ustawTlumaczenia(test); 
     83            vPlatnosciEcard platnosc = _rep.FindInvoiceById(payer.Id_faktury).SingleOrDefault(); 
     84            if (!String.IsNullOrEmpty(Iserror(platnosc).error)) return View("Error1", Iserror(platnosc)); 
     85             
    9886            if (String.IsNullOrEmpty(payer.FirstName)) 
    9987            { 
    100                 string err_imieWK = HttpContext.GetGlobalResourceObject("tlumaczenia", "err_imieWK").ToString(); 
    101                 ModelState.AddModelError("Payer.FirstName", err_imieWK); 
     88                ModelState.AddModelError("Payer.FirstName", err_imie); 
    10289            } 
    10390            if (String.IsNullOrEmpty(payer.LastName)) 
    10491            { 
    105                 string err_nazwiskoWK = HttpContext.GetGlobalResourceObject("tlumaczenia", "err_nazwiskoWK").ToString(); 
    106                 ModelState.AddModelError("Payer.LastName", err_nazwiskoWK); 
     92                ModelState.AddModelError("Payer.LastName", err_nazwisko); 
    10793            } 
    10894            if (ModelState.IsValid == false) 
     
    114100            }  
    115101            if (payer != null) 
     102            {                 
     103                System.Diagnostics.Debug.WriteLine("PlatnosciController:Show"); 
    116104                return RedirectToAction("Merchant", "Merchant", payer); 
     105            }                 
    117106            else return View("Error"); 
    118107        } 
    119         public ActionResult Potwierdzenie(string id, string status, string language) 
    120         { 
    121             language = _func.setLanguage(language); 
    122  
    123             int id1 = 0; 
    124             try 
    125             { 
    126                 id1 = (id != null) ? Convert.ToInt32(id) : 0; 
    127             } 
    128             catch 
    129             { 
    130                 //id1=0 -> error type =  platnoscIsNotExist; 
    131             } 
    132             vPlatnosciEcard platnosc = _context.FindInvoiceById(id1).SingleOrDefault(); 
    133             ErrorViewData errorViewData = new ErrorViewData(); 
    134             if (platnosc == null) 
    135             { 
    136                 errorViewData.error = HttpContext.GetGlobalResourceObject("tlumaczenia", "faktura_error").ToString(); 
    137                 return View("Error1", errorViewData); 
    138             } 
    139             else if (!_func.UserIdentity(platnosc, ControllerContext.HttpContext.User.Identity.Name)) 
    140             { 
    141                 errorViewData.error = HttpContext.GetGlobalResourceObject("tlumaczenia", "weryfikacja").ToString(); 
    142                 return View("Error1", errorViewData); 
    143             } 
    144             var invoiceDeatailsViewData = InitInvoiceDetailsViewData(platnosc, null, status, "" ); 
     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));             
     115             
     116            var invoiceDeatailsViewData = InitInvoiceDetailsViewData(platnosc, null, "" , ""); 
    145117            return View(invoiceDeatailsViewData); 
    146118        } 
     119        public ActionResult Fail(string id, string language) 
     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             
     127            var invoiceDeatailsViewData = InitInvoiceDetailsViewData(platnosc, null, "", ""); 
     128            return View(invoiceDeatailsViewData); 
     129        } 
    147130        public ActionResult Status() 
    148131        { 
    149             if (string.IsNullOrEmpty(Request.Form["MERCHANTNUMBER"])) 
    150                 throw new ArgumentException("MERCHANTNUMBER"); 
    151  
    152             //TODO: validate the Form 
    153  
    154132            string MERCHANTNUMBER = Request.Form["MERCHANTNUMBER"]; 
    155133            int ORDERNUMBER = Convert.ToInt32(Request.Form["ORDERNUMBER"]); 
     
    186164 
    187165            _rep.Insert(potwierdzenie); 
     166            UpdateStatus(ORDERNUMBER, CURRENTSTATE); 
    188167            return View(); 
    189168        } 
     
    205184            return invoiceDeatailsViewData; 
    206185        } 
    207                 
     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        } 
     209        public int ConvertId(string id) 
     210        { 
     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        } 
     229        public void UpdateStatus(int ordernumber, string currentstate) 
     230        { 
     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        }                
    208241    } 
    209242}