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

Wersja 868, 9.2 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;
14
15namespace Platnosci.Controllers
16{
17    [Authorize]
18    public class PlatnoscController : Controller
19    {
20        private readonly PlatnosciDataContext _context;
21        private readonly IRepositoryPT _rep;
22        private FunkcjePlatnosci _func;
23
24        public PlatnoscController()
25        {
26            _context = new PlatnosciDataContext();
27            _rep = new RepositoryPotwierdzeniaEcard();
28            _func = new FunkcjePlatnosci();
29        }
30        public ActionResult Show(string id, string language)
31        {
32            language = _func.setLanguage(language);
33            string jezyk = Thread.CurrentThread.CurrentCulture.Name.ToString();
34            int id1 = 0;
35            try
36            {
37                id1 = (id != null) ? Convert.ToInt32(id) : 0;
38            }
39            catch
40            {
41            }
42            vPlatnosciEcard platnosc = _context.FindInvoiceById(id1).SingleOrDefault();
43
44            //sprawdzamy czy numer faktury dotyczy zalogowanego usera
45            ErrorViewData errorViewData = new ErrorViewData();
46            if (platnosc == null)
47            {
48               errorViewData.error = HttpContext.GetGlobalResourceObject("tlumaczenia", "brakdanych").ToString();
49               return View("Error1", errorViewData);               
50            }
51            else if (!_func.UserIdentity(platnosc, ControllerContext.HttpContext.User.Identity.Name))
52            {
53                errorViewData.error = HttpContext.GetGlobalResourceObject("tlumaczenia", "weryfikacja").ToString();
54                return View("Error1", errorViewData);
55            }
56           
57            var tablica_potwierdzenia = _context.FindItemsByIdFaktury(id1);
58            if (tablica_potwierdzenia.Count > 0) //platnosc za fakture zostala uregulowana
59            {
60                string data_zaplaty = String.Format("{0:dd-MM-yyyy}",tablica_potwierdzenia[0].AUTHTIME);
61                errorViewData.error = String.Format(HttpContext.GetGlobalResourceObject("tlumaczenia", "zaplacono").ToString(), platnosc.Faktura_Numer, data_zaplaty);
62                return View("Error1", errorViewData);
63            }
64           
65            string kwota = "";
66            kwota = _func.BruttoToString(platnosc.Brutto, platnosc.waluta_brutto, platnosc.waluta_miano);
67            var payer = InitPayer("", "", platnosc.ID_faktury);
68            var invoiceDeatailsViewData = InitInvoiceDetailsViewData(platnosc, payer, "", kwota);           
69            return View(invoiceDeatailsViewData);
70        }       
71        [Authorize]
72        [AcceptVerbs(HttpVerbs.Post)]
73        public ActionResult Show(Payer payer, string language)
74        {
75            language = _func.setLanguage(language);
76            string userName = ControllerContext.HttpContext.User.Identity.Name;
77            int id1 = 0;
78            try
79            {
80                id1 = (payer.Id_faktury != null) ? Convert.ToInt32(payer.Id_faktury) : 0;
81            }
82            catch
83            {
84            }
85            vPlatnosciEcard platnosc = _context.FindInvoiceById(id1).SingleOrDefault();
86            ErrorViewData errorViewData = new ErrorViewData();
87            if (platnosc == null)
88            {
89                errorViewData.error = HttpContext.GetGlobalResourceObject("tlumaczenia", "brakdanych").ToString();
90                return View("Error1", errorViewData);
91            }
92            else if (!_func.UserIdentity(platnosc, ControllerContext.HttpContext.User.Identity.Name))
93            {
94                errorViewData.error = HttpContext.GetGlobalResourceObject("tlumaczenia", "weryfikacja").ToString();
95                return View("Error1", errorViewData); 
96            }
97
98            if (String.IsNullOrEmpty(payer.FirstName))
99            {
100                string err_imieWK = HttpContext.GetGlobalResourceObject("tlumaczenia", "err_imieWK").ToString();
101                ModelState.AddModelError("Payer.FirstName", err_imieWK);
102            }
103            if (String.IsNullOrEmpty(payer.LastName))
104            {
105                string err_nazwiskoWK = HttpContext.GetGlobalResourceObject("tlumaczenia", "err_nazwiskoWK").ToString();
106                ModelState.AddModelError("Payer.LastName", err_nazwiskoWK);
107            }
108            if (ModelState.IsValid == false)
109            {
110                string kwota = "";
111                kwota = _func.BruttoToString(platnosc.Brutto, platnosc.waluta_brutto, platnosc.waluta_miano);
112                var viewData = InitInvoiceDetailsViewData(platnosc, payer, "", kwota );
113                return View("Show",viewData);
114            }
115            if (payer != null)
116                return RedirectToAction("Merchant", "Merchant", payer);
117            else return View("Error");
118        }
119        public ActionResult Potwierdzenie(string id, string status, string language)
120        {
121            language = _func.setLanguage(language);
122
123            int id1 = 0;
124            try
125            {
126                id1 = (id != null) ? Convert.ToInt32(id) : 0;
127            }
128            catch
129            {
130                //id1=0 -> error type =  platnoscIsNotExist;
131            }
132            vPlatnosciEcard platnosc = _context.FindInvoiceById(id1).SingleOrDefault();
133            ErrorViewData errorViewData = new ErrorViewData();
134            if (platnosc == null)
135            {
136                errorViewData.error = HttpContext.GetGlobalResourceObject("tlumaczenia", "faktura_error").ToString();
137                return View("Error1", errorViewData);
138            }
139            else if (!_func.UserIdentity(platnosc, ControllerContext.HttpContext.User.Identity.Name))
140            {
141                errorViewData.error = HttpContext.GetGlobalResourceObject("tlumaczenia", "weryfikacja").ToString();
142                return View("Error1", errorViewData);
143            }
144            var invoiceDeatailsViewData = InitInvoiceDetailsViewData(platnosc, null, status, "" );
145            return View(invoiceDeatailsViewData);
146        }
147        public ActionResult Status()
148        {
149            if (string.IsNullOrEmpty(Request.Form["MERCHANTNUMBER"]))
150                throw new ArgumentException("MERCHANTNUMBER");
151
152            //TODO: validate the Form
153
154            string MERCHANTNUMBER = Request.Form["MERCHANTNUMBER"];
155            int ORDERNUMBER = Convert.ToInt32(Request.Form["ORDERNUMBER"]);
156            string COMMTYPE = Request.Form["COMMTYPE"];
157            string CURRENTSTATE = Request.Form["CURRENTSTATE"];
158            string PREVIOUSSTATE = Request.Form["PREVIOUSSTATE"];
159            bool PAYMENTTYPE = Convert.ToBoolean(Request.Form["PAYMENTTYPE"]);
160            bool EVENTTYPE = Convert.ToBoolean(Request.Form["EVENTTYPE"]);
161            bool PAYMENTNUMBER = Convert.ToBoolean(Request.Form["PAYMENTNUMBER"]);
162            string APPROVALCODE = Request.Form["APPROVALCODE"];
163            string VALIDATIONCODE = Request.Form["VALIDATIONCODE"];
164            string BIN = Request.Form["BIN"];
165            DateTime AUTHTIME = Convert.ToDateTime(Request.Form["AUTHTIME"]);
166            string TYPE = Request.Form["TYPE"];
167            string WITHCVC = Request.Form["WITHCVC"];
168            DateTime DATATRANSMISJI = Convert.ToDateTime(Request.Form["DATATRANSMISJI"]);
169           
170            PotwierdzeniaEcard potwierdzenie = new PotwierdzeniaEcard();
171            potwierdzenie.APPROVALCODE = APPROVALCODE;
172            potwierdzenie.AUTHTIME = AUTHTIME;
173            potwierdzenie.BIN = BIN;
174            potwierdzenie.COMMTYPE = COMMTYPE;
175            potwierdzenie.CURRENTSTATE = CURRENTSTATE;
176            potwierdzenie.DATATRANSMISJI = DATATRANSMISJI;
177            potwierdzenie.EVENTTYPE = EVENTTYPE;
178            potwierdzenie.MERCHANTNUMBER = MERCHANTNUMBER;
179            potwierdzenie.ORDERNUMBER = ORDERNUMBER;
180            potwierdzenie.PAYMENTNUMBER = PAYMENTNUMBER;
181            potwierdzenie.PAYMENTTYPE = PAYMENTTYPE;
182            potwierdzenie.PREVIOUSSTATE = PREVIOUSSTATE;
183            potwierdzenie.TYPE = TYPE;
184            potwierdzenie.VALIDATIONCODE = VALIDATIONCODE;
185            potwierdzenie.WITHCVC = WITHCVC;
186
187            _rep.Insert(potwierdzenie);
188            return View();
189        }
190        private Payer InitPayer(string FirstName, string LastName, int Id_faktury)
191        {
192            Payer payer = new Payer();
193            payer.FirstName = "";
194            payer.LastName = "";
195            payer.Id_faktury = Id_faktury;
196            return payer;
197        }
198        private InvoiceDetailsViewData InitInvoiceDetailsViewData(vPlatnosciEcard platnosc, Payer payer, string status, string brutto )
199        {
200            var invoiceDeatailsViewData = new InvoiceDetailsViewData();
201            invoiceDeatailsViewData.vPlatnosciEcard = platnosc;
202            invoiceDeatailsViewData.Payer = payer;
203            invoiceDeatailsViewData.Status = status;
204            invoiceDeatailsViewData.brutto = brutto;
205            return invoiceDeatailsViewData;
206        }
207               
208    }
209}
Notatka: Zobacz TracBrowser aby uzyskać więcej informacji.