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

Wersja 883, 10.3 KB (wprowadzona przez alina, 16 years temu)

re #215 edycja widoku dla zapłaconej faktury, zmiana funkcji UpdateStatus? (edycja statusu po CURRENTSTATE a nie VALIDATIONCODE)

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