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

Wersja 888, 10.3 KB (wprowadzona przez alina, 16 years temu)

re #215

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    {
[883]24        public const string ISPAID = "payment_deposited";       //transakcja potwierdzona do rozliczenia
[866]25        private readonly PlatnosciDataContext _context;
[870]26        private readonly IDataContext _context1;
27        private readonly IRepository<PotwierdzeniaEcard> _rep;
[871]28        private readonly IRepository<PlatnosciEcard> _repPl;
[866]29        private FunkcjePlatnosci _func;
[885]30        private string weryfikacja;
31        private string brakdanych;
32        private string zaplacono;
33        private string err_imie;
34        private string err_nazwisko;
[888]35        private int test = 0;
[885]36       
[866]37        public PlatnoscController()
38        {
39            _context = new PlatnosciDataContext();
[871]40            _rep = new Repository<PotwierdzeniaEcard>(new DataContext1());
41            _repPl = new Repository<PlatnosciEcard>(new DataContext1());
[866]42            _func = new FunkcjePlatnosci();
[871]43                     
[866]44        }
[888]45        public PlatnoscController(IDataContext datacontext, int czy_test)
[872]46        {
[870]47            _rep = new Repository<PotwierdzeniaEcard>(datacontext);
[871]48            _repPl = new Repository<PlatnosciEcard>(datacontext);
[870]49            _context1 = datacontext;
[872]50            _func = new FunkcjePlatnosci();
[888]51            test = czy_test;
[870]52        }
[866]53        public ActionResult Show(string id, string language)
54        {
55            language = _func.setLanguage(language);
[888]56            ustawTlumaczenia(test);
[881]57            int id1 = ConvertId(id);
[873]58
[870]59            vPlatnosciEcard platnosc = _rep.FindInvoiceById(id1).SingleOrDefault();
[880]60            if (!String.IsNullOrEmpty(Iserror(platnosc).error)) return View("Error1", Iserror(platnosc));
[883]61
62            string kwota = "";
63            kwota = _func.BruttoToString(platnosc.Brutto, platnosc.waluta_brutto, platnosc.waluta_miano);
64            var payer = InitPayer("", "", platnosc.ID_faktury);
65            var invoiceDeatailsViewData = InitInvoiceDetailsViewData(platnosc, payer, "", kwota); 
66
[870]67            var tablica_potwierdzenia = _rep.FindItemsByIdFaktury(id1);
[868]68            if (tablica_potwierdzenia.Count > 0) //platnosc za fakture zostala uregulowana
[866]69            {
[883]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);
[885]74            }       
[888]75            return View(invoiceDeatailsViewData);           
[868]76        }       
[866]77        [Authorize]
78        [AcceptVerbs(HttpVerbs.Post)]
79        public ActionResult Show(Payer payer, string language)
80        {
81            language = _func.setLanguage(language);
[888]82            ustawTlumaczenia(test);
[873]83            vPlatnosciEcard platnosc = _rep.FindInvoiceById(payer.Id_faktury).SingleOrDefault();
[880]84            if (!String.IsNullOrEmpty(Iserror(platnosc).error)) return View("Error1", Iserror(platnosc));
[873]85           
[866]86            if (String.IsNullOrEmpty(payer.FirstName))
87            {
[871]88                ModelState.AddModelError("Payer.FirstName", err_imie);
[866]89            }
90            if (String.IsNullOrEmpty(payer.LastName))
91            {
[871]92                ModelState.AddModelError("Payer.LastName", err_nazwisko);
[866]93            }
94            if (ModelState.IsValid == false)
95            {
96                string kwota = "";
97                kwota = _func.BruttoToString(platnosc.Brutto, platnosc.waluta_brutto, platnosc.waluta_miano);
[868]98                var viewData = InitInvoiceDetailsViewData(platnosc, payer, "", kwota );
[866]99                return View("Show",viewData);
100            }
101            if (payer != null)
[873]102            {               
[877]103                System.Diagnostics.Debug.WriteLine("PlatnosciController:Show");
[866]104                return RedirectToAction("Merchant", "Merchant", payer);
[877]105            }               
[866]106            else return View("Error");
107        }
[873]108        public ActionResult Ok(string id, string language)
[866]109        {
110            language = _func.setLanguage(language);
[888]111            ustawTlumaczenia(test);
[873]112            int id1 = ConvertId(id);
[870]113            vPlatnosciEcard platnosc = _rep.FindInvoiceById(id1).SingleOrDefault();
[880]114            if (!String.IsNullOrEmpty(Iserror(platnosc).error)) return View("Error1", Iserror(platnosc));           
115           
[873]116            var invoiceDeatailsViewData = InitInvoiceDetailsViewData(platnosc, null, "" , "");
[866]117            return View(invoiceDeatailsViewData);
118        }
[873]119        public ActionResult Fail(string id, string language)
[871]120        {
[873]121            language = _func.setLanguage(language);
[888]122            ustawTlumaczenia(test);
[873]123            int id1 = ConvertId(id);
124            vPlatnosciEcard platnosc = _rep.FindInvoiceById(id1).SingleOrDefault();
[885]125            if (!String.IsNullOrEmpty(Iserror(platnosc).error)) return View("Error1", Iserror(platnosc));
[873]126           
127            var invoiceDeatailsViewData = InitInvoiceDetailsViewData(platnosc, null, "", "");
128            return View(invoiceDeatailsViewData);
[871]129        }
[866]130        public ActionResult Status()
131        {
132            string MERCHANTNUMBER = Request.Form["MERCHANTNUMBER"];
133            int ORDERNUMBER = Convert.ToInt32(Request.Form["ORDERNUMBER"]);
134            string COMMTYPE = Request.Form["COMMTYPE"];
135            string CURRENTSTATE = Request.Form["CURRENTSTATE"];
136            string PREVIOUSSTATE = Request.Form["PREVIOUSSTATE"];
137            bool PAYMENTTYPE = Convert.ToBoolean(Request.Form["PAYMENTTYPE"]);
138            bool EVENTTYPE = Convert.ToBoolean(Request.Form["EVENTTYPE"]);
139            bool PAYMENTNUMBER = Convert.ToBoolean(Request.Form["PAYMENTNUMBER"]);
140            string APPROVALCODE = Request.Form["APPROVALCODE"];
141            string VALIDATIONCODE = Request.Form["VALIDATIONCODE"];
142            string BIN = Request.Form["BIN"];
143            DateTime AUTHTIME = Convert.ToDateTime(Request.Form["AUTHTIME"]);
144            string TYPE = Request.Form["TYPE"];
145            string WITHCVC = Request.Form["WITHCVC"];
146            DateTime DATATRANSMISJI = Convert.ToDateTime(Request.Form["DATATRANSMISJI"]);
147           
148            PotwierdzeniaEcard potwierdzenie = new PotwierdzeniaEcard();
149            potwierdzenie.APPROVALCODE = APPROVALCODE;
150            potwierdzenie.AUTHTIME = AUTHTIME;
151            potwierdzenie.BIN = BIN;
152            potwierdzenie.COMMTYPE = COMMTYPE;
153            potwierdzenie.CURRENTSTATE = CURRENTSTATE;
154            potwierdzenie.DATATRANSMISJI = DATATRANSMISJI;
155            potwierdzenie.EVENTTYPE = EVENTTYPE;
156            potwierdzenie.MERCHANTNUMBER = MERCHANTNUMBER;
157            potwierdzenie.ORDERNUMBER = ORDERNUMBER;
158            potwierdzenie.PAYMENTNUMBER = PAYMENTNUMBER;
159            potwierdzenie.PAYMENTTYPE = PAYMENTTYPE;
160            potwierdzenie.PREVIOUSSTATE = PREVIOUSSTATE;
161            potwierdzenie.TYPE = TYPE;
162            potwierdzenie.VALIDATIONCODE = VALIDATIONCODE;
163            potwierdzenie.WITHCVC = WITHCVC;
164
165            _rep.Insert(potwierdzenie);
[883]166            UpdateStatus(ORDERNUMBER, CURRENTSTATE);
[866]167            return View();
168        }
[868]169        private Payer InitPayer(string FirstName, string LastName, int Id_faktury)
170        {
171            Payer payer = new Payer();
172            payer.FirstName = "";
173            payer.LastName = "";
174            payer.Id_faktury = Id_faktury;
175            return payer;
176        }
177        private InvoiceDetailsViewData InitInvoiceDetailsViewData(vPlatnosciEcard platnosc, Payer payer, string status, string brutto )
178        {
179            var invoiceDeatailsViewData = new InvoiceDetailsViewData();
180            invoiceDeatailsViewData.vPlatnosciEcard = platnosc;
181            invoiceDeatailsViewData.Payer = payer;
182            invoiceDeatailsViewData.Status = status;
183            invoiceDeatailsViewData.brutto = brutto;
184            return invoiceDeatailsViewData;
185        }
[888]186        private void ustawTlumaczenia(int test)
[885]187        {
[888]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            }
[885]196        }
[871]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;
[873]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        {
[880]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);
[873]227            return errorViewData;
228        }
[883]229        public void UpdateStatus(int ordernumber, string currentstate)
[873]230        {
[888]231            PlatnosciEcard platnosc = _repPl.FindOne(ordernumber);
232            if (platnosc != null && currentstate == ISPAID)
[873]233            {
234                platnosc.Status = true;
235                platnosc.Status_data = DateTime.Now;
[888]236                _repPl.SubmitChanges();
237               
238                System.Diagnostics.Debug.WriteLine("IsUpdate");
[873]239            }
240        }               
[866]241    }
242}
Notatka: Zobacz TracBrowser aby uzyskać więcej informacji.