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

Wersja 866, 9.1 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            //gdy platnosc za fakture zostala uregulowana ->nie przekierowujemy do systemu eCard,
57            //tylko wyswietlamy stosowny komunikat
58            var tablica_potwierdzenia = _context.FindItemsByIdFaktury(id1);
59            if (tablica_potwierdzenia.Count > 0)
60            {
61                string data_zaplaty = String.Format("{0:dd-MM-yyyy}",tablica_potwierdzenia[0].AUTHTIME);
62                errorViewData.error = String.Format(HttpContext.GetGlobalResourceObject("tlumaczenia", "zaplacono").ToString(), platnosc.Faktura_Numer, data_zaplaty);
63                return View("Error1", errorViewData);
64            }
65           
66            string kwota = "";
67            kwota = _func.BruttoToString(platnosc.Brutto, platnosc.waluta_brutto, platnosc.waluta_miano);                                   
68           
69            Payer payer = new Payer();
70            payer.FirstName = "";
71            payer.LastName = "";
72            payer.Id_faktury = platnosc.ID_faktury;
73                             
74            var invoiceDeatailsViewData = new InvoiceDetailsViewData();
75            invoiceDeatailsViewData.vPlatnosciEcard = platnosc;
76            invoiceDeatailsViewData.Payer = payer;
77            invoiceDeatailsViewData.brutto = kwota;
78            return View(invoiceDeatailsViewData);
79        }
80        [Authorize]
81        [AcceptVerbs(HttpVerbs.Post)]
82        public ActionResult Show(Payer payer, string language)
83        {
84            language = _func.setLanguage(language);
85            string userName = ControllerContext.HttpContext.User.Identity.Name;
86            int id1 = 0;
87            try
88            {
89                id1 = (payer.Id_faktury != null) ? Convert.ToInt32(payer.Id_faktury) : 0;
90            }
91            catch
92            {
93            }
94            vPlatnosciEcard platnosc = _context.FindInvoiceById(id1).SingleOrDefault();
95            ErrorViewData errorViewData = new ErrorViewData();
96            if (platnosc == null)
97            {
98                errorViewData.error = HttpContext.GetGlobalResourceObject("tlumaczenia", "brakdanych").ToString();
99                return View("Error1", errorViewData);
100            }
101            else if (!_func.UserIdentity(platnosc, ControllerContext.HttpContext.User.Identity.Name))
102            {
103                errorViewData.error = HttpContext.GetGlobalResourceObject("tlumaczenia", "weryfikacja").ToString();
104                return View("Error1", errorViewData); 
105            }
106
107            if (String.IsNullOrEmpty(payer.FirstName))
108            {
109                string err_imieWK = HttpContext.GetGlobalResourceObject("tlumaczenia", "err_imieWK").ToString();
110                ModelState.AddModelError("Payer.FirstName", err_imieWK);
111            }
112            if (String.IsNullOrEmpty(payer.LastName))
113            {
114                string err_nazwiskoWK = HttpContext.GetGlobalResourceObject("tlumaczenia", "err_nazwiskoWK").ToString();
115                ModelState.AddModelError("Payer.LastName", err_nazwiskoWK);
116            }
117            if (ModelState.IsValid == false)
118            {
119                var viewData = new InvoiceDetailsViewData();
120                string kwota = "";
121                kwota = _func.BruttoToString(platnosc.Brutto, platnosc.waluta_brutto, platnosc.waluta_miano);
122                viewData.brutto = kwota;
123                viewData.Payer = payer;
124                viewData.vPlatnosciEcard = platnosc;
125                return View("Show",viewData);
126            }
127            if (payer != null)
128                return RedirectToAction("Merchant", "Merchant", payer);
129            else return View("Error");
130        }
131        public ActionResult Potwierdzenie(string id, string status, string language)
132        {
133            language = _func.setLanguage(language);
134
135            int id1 = 0;
136            try
137            {
138                id1 = (id != null) ? Convert.ToInt32(id) : 0;
139            }
140            catch
141            {
142                //id1=0 -> error type =  platnoscIsNotExist;
143            }
144            vPlatnosciEcard platnosc = _context.FindInvoiceById(id1).SingleOrDefault();
145            ErrorViewData errorViewData = new ErrorViewData();
146            if (platnosc == null)
147            {
148                errorViewData.error = HttpContext.GetGlobalResourceObject("tlumaczenia", "faktura_error").ToString();
149                return View("Error1", errorViewData);
150            }
151            else if (!_func.UserIdentity(platnosc, ControllerContext.HttpContext.User.Identity.Name))
152            {
153                errorViewData.error = HttpContext.GetGlobalResourceObject("tlumaczenia", "weryfikacja").ToString();
154                return View("Error1", errorViewData);
155            }
156            var invoiceDeatailsViewData = new InvoiceDetailsViewData();
157            invoiceDeatailsViewData.vPlatnosciEcard = platnosc;
158            invoiceDeatailsViewData.Payer = null;
159            invoiceDeatailsViewData.Status = status;
160            return View(invoiceDeatailsViewData);
161        }
162        public ActionResult Status()
163        {
164            if (string.IsNullOrEmpty(Request.Form["MERCHANTNUMBER"]))
165                throw new ArgumentException("MERCHANTNUMBER");
166
167            //TODO: validate the Form
168
169            string MERCHANTNUMBER = Request.Form["MERCHANTNUMBER"];
170            int ORDERNUMBER = Convert.ToInt32(Request.Form["ORDERNUMBER"]);
171            string COMMTYPE = Request.Form["COMMTYPE"];
172            string CURRENTSTATE = Request.Form["CURRENTSTATE"];
173            string PREVIOUSSTATE = Request.Form["PREVIOUSSTATE"];
174            bool PAYMENTTYPE = Convert.ToBoolean(Request.Form["PAYMENTTYPE"]);
175            bool EVENTTYPE = Convert.ToBoolean(Request.Form["EVENTTYPE"]);
176            bool PAYMENTNUMBER = Convert.ToBoolean(Request.Form["PAYMENTNUMBER"]);
177            string APPROVALCODE = Request.Form["APPROVALCODE"];
178            string VALIDATIONCODE = Request.Form["VALIDATIONCODE"];
179            string BIN = Request.Form["BIN"];
180            DateTime AUTHTIME = Convert.ToDateTime(Request.Form["AUTHTIME"]);
181            string TYPE = Request.Form["TYPE"];
182            string WITHCVC = Request.Form["WITHCVC"];
183            DateTime DATATRANSMISJI = Convert.ToDateTime(Request.Form["DATATRANSMISJI"]);
184           
185            PotwierdzeniaEcard potwierdzenie = new PotwierdzeniaEcard();
186            potwierdzenie.APPROVALCODE = APPROVALCODE;
187            potwierdzenie.AUTHTIME = AUTHTIME;
188            potwierdzenie.BIN = BIN;
189            potwierdzenie.COMMTYPE = COMMTYPE;
190            potwierdzenie.CURRENTSTATE = CURRENTSTATE;
191            potwierdzenie.DATATRANSMISJI = DATATRANSMISJI;
192            potwierdzenie.EVENTTYPE = EVENTTYPE;
193            potwierdzenie.MERCHANTNUMBER = MERCHANTNUMBER;
194            potwierdzenie.ORDERNUMBER = ORDERNUMBER;
195            potwierdzenie.PAYMENTNUMBER = PAYMENTNUMBER;
196            potwierdzenie.PAYMENTTYPE = PAYMENTTYPE;
197            potwierdzenie.PREVIOUSSTATE = PREVIOUSSTATE;
198            potwierdzenie.TYPE = TYPE;
199            potwierdzenie.VALIDATIONCODE = VALIDATIONCODE;
200            potwierdzenie.WITHCVC = WITHCVC;
201
202            _rep.Insert(potwierdzenie);
203            return View();
204        }
205               
206    }
207}
Notatka: Zobacz TracBrowser aby uzyskać więcej informacji.