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

Wersja 873, 10.4 KB (wprowadzona przez alina, 16 years temu)

re #215 Dodanie akcji Fail i Ok do wyswietlenia potwierdzenia, wydzielenie funkcji sprawdzajacej czy informacje o danej platnosci moga zostac wyswietlone odpowiedniemu uzytkownikowi

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