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

Wersja 881, 10.2 KB (wprowadzona przez alina, 16 years temu)

re #215 poprawienie akcji do wyswietlenia statusu transakcji

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        private readonly PlatnosciDataContext _context;
25        private readonly IDataContext _context1;
26        private readonly IRepository<PotwierdzeniaEcard> _rep;
27        private readonly IRepository<PlatnosciEcard> _repPl;
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       
35        protected override void Initialize(RequestContext requestContext)
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        }       
44
45        public PlatnoscController()
46        {
47            _context = new PlatnosciDataContext();
48            _rep = new Repository<PotwierdzeniaEcard>(new DataContext1());
49            _repPl = new Repository<PlatnosciEcard>(new DataContext1());
50            _func = new FunkcjePlatnosci();
51                     
52        }
53        public PlatnoscController(IDataContext datacontext)
54        {
55            _rep = new Repository<PotwierdzeniaEcard>(datacontext);
56            _repPl = new Repository<PlatnosciEcard>(datacontext);
57            _context1 = datacontext;
58            _func = new FunkcjePlatnosci();
59        }
60        public ActionResult Show(string id, string language)
61        {
62            language = _func.setLanguage(language);
63            int id1 = ConvertId(id);
64
65            vPlatnosciEcard platnosc = _rep.FindInvoiceById(id1).SingleOrDefault();
66            if (!String.IsNullOrEmpty(Iserror(platnosc).error)) return View("Error1", Iserror(platnosc));
67           
68            var tablica_potwierdzenia = _rep.FindItemsByIdFaktury(id1);
69            if (tablica_potwierdzenia.Count > 0) //platnosc za fakture zostala uregulowana
70            {
71                string data_zaplaty = String.Format("{0:dd-MM-yyyy}",tablica_potwierdzenia[0].AUTHTIME);
72                ErrorViewData errorViewData = _func.InitErrorViewData(String.Format(zaplacono, platnosc.Faktura_Numer, data_zaplaty));
73                return View("Error1", errorViewData);
74            }           
75            string kwota = "";
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);           
79            return View(invoiceDeatailsViewData);
80        }       
81        [Authorize]
82        [AcceptVerbs(HttpVerbs.Post)]
83        public ActionResult Show(Payer payer, string language)
84        {
85            language = _func.setLanguage(language);
86
87            vPlatnosciEcard platnosc = _rep.FindInvoiceById(payer.Id_faktury).SingleOrDefault();
88            if (!String.IsNullOrEmpty(Iserror(platnosc).error)) return View("Error1", Iserror(platnosc));
89           
90            if (String.IsNullOrEmpty(payer.FirstName))
91            {
92                ModelState.AddModelError("Payer.FirstName", err_imie);
93            }
94            if (String.IsNullOrEmpty(payer.LastName))
95            {
96                ModelState.AddModelError("Payer.LastName", err_nazwisko);
97            }
98            if (ModelState.IsValid == false)
99            {
100                string kwota = "";
101                kwota = _func.BruttoToString(platnosc.Brutto, platnosc.waluta_brutto, platnosc.waluta_miano);
102                var viewData = InitInvoiceDetailsViewData(platnosc, payer, "", kwota );
103                return View("Show",viewData);
104            }
105            if (payer != null)
106            {               
107                System.Diagnostics.Debug.WriteLine("PlatnosciController:Show");
108                return RedirectToAction("Merchant", "Merchant", payer);
109            }               
110            else return View("Error");
111        }
112        public ActionResult Ok(string id, string language)
113        {
114            language = _func.setLanguage(language);
115            int id1 = ConvertId(id);
116            vPlatnosciEcard platnosc = _rep.FindInvoiceById(id1).SingleOrDefault();
117            if (!String.IsNullOrEmpty(Iserror(platnosc).error)) return View("Error1", Iserror(platnosc));           
118           
119            var invoiceDeatailsViewData = InitInvoiceDetailsViewData(platnosc, null, "" , "");
120            return View(invoiceDeatailsViewData);
121        }
122        public ActionResult Fail(string id, string language)
123        {
124            language = _func.setLanguage(language);
125            int id1 = ConvertId(id);
126            vPlatnosciEcard platnosc = _rep.FindInvoiceById(id1).SingleOrDefault();
127            if (!String.IsNullOrEmpty(Iserror(platnosc).error)) return View("Error1", Iserror(platnosc));
128           
129            var invoiceDeatailsViewData = InitInvoiceDetailsViewData(platnosc, null, "", "");
130            return View(invoiceDeatailsViewData);
131        }
132        public ActionResult Status()
133        {
134            string MERCHANTNUMBER = Request.Form["MERCHANTNUMBER"];
135            int ORDERNUMBER = Convert.ToInt32(Request.Form["ORDERNUMBER"]);
136            string COMMTYPE = Request.Form["COMMTYPE"];
137            string CURRENTSTATE = Request.Form["CURRENTSTATE"];
138            string PREVIOUSSTATE = Request.Form["PREVIOUSSTATE"];
139            bool PAYMENTTYPE = Convert.ToBoolean(Request.Form["PAYMENTTYPE"]);
140            bool EVENTTYPE = Convert.ToBoolean(Request.Form["EVENTTYPE"]);
141            bool PAYMENTNUMBER = Convert.ToBoolean(Request.Form["PAYMENTNUMBER"]);
142            string APPROVALCODE = Request.Form["APPROVALCODE"];
143            string VALIDATIONCODE = Request.Form["VALIDATIONCODE"];
144            string BIN = Request.Form["BIN"];
145            DateTime AUTHTIME = Convert.ToDateTime(Request.Form["AUTHTIME"]);
146            string TYPE = Request.Form["TYPE"];
147            string WITHCVC = Request.Form["WITHCVC"];
148            DateTime DATATRANSMISJI = Convert.ToDateTime(Request.Form["DATATRANSMISJI"]);
149           
150            PotwierdzeniaEcard potwierdzenie = new PotwierdzeniaEcard();
151            potwierdzenie.APPROVALCODE = APPROVALCODE;
152            potwierdzenie.AUTHTIME = AUTHTIME;
153            potwierdzenie.BIN = BIN;
154            potwierdzenie.COMMTYPE = COMMTYPE;
155            potwierdzenie.CURRENTSTATE = CURRENTSTATE;
156            potwierdzenie.DATATRANSMISJI = DATATRANSMISJI;
157            potwierdzenie.EVENTTYPE = EVENTTYPE;
158            potwierdzenie.MERCHANTNUMBER = MERCHANTNUMBER;
159            potwierdzenie.ORDERNUMBER = ORDERNUMBER;
160            potwierdzenie.PAYMENTNUMBER = PAYMENTNUMBER;
161            potwierdzenie.PAYMENTTYPE = PAYMENTTYPE;
162            potwierdzenie.PREVIOUSSTATE = PREVIOUSSTATE;
163            potwierdzenie.TYPE = TYPE;
164            potwierdzenie.VALIDATIONCODE = VALIDATIONCODE;
165            potwierdzenie.WITHCVC = WITHCVC;
166
167            _rep.Insert(potwierdzenie);
168            UpdateStatus(ORDERNUMBER, VALIDATIONCODE);
169            return View();
170        }
171        private Payer InitPayer(string FirstName, string LastName, int Id_faktury)
172        {
173            Payer payer = new Payer();
174            payer.FirstName = "";
175            payer.LastName = "";
176            payer.Id_faktury = Id_faktury;
177            return payer;
178        }
179        private InvoiceDetailsViewData InitInvoiceDetailsViewData(vPlatnosciEcard platnosc, Payer payer, string status, string brutto )
180        {
181            var invoiceDeatailsViewData = new InvoiceDetailsViewData();
182            invoiceDeatailsViewData.vPlatnosciEcard = platnosc;
183            invoiceDeatailsViewData.Payer = payer;
184            invoiceDeatailsViewData.Status = status;
185            invoiceDeatailsViewData.brutto = brutto;
186            return invoiceDeatailsViewData;
187        }
188        public void setWeryfikacja(string value)
189        {
190            this.weryfikacja = value;
191        }
192        public void setBrakDanych(string value)
193        {
194            this.brakdanych = value;
195        }
196        public void setZaplacono(string value)
197        {
198            this.zaplacono = value;
199        }
200        public int ConvertId(string id)
201        {
202            int id1 = 0;
203            try
204            {
205                id1 = (id != null) ? Convert.ToInt32(id) : 0;
206            }
207            catch
208            {
209            }
210            return id1;
211        }
212        public ErrorViewData Iserror(vPlatnosciEcard platnosc)
213        {
214            string errortxt = "";
215            if (platnosc == null) errortxt = brakdanych;
216            else if (!_func.UserIdentity(platnosc, HttpContext.User.Identity.Name)) errortxt = weryfikacja;
217            ErrorViewData errorViewData = _func.InitErrorViewData(errortxt);
218            return errorViewData;
219        }
220        public void UpdateStatus(int ordernumber, string validationcode)
221        {
222            var platnosc = _rep.FindPaymentByOrdernumber(ordernumber).SingleOrDefault();
223            if (platnosc != null && platnosc.Status == true && validationcode == "000")
224            {
225                platnosc.Status = true;
226                platnosc.Status_data = DateTime.Now;
227                _repPl.Update(platnosc);
228            }
229        }               
230    }
231}
Notatka: Zobacz TracBrowser aby uzyskać więcej informacji.