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

Wersja 870, 9.6 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 IRep<PotwierdzeniaEcard> _repository;
26        private FunkcjePlatnosci _func;
27
28
29        public PlatnoscController()
30        {
31            _context = new PlatnosciDataContext();
32            _rep = new Repository<PotwierdzeniaEcard>(new DataContext1());
33            _func = new FunkcjePlatnosci();
34        }
35        public PlatnoscController(IDataContext datacontext){
36            _rep = new Repository<PotwierdzeniaEcard>(datacontext);
37            _context1 = datacontext;
38        }
39        public ActionResult Show(string id, string language)
40        {
41            language = _func.setLanguage(language);
42            string jezyk = Thread.CurrentThread.CurrentCulture.Name.ToString();
43            int id1 = 0;
44            try
45            {
46                id1 = (id != null) ? Convert.ToInt32(id) : 0;
47            }
48            catch
49            {
50            }
51           
52            vPlatnosciEcard platnosc = _rep.FindInvoiceById(id1).SingleOrDefault();
53            //sprawdzamy czy numer faktury dotyczy zalogowanego usera
54            ErrorViewData errorViewData = new ErrorViewData();
55            if (platnosc == null)
56            {
57               errorViewData.error = HttpContext.GetGlobalResourceObject("tlumaczenia", "brakdanych").ToString();
58               return View("Error1", errorViewData);               
59            }
60            else if (!_func.UserIdentity(platnosc, ControllerContext.HttpContext.User.Identity.Name))
61            {
62                errorViewData.error = HttpContext.GetGlobalResourceObject("tlumaczenia", "weryfikacja").ToString();
63                return View("Error1", errorViewData);
64            }
65           
66            var tablica_potwierdzenia = _rep.FindItemsByIdFaktury(id1);
67            if (tablica_potwierdzenia.Count > 0) //platnosc za fakture zostala uregulowana
68            {
69                string data_zaplaty = String.Format("{0:dd-MM-yyyy}",tablica_potwierdzenia[0].AUTHTIME);
70                errorViewData.error = String.Format(HttpContext.GetGlobalResourceObject("tlumaczenia", "zaplacono").ToString(), platnosc.Faktura_Numer, data_zaplaty);
71                return View("Error1", errorViewData);
72            }
73           
74            string kwota = "";
75            kwota = _func.BruttoToString(platnosc.Brutto, platnosc.waluta_brutto, platnosc.waluta_miano);
76            var payer = InitPayer("", "", platnosc.ID_faktury);
77            var invoiceDeatailsViewData = InitInvoiceDetailsViewData(platnosc, payer, "", 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 = _rep.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                string kwota = "";
120                kwota = _func.BruttoToString(platnosc.Brutto, platnosc.waluta_brutto, platnosc.waluta_miano);
121                var viewData = InitInvoiceDetailsViewData(platnosc, payer, "", kwota );
122                return View("Show",viewData);
123            }
124            if (payer != null)
125                return RedirectToAction("Merchant", "Merchant", payer);
126            else return View("Error");
127        }
128        public ActionResult Potwierdzenie(string id, string status, string language)
129        {
130            language = _func.setLanguage(language);
131
132            int id1 = 0;
133            try
134            {
135                id1 = (id != null) ? Convert.ToInt32(id) : 0;
136            }
137            catch
138            {
139                //id1=0 -> error type =  platnoscIsNotExist;
140            }
141            vPlatnosciEcard platnosc = _rep.FindInvoiceById(id1).SingleOrDefault();
142            ErrorViewData errorViewData = new ErrorViewData();
143            if (platnosc == null)
144            {
145                errorViewData.error = HttpContext.GetGlobalResourceObject("tlumaczenia", "faktura_error").ToString();
146                return View("Error1", errorViewData);
147            }
148            else if (!_func.UserIdentity(platnosc, ControllerContext.HttpContext.User.Identity.Name))
149            {
150                errorViewData.error = HttpContext.GetGlobalResourceObject("tlumaczenia", "weryfikacja").ToString();
151                return View("Error1", errorViewData);
152            }
153            var invoiceDeatailsViewData = InitInvoiceDetailsViewData(platnosc, null, status, "" );
154            return View(invoiceDeatailsViewData);
155        }
156        public ActionResult Status()
157        {
158            if (string.IsNullOrEmpty(Request.Form["MERCHANTNUMBER"]))
159                throw new ArgumentException("MERCHANTNUMBER");
160
161            //TODO: validate the Form
162
163            string MERCHANTNUMBER = Request.Form["MERCHANTNUMBER"];
164            int ORDERNUMBER = Convert.ToInt32(Request.Form["ORDERNUMBER"]);
165            string COMMTYPE = Request.Form["COMMTYPE"];
166            string CURRENTSTATE = Request.Form["CURRENTSTATE"];
167            string PREVIOUSSTATE = Request.Form["PREVIOUSSTATE"];
168            bool PAYMENTTYPE = Convert.ToBoolean(Request.Form["PAYMENTTYPE"]);
169            bool EVENTTYPE = Convert.ToBoolean(Request.Form["EVENTTYPE"]);
170            bool PAYMENTNUMBER = Convert.ToBoolean(Request.Form["PAYMENTNUMBER"]);
171            string APPROVALCODE = Request.Form["APPROVALCODE"];
172            string VALIDATIONCODE = Request.Form["VALIDATIONCODE"];
173            string BIN = Request.Form["BIN"];
174            DateTime AUTHTIME = Convert.ToDateTime(Request.Form["AUTHTIME"]);
175            string TYPE = Request.Form["TYPE"];
176            string WITHCVC = Request.Form["WITHCVC"];
177            DateTime DATATRANSMISJI = Convert.ToDateTime(Request.Form["DATATRANSMISJI"]);
178           
179            PotwierdzeniaEcard potwierdzenie = new PotwierdzeniaEcard();
180            potwierdzenie.APPROVALCODE = APPROVALCODE;
181            potwierdzenie.AUTHTIME = AUTHTIME;
182            potwierdzenie.BIN = BIN;
183            potwierdzenie.COMMTYPE = COMMTYPE;
184            potwierdzenie.CURRENTSTATE = CURRENTSTATE;
185            potwierdzenie.DATATRANSMISJI = DATATRANSMISJI;
186            potwierdzenie.EVENTTYPE = EVENTTYPE;
187            potwierdzenie.MERCHANTNUMBER = MERCHANTNUMBER;
188            potwierdzenie.ORDERNUMBER = ORDERNUMBER;
189            potwierdzenie.PAYMENTNUMBER = PAYMENTNUMBER;
190            potwierdzenie.PAYMENTTYPE = PAYMENTTYPE;
191            potwierdzenie.PREVIOUSSTATE = PREVIOUSSTATE;
192            potwierdzenie.TYPE = TYPE;
193            potwierdzenie.VALIDATIONCODE = VALIDATIONCODE;
194            potwierdzenie.WITHCVC = WITHCVC;
195
196            _rep.Insert(potwierdzenie);
197            return View();
198        }
199        private Payer InitPayer(string FirstName, string LastName, int Id_faktury)
200        {
201            Payer payer = new Payer();
202            payer.FirstName = "";
203            payer.LastName = "";
204            payer.Id_faktury = Id_faktury;
205            return payer;
206        }
207        private InvoiceDetailsViewData InitInvoiceDetailsViewData(vPlatnosciEcard platnosc, Payer payer, string status, string brutto )
208        {
209            var invoiceDeatailsViewData = new InvoiceDetailsViewData();
210            invoiceDeatailsViewData.vPlatnosciEcard = platnosc;
211            invoiceDeatailsViewData.Payer = payer;
212            invoiceDeatailsViewData.Status = status;
213            invoiceDeatailsViewData.brutto = brutto;
214            return invoiceDeatailsViewData;
215        }
216               
217    }
218}
Notatka: Zobacz TracBrowser aby uzyskać więcej informacji.