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

Wersja 896, 10.5 KB (wprowadzona przez alina, 16 years temu)

re #215 zmiana parametrow w konstruktorze PlatnosciController?, dostosowanie testow do zmiany

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