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

Wersja 871, 11.0 KB (wprowadzona przez alina, 16 years temu)

re #215

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;
16
17namespace Platnosci.Controllers
18{
19    [Authorize]
20    public class PlatnoscController : Controller
21    {
22        private readonly PlatnosciDataContext _context;
23        private readonly IDataContext _context1;
24        private readonly IRepository<PotwierdzeniaEcard> _rep;
25        private readonly IRepository<PlatnosciEcard> _repPl;
26        private FunkcjePlatnosci _func;
27        private string userIdentity = "";
28        private string weryfikacja = "";
29        private string brakdanych = "";
30        private string zaplacono = "";
31        private string err_imie = "";
32        private string err_nazwisko = "";
33       
34
35        protected override void Initialize(System.Web.Routing.RequestContext requestContext)
36        {           
37            base.Initialize(requestContext);
38            userIdentity = HttpContext.User.Identity.Name;
39            weryfikacja = HttpContext.GetGlobalResourceObject("tlumaczenia", "weryfikacja").ToString();
40            brakdanych = HttpContext.GetGlobalResourceObject("tlumaczenia", "brakdanych").ToString();
41            zaplacono = HttpContext.GetGlobalResourceObject("tlumaczenia", "zaplacono").ToString();
42            err_imie = HttpContext.GetGlobalResourceObject("tlumaczenia", "err_imieWK").ToString();
43            err_nazwisko = HttpContext.GetGlobalResourceObject("tlumaczenia", "err_nazwiskoWK").ToString();           
44        }       
45
46        public PlatnoscController()
47        {
48            _context = new PlatnosciDataContext();
49            _rep = new Repository<PotwierdzeniaEcard>(new DataContext1());
50            _repPl = new Repository<PlatnosciEcard>(new DataContext1());
51            _func = new FunkcjePlatnosci();
52                     
53        }
54        public PlatnoscController(IDataContext datacontext){
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            string jezyk = Thread.CurrentThread.CurrentCulture.Name.ToString();
64            int id1 = 0;
65            try
66            {
67                id1 = (id != null) ? Convert.ToInt32(id) : 0;
68            }
69            catch
70            {
71            }
72         
73            vPlatnosciEcard platnosc = _rep.FindInvoiceById(id1).SingleOrDefault();
74            ErrorViewData errorViewData = new ErrorViewData();
75            if (platnosc == null)
76            {
77               errorViewData.error = brakdanych;
78               return View("Error1", errorViewData);               
79            }
80            else if (!_func.UserIdentity(platnosc, userIdentity))
81            {
82                errorViewData.error = weryfikacja;
83                return View("Error1", errorViewData);
84            }
85           
86            var tablica_potwierdzenia = _rep.FindItemsByIdFaktury(id1);
87            if (tablica_potwierdzenia.Count > 0) //platnosc za fakture zostala uregulowana
88            {
89                string data_zaplaty = String.Format("{0:dd-MM-yyyy}",tablica_potwierdzenia[0].AUTHTIME);
90                errorViewData.error = String.Format(zaplacono, platnosc.Faktura_Numer, data_zaplaty);
91                return View("Error1", errorViewData);
92            }
93           
94            string kwota = "";
95            kwota = _func.BruttoToString(platnosc.Brutto, platnosc.waluta_brutto, platnosc.waluta_miano);
96            var payer = InitPayer("", "", platnosc.ID_faktury);
97            var invoiceDeatailsViewData = InitInvoiceDetailsViewData(platnosc, payer, "", kwota);           
98            return View(invoiceDeatailsViewData);
99        }       
100        [Authorize]
101        [AcceptVerbs(HttpVerbs.Post)]
102        public ActionResult Show(Payer payer, string language)
103        {
104            language = _func.setLanguage(language);
105            int id1 = 0;
106            try
107            {
108                id1 = (payer.Id_faktury != null) ? Convert.ToInt32(payer.Id_faktury) : 0;
109            }
110            catch
111            {
112            }
113            vPlatnosciEcard platnosc = _rep.FindInvoiceById(id1).SingleOrDefault();
114            ErrorViewData errorViewData = new ErrorViewData();
115
116            if (!_func.UserIdentity(platnosc, userIdentity))
117            {
118                errorViewData.error = weryfikacja;
119                return View("Error1", errorViewData);
120            }
121            if (platnosc == null)
122            {
123                errorViewData.error = brakdanych;
124                return View("Error1", errorViewData);
125            }
126            else if (!_func.UserIdentity(platnosc, userIdentity))
127            {
128                errorViewData.error = weryfikacja;
129                return View("Error1", errorViewData); 
130            }
131
132            if (String.IsNullOrEmpty(payer.FirstName))
133            {
134                ModelState.AddModelError("Payer.FirstName", err_imie);
135            }
136            if (String.IsNullOrEmpty(payer.LastName))
137            {
138                ModelState.AddModelError("Payer.LastName", err_nazwisko);
139            }
140            if (ModelState.IsValid == false)
141            {
142                string kwota = "";
143                kwota = _func.BruttoToString(platnosc.Brutto, platnosc.waluta_brutto, platnosc.waluta_miano);
144                var viewData = InitInvoiceDetailsViewData(platnosc, payer, "", kwota );
145                return View("Show",viewData);
146            }
147            if (payer != null)
148                return RedirectToAction("Merchant", "Merchant", payer);
149            else return View("Error");
150        }
151        public ActionResult Potwierdzenie(string id, string status, string language)
152        {
153            language = _func.setLanguage(language);
154
155            int id1 = 0;
156            try
157            {
158                id1 = (id != null) ? Convert.ToInt32(id) : 0;
159            }
160            catch
161            {
162                //id1=0 -> error type =  platnoscIsNotExist;
163            }
164            vPlatnosciEcard platnosc = _rep.FindInvoiceById(id1).SingleOrDefault();
165            ErrorViewData errorViewData = new ErrorViewData();
166            if (platnosc == null)
167            {
168                errorViewData.error = HttpContext.GetGlobalResourceObject("tlumaczenia", "faktura_error").ToString();
169                return View("Error1", errorViewData);
170            }
171            else if (!_func.UserIdentity(platnosc, userIdentity))
172            {
173                errorViewData.error = weryfikacja;
174                return View("Error1", errorViewData);
175            }
176            var invoiceDeatailsViewData = InitInvoiceDetailsViewData(platnosc, null, status, "" );
177            return View(invoiceDeatailsViewData);
178        }
179        public void UpdateStatus(int ordernumber, string validationcode)
180        {
181
182            var platnosc = _repPl.FindOne(i => i.ORDERNUMBER == ordernumber);
183            if (platnosc != null && platnosc.Status == true && validationcode == "000")
184            {
185                platnosc.Status = true;
186                platnosc.Status_data = DateTime.Now;
187                _repPl.Update(platnosc);
188            }
189        }
190        public ActionResult Status()
191        {
192            if (string.IsNullOrEmpty(Request.Form["MERCHANTNUMBER"]))
193                throw new ArgumentException("MERCHANTNUMBER");
194
195            //TODO: validate the Form
196            string MERCHANTNUMBER = Request.Form["MERCHANTNUMBER"];
197            int ORDERNUMBER = Convert.ToInt32(Request.Form["ORDERNUMBER"]);
198            string COMMTYPE = Request.Form["COMMTYPE"];
199            string CURRENTSTATE = Request.Form["CURRENTSTATE"];
200            string PREVIOUSSTATE = Request.Form["PREVIOUSSTATE"];
201            bool PAYMENTTYPE = Convert.ToBoolean(Request.Form["PAYMENTTYPE"]);
202            bool EVENTTYPE = Convert.ToBoolean(Request.Form["EVENTTYPE"]);
203            bool PAYMENTNUMBER = Convert.ToBoolean(Request.Form["PAYMENTNUMBER"]);
204            string APPROVALCODE = Request.Form["APPROVALCODE"];
205            string VALIDATIONCODE = Request.Form["VALIDATIONCODE"];
206            string BIN = Request.Form["BIN"];
207            DateTime AUTHTIME = Convert.ToDateTime(Request.Form["AUTHTIME"]);
208            string TYPE = Request.Form["TYPE"];
209            string WITHCVC = Request.Form["WITHCVC"];
210            DateTime DATATRANSMISJI = Convert.ToDateTime(Request.Form["DATATRANSMISJI"]);
211           
212            PotwierdzeniaEcard potwierdzenie = new PotwierdzeniaEcard();
213            potwierdzenie.APPROVALCODE = APPROVALCODE;
214            potwierdzenie.AUTHTIME = AUTHTIME;
215            potwierdzenie.BIN = BIN;
216            potwierdzenie.COMMTYPE = COMMTYPE;
217            potwierdzenie.CURRENTSTATE = CURRENTSTATE;
218            potwierdzenie.DATATRANSMISJI = DATATRANSMISJI;
219            potwierdzenie.EVENTTYPE = EVENTTYPE;
220            potwierdzenie.MERCHANTNUMBER = MERCHANTNUMBER;
221            potwierdzenie.ORDERNUMBER = ORDERNUMBER;
222            potwierdzenie.PAYMENTNUMBER = PAYMENTNUMBER;
223            potwierdzenie.PAYMENTTYPE = PAYMENTTYPE;
224            potwierdzenie.PREVIOUSSTATE = PREVIOUSSTATE;
225            potwierdzenie.TYPE = TYPE;
226            potwierdzenie.VALIDATIONCODE = VALIDATIONCODE;
227            potwierdzenie.WITHCVC = WITHCVC;
228
229            _rep.Insert(potwierdzenie);
230            return View();
231        }
232        private Payer InitPayer(string FirstName, string LastName, int Id_faktury)
233        {
234            Payer payer = new Payer();
235            payer.FirstName = "";
236            payer.LastName = "";
237            payer.Id_faktury = Id_faktury;
238            return payer;
239        }
240        private InvoiceDetailsViewData InitInvoiceDetailsViewData(vPlatnosciEcard platnosc, Payer payer, string status, string brutto )
241        {
242            var invoiceDeatailsViewData = new InvoiceDetailsViewData();
243            invoiceDeatailsViewData.vPlatnosciEcard = platnosc;
244            invoiceDeatailsViewData.Payer = payer;
245            invoiceDeatailsViewData.Status = status;
246            invoiceDeatailsViewData.brutto = brutto;
247            return invoiceDeatailsViewData;
248        }
249        public void setUserIdentity(string value)
250        {
251            this.userIdentity = value;
252
253        }
254        public void setWeryfikacja(string value)
255        {
256            this.weryfikacja = value;
257
258        }
259        public void setBrakDanych(string value)
260        {
261            this.brakdanych = value;
262
263        }
264        public void setZaplacono(string value)
265        {
266            this.zaplacono = value;
267
268        }       
269               
270    }
271}
Notatka: Zobacz TracBrowser aby uzyskać więcej informacji.