root/trunk/eCard/eCardMVC/Platnosci/Controllers/PlatnoscController.cs @ 880

Wersja 880, 10.7 KB (wprowadzona przez alina, 16 years temu)

re #215 modyfikacja akcji Potwierdzenie(do wyswietlenia statusu), dodanie funkcji InitErrorViewData?, zapisywanie plikow z bledami w katalogu Log...

RevLine 
[866]1using System;
2using System.Linq;
3using System.Text;
4using System.Web;
5using System.Web.Mvc;
6using System.Web.Mvc.Ajax;
7using Platnosci.Models;
8using Platnosci.Core.Linq;
9using Platnosci.Core.Interface;
10using System.Collections.Generic;
11using System.Globalization;
12using System.Web.UI;
13using System.Threading;
[870]14using System.Data.Linq;
15using System.Web.Configuration;
[873]16using System.Web.Routing;
[866]17
18namespace Platnosci.Controllers
19{
[880]20   
[866]21    [Authorize]
22    public class PlatnoscController : Controller
23    {
24        private readonly PlatnosciDataContext _context;
[870]25        private readonly IDataContext _context1;
26        private readonly IRepository<PotwierdzeniaEcard> _rep;
[871]27        private readonly IRepository<PlatnosciEcard> _repPl;
[866]28        private FunkcjePlatnosci _func;
[871]29        private string weryfikacja = "";
30        private string brakdanych = "";
31        private string zaplacono = "";
32        private string err_imie = "";
33        private string err_nazwisko = "";
[880]34       
[873]35        protected override void Initialize(RequestContext requestContext)
[871]36        {           
37            base.Initialize(requestContext);
38            weryfikacja = HttpContext.GetGlobalResourceObject("tlumaczenia", "weryfikacja").ToString();
39            brakdanych = HttpContext.GetGlobalResourceObject("tlumaczenia", "brakdanych").ToString();
40            zaplacono = HttpContext.GetGlobalResourceObject("tlumaczenia", "zaplacono").ToString();
41            err_imie = HttpContext.GetGlobalResourceObject("tlumaczenia", "err_imieWK").ToString();
42            err_nazwisko = HttpContext.GetGlobalResourceObject("tlumaczenia", "err_nazwiskoWK").ToString();           
43        }       
[870]44
[866]45        public PlatnoscController()
46        {
47            _context = new PlatnosciDataContext();
[871]48            _rep = new Repository<PotwierdzeniaEcard>(new DataContext1());
49            _repPl = new Repository<PlatnosciEcard>(new DataContext1());
[866]50            _func = new FunkcjePlatnosci();
[871]51                     
[866]52        }
[872]53        public PlatnoscController(IDataContext datacontext)
54        {
[870]55            _rep = new Repository<PotwierdzeniaEcard>(datacontext);
[871]56            _repPl = new Repository<PlatnosciEcard>(datacontext);
[870]57            _context1 = datacontext;
[872]58            _func = new FunkcjePlatnosci();
[870]59        }
[866]60        public ActionResult Show(string id, string language)
61        {
62            language = _func.setLanguage(language);
[873]63            int id1 = ConvertId(id);
64
[870]65            vPlatnosciEcard platnosc = _rep.FindInvoiceById(id1).SingleOrDefault();
[880]66            if (!String.IsNullOrEmpty(Iserror(platnosc).error)) return View("Error1", Iserror(platnosc));
[868]67           
[870]68            var tablica_potwierdzenia = _rep.FindItemsByIdFaktury(id1);
[868]69            if (tablica_potwierdzenia.Count > 0) //platnosc za fakture zostala uregulowana
[866]70            {
71                string data_zaplaty = String.Format("{0:dd-MM-yyyy}",tablica_potwierdzenia[0].AUTHTIME);
[880]72                ErrorViewData errorViewData = _func.InitErrorViewData(String.Format(zaplacono, platnosc.Faktura_Numer, data_zaplaty));
[866]73                return View("Error1", errorViewData);
[872]74            }           
[866]75            string kwota = "";
[868]76            kwota = _func.BruttoToString(platnosc.Brutto, platnosc.waluta_brutto, platnosc.waluta_miano);
77            var payer = InitPayer("", "", platnosc.ID_faktury);
78            var invoiceDeatailsViewData = InitInvoiceDetailsViewData(platnosc, payer, "", kwota);           
[866]79            return View(invoiceDeatailsViewData);
[868]80        }       
[866]81        [Authorize]
82        [AcceptVerbs(HttpVerbs.Post)]
83        public ActionResult Show(Payer payer, string language)
84        {
85            language = _func.setLanguage(language);
[871]86
[873]87            vPlatnosciEcard platnosc = _rep.FindInvoiceById(payer.Id_faktury).SingleOrDefault();
[880]88            if (!String.IsNullOrEmpty(Iserror(platnosc).error)) return View("Error1", Iserror(platnosc));
[873]89           
[866]90            if (String.IsNullOrEmpty(payer.FirstName))
91            {
[871]92                ModelState.AddModelError("Payer.FirstName", err_imie);
[866]93            }
94            if (String.IsNullOrEmpty(payer.LastName))
95            {
[871]96                ModelState.AddModelError("Payer.LastName", err_nazwisko);
[866]97            }
98            if (ModelState.IsValid == false)
99            {
100                string kwota = "";
101                kwota = _func.BruttoToString(platnosc.Brutto, platnosc.waluta_brutto, platnosc.waluta_miano);
[868]102                var viewData = InitInvoiceDetailsViewData(platnosc, payer, "", kwota );
[866]103                return View("Show",viewData);
104            }
105            if (payer != null)
[873]106            {               
[877]107                System.Diagnostics.Debug.WriteLine("PlatnosciController:Show");
[866]108                return RedirectToAction("Merchant", "Merchant", payer);
[877]109            }               
[866]110            else return View("Error");
111        }
[873]112        public ActionResult Ok(string id, string language)
[866]113        {
114            language = _func.setLanguage(language);
[873]115            int id1 = ConvertId(id);
[870]116            vPlatnosciEcard platnosc = _rep.FindInvoiceById(id1).SingleOrDefault();
[880]117            string s = "";
[873]118           
[880]119            if (!String.IsNullOrEmpty(Iserror(platnosc).error)) return View("Error1", Iserror(platnosc));           
120           
[873]121            var invoiceDeatailsViewData = InitInvoiceDetailsViewData(platnosc, null, "" , "");
[866]122            return View(invoiceDeatailsViewData);
123        }
[873]124        public ActionResult Fail(string id, string language)
[871]125        {
[873]126            language = _func.setLanguage(language);
127            int id1 = ConvertId(id);
128            vPlatnosciEcard platnosc = _rep.FindInvoiceById(id1).SingleOrDefault();
[880]129            if (!String.IsNullOrEmpty(Iserror(platnosc).error)) return View("Error1", Iserror(platnosc));
[873]130           
131            var invoiceDeatailsViewData = InitInvoiceDetailsViewData(platnosc, null, "", "");
132            return View(invoiceDeatailsViewData);
[871]133        }
[873]134        public ActionResult Potwierdzenie(string status, string id)
135        {
[880]136            if (status == "ok")
137            {
138                return RedirectToAction("Ok", "Platnosc", new { id });
139            }
140            else if (status == "fail")
141            {
142                return RedirectToAction("Fail", "Platnosc", new { id });
143            }
144            ErrorViewData errorViewData = _func.InitErrorViewData(brakdanych);
145            return View("Error1", errorViewData);
[873]146        }
[866]147        public ActionResult Status()
148        {
149            string MERCHANTNUMBER = Request.Form["MERCHANTNUMBER"];
150            int ORDERNUMBER = Convert.ToInt32(Request.Form["ORDERNUMBER"]);
151            string COMMTYPE = Request.Form["COMMTYPE"];
152            string CURRENTSTATE = Request.Form["CURRENTSTATE"];
153            string PREVIOUSSTATE = Request.Form["PREVIOUSSTATE"];
154            bool PAYMENTTYPE = Convert.ToBoolean(Request.Form["PAYMENTTYPE"]);
155            bool EVENTTYPE = Convert.ToBoolean(Request.Form["EVENTTYPE"]);
156            bool PAYMENTNUMBER = Convert.ToBoolean(Request.Form["PAYMENTNUMBER"]);
157            string APPROVALCODE = Request.Form["APPROVALCODE"];
158            string VALIDATIONCODE = Request.Form["VALIDATIONCODE"];
159            string BIN = Request.Form["BIN"];
160            DateTime AUTHTIME = Convert.ToDateTime(Request.Form["AUTHTIME"]);
161            string TYPE = Request.Form["TYPE"];
162            string WITHCVC = Request.Form["WITHCVC"];
163            DateTime DATATRANSMISJI = Convert.ToDateTime(Request.Form["DATATRANSMISJI"]);
164           
165            PotwierdzeniaEcard potwierdzenie = new PotwierdzeniaEcard();
166            potwierdzenie.APPROVALCODE = APPROVALCODE;
167            potwierdzenie.AUTHTIME = AUTHTIME;
168            potwierdzenie.BIN = BIN;
169            potwierdzenie.COMMTYPE = COMMTYPE;
170            potwierdzenie.CURRENTSTATE = CURRENTSTATE;
171            potwierdzenie.DATATRANSMISJI = DATATRANSMISJI;
172            potwierdzenie.EVENTTYPE = EVENTTYPE;
173            potwierdzenie.MERCHANTNUMBER = MERCHANTNUMBER;
174            potwierdzenie.ORDERNUMBER = ORDERNUMBER;
175            potwierdzenie.PAYMENTNUMBER = PAYMENTNUMBER;
176            potwierdzenie.PAYMENTTYPE = PAYMENTTYPE;
177            potwierdzenie.PREVIOUSSTATE = PREVIOUSSTATE;
178            potwierdzenie.TYPE = TYPE;
179            potwierdzenie.VALIDATIONCODE = VALIDATIONCODE;
180            potwierdzenie.WITHCVC = WITHCVC;
181
182            _rep.Insert(potwierdzenie);
[873]183            UpdateStatus(ORDERNUMBER, VALIDATIONCODE);
[866]184            return View();
185        }
[868]186        private Payer InitPayer(string FirstName, string LastName, int Id_faktury)
187        {
188            Payer payer = new Payer();
189            payer.FirstName = "";
190            payer.LastName = "";
191            payer.Id_faktury = Id_faktury;
192            return payer;
193        }
194        private InvoiceDetailsViewData InitInvoiceDetailsViewData(vPlatnosciEcard platnosc, Payer payer, string status, string brutto )
195        {
196            var invoiceDeatailsViewData = new InvoiceDetailsViewData();
197            invoiceDeatailsViewData.vPlatnosciEcard = platnosc;
198            invoiceDeatailsViewData.Payer = payer;
199            invoiceDeatailsViewData.Status = status;
200            invoiceDeatailsViewData.brutto = brutto;
201            return invoiceDeatailsViewData;
202        }
[871]203        public void setWeryfikacja(string value)
204        {
205            this.weryfikacja = value;
206        }
207        public void setBrakDanych(string value)
208        {
209            this.brakdanych = value;
210        }
211        public void setZaplacono(string value)
212        {
213            this.zaplacono = value;
[873]214        }
215        public int ConvertId(string id)
216        {
217            int id1 = 0;
218            try
219            {
220                id1 = (id != null) ? Convert.ToInt32(id) : 0;
221            }
222            catch
223            {
224            }
225            return id1;
226        }
227        public ErrorViewData Iserror(vPlatnosciEcard platnosc)
228        {
[880]229            string errortxt = "";
230            if (platnosc == null) errortxt = brakdanych;
231            else if (!_func.UserIdentity(platnosc, HttpContext.User.Identity.Name)) errortxt = weryfikacja;
232            ErrorViewData errorViewData = _func.InitErrorViewData(errortxt);
[873]233            return errorViewData;
234        }
235        public void UpdateStatus(int ordernumber, string validationcode)
236        {
[877]237            var platnosc = _rep.FindPaymentByOrdernumber(ordernumber).SingleOrDefault();
[873]238            if (platnosc != null && platnosc.Status == true && validationcode == "000")
239            {
240                platnosc.Status = true;
241                platnosc.Status_data = DateTime.Now;
242                _repPl.Update(platnosc);
243            }
244        }               
[866]245    }
246}
Notatka: Zobacz TracBrowser aby uzyskać więcej informacji.