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

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

re #215 dodanie tlumaczen, poprawne wyswietlenie tekstow na stronie Platnosc/Show

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;
35       
[866]36        public PlatnoscController()
37        {
38            _context = new PlatnosciDataContext();
[871]39            _rep = new Repository<PotwierdzeniaEcard>(new DataContext1());
40            _repPl = new Repository<PlatnosciEcard>(new DataContext1());
[866]41            _func = new FunkcjePlatnosci();
[871]42                     
[866]43        }
[872]44        public PlatnoscController(IDataContext datacontext)
45        {
[870]46            _rep = new Repository<PotwierdzeniaEcard>(datacontext);
[871]47            _repPl = new Repository<PlatnosciEcard>(datacontext);
[870]48            _context1 = datacontext;
[872]49            _func = new FunkcjePlatnosci();
[870]50        }
[866]51        public ActionResult Show(string id, string language)
52        {
53            language = _func.setLanguage(language);
[885]54            ustawTlumaczenia();
[881]55            int id1 = ConvertId(id);
[873]56
[870]57            vPlatnosciEcard platnosc = _rep.FindInvoiceById(id1).SingleOrDefault();
[880]58            if (!String.IsNullOrEmpty(Iserror(platnosc).error)) return View("Error1", Iserror(platnosc));
[883]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
[870]65            var tablica_potwierdzenia = _rep.FindItemsByIdFaktury(id1);
[868]66            if (tablica_potwierdzenia.Count > 0) //platnosc za fakture zostala uregulowana
[866]67            {
[883]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);
[885]72            }       
[883]73            return View(invoiceDeatailsViewData);             
[868]74        }       
[866]75        [Authorize]
76        [AcceptVerbs(HttpVerbs.Post)]
77        public ActionResult Show(Payer payer, string language)
78        {
79            language = _func.setLanguage(language);
[885]80            ustawTlumaczenia();
[873]81            vPlatnosciEcard platnosc = _rep.FindInvoiceById(payer.Id_faktury).SingleOrDefault();
[880]82            if (!String.IsNullOrEmpty(Iserror(platnosc).error)) return View("Error1", Iserror(platnosc));
[873]83           
[866]84            if (String.IsNullOrEmpty(payer.FirstName))
85            {
[871]86                ModelState.AddModelError("Payer.FirstName", err_imie);
[866]87            }
88            if (String.IsNullOrEmpty(payer.LastName))
89            {
[871]90                ModelState.AddModelError("Payer.LastName", err_nazwisko);
[866]91            }
92            if (ModelState.IsValid == false)
93            {
94                string kwota = "";
95                kwota = _func.BruttoToString(platnosc.Brutto, platnosc.waluta_brutto, platnosc.waluta_miano);
[868]96                var viewData = InitInvoiceDetailsViewData(platnosc, payer, "", kwota );
[866]97                return View("Show",viewData);
98            }
99            if (payer != null)
[873]100            {               
[877]101                System.Diagnostics.Debug.WriteLine("PlatnosciController:Show");
[866]102                return RedirectToAction("Merchant", "Merchant", payer);
[877]103            }               
[866]104            else return View("Error");
105        }
[873]106        public ActionResult Ok(string id, string language)
[866]107        {
108            language = _func.setLanguage(language);
[885]109            ustawTlumaczenia();
[873]110            int id1 = ConvertId(id);
[870]111            vPlatnosciEcard platnosc = _rep.FindInvoiceById(id1).SingleOrDefault();
[880]112            if (!String.IsNullOrEmpty(Iserror(platnosc).error)) return View("Error1", Iserror(platnosc));           
113           
[873]114            var invoiceDeatailsViewData = InitInvoiceDetailsViewData(platnosc, null, "" , "");
[866]115            return View(invoiceDeatailsViewData);
116        }
[873]117        public ActionResult Fail(string id, string language)
[871]118        {
[873]119            language = _func.setLanguage(language);
[885]120            ustawTlumaczenia();
[873]121            int id1 = ConvertId(id);
122            vPlatnosciEcard platnosc = _rep.FindInvoiceById(id1).SingleOrDefault();
[885]123            if (!String.IsNullOrEmpty(Iserror(platnosc).error)) return View("Error1", Iserror(platnosc));
[873]124           
125            var invoiceDeatailsViewData = InitInvoiceDetailsViewData(platnosc, null, "", "");
126            return View(invoiceDeatailsViewData);
[871]127        }
[866]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            _rep.Insert(potwierdzenie);
[883]164            UpdateStatus(ORDERNUMBER, CURRENTSTATE);
[866]165            return View();
166        }
[868]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        }
[885]184        private void ustawTlumaczenia()
185        {
186            weryfikacja = HttpContext.GetGlobalResourceObject("tlumaczenia", "weryfikacja").ToString();
187            brakdanych = HttpContext.GetGlobalResourceObject("tlumaczenia", "brakdanych").ToString();
188            zaplacono = HttpContext.GetGlobalResourceObject("tlumaczenia", "zaplacono").ToString();
189            err_imie = HttpContext.GetGlobalResourceObject("tlumaczenia", "err_imieWK").ToString();
190            err_nazwisko = HttpContext.GetGlobalResourceObject("tlumaczenia", "err_nazwiskoWK").ToString();
191        }
[871]192        public void setWeryfikacja(string value)
193        {
194            this.weryfikacja = value;
195        }
196        public void setBrakDanych(string value)
197        {
198            this.brakdanych = value;
199        }
200        public void setZaplacono(string value)
201        {
202            this.zaplacono = value;
[873]203        }
204        public int ConvertId(string id)
205        {
206            int id1 = 0;
207            try
208            {
209                id1 = (id != null) ? Convert.ToInt32(id) : 0;
210            }
211            catch
212            {
213            }
214            return id1;
215        }
216        public ErrorViewData Iserror(vPlatnosciEcard platnosc)
217        {
[880]218            string errortxt = "";
219            if (platnosc == null) errortxt = brakdanych;
220            else if (!_func.UserIdentity(platnosc, HttpContext.User.Identity.Name)) errortxt = weryfikacja;
221            ErrorViewData errorViewData = _func.InitErrorViewData(errortxt);
[873]222            return errorViewData;
223        }
[883]224        public void UpdateStatus(int ordernumber, string currentstate)
[873]225        {
[877]226            var platnosc = _rep.FindPaymentByOrdernumber(ordernumber).SingleOrDefault();
[883]227            if (platnosc != null && platnosc.Status == true && currentstate == ISPAID)
[873]228            {
229                platnosc.Status = true;
230                platnosc.Status_data = DateTime.Now;
231                _repPl.Update(platnosc);
232            }
233        }               
[866]234    }
235}
Notatka: Zobacz TracBrowser aby uzyskać więcej informacji.