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

re #215 - drobny refactoring

Pliki:
1 zmodyfikowane

Legenda:

Bez zmian
Dodane
Usunięte
  • 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}