root/trunk/eCard/eCardMVC/Platnosci/Controllers/MerchantController.cs @ 951

Wersja 951, 3.4 KB (wprowadzona przez alina, 16 years temu)

re #215 dodanie testów, mała przebudowa akcji Merchant (wydzielenie funkcji)

RevLine 
[866]1using System;
2using System.Linq;
3using System.Web.Mvc;
4using Platnosci.Models;
5using Platnosci.Core.Linq;
6using Platnosci.Core.Interface;
7using System.Configuration;
8using System.Net;
9using System.IO;
10using System.Threading;
11
12namespace Platnosci.Controllers
13{
14    [Authorize]
15    public class MerchantController : Controller
16    {
[951]17        public const string BAD_HASH = "zlyHash";                  //b³êdne has³o - odpowiedŸ z eCard
[917]18        public const string HASH_ERROR_INFO = "payment not exist";
[866]19
[896]20        private readonly IRepository<vPlatnosciEcard> _repVPayment;
[919]21        private readonly IRepository<PlatnosciEcard> _repPayment;
[933]22        private readonly FunkcjePlatnosci _funkcjePlatnosci;
[951]23        private readonly eCardData _eCardData;
[933]24        private readonly ITranslateManager _translateManager;
[866]25
26        public MerchantController()
[896]27        {
[949]28            _repVPayment = new Repository<vPlatnosciEcard>(new DataContext());
29            _repPayment = new Repository<PlatnosciEcard>(new DataContext());
[933]30            _funkcjePlatnosci = new FunkcjePlatnosci();
31            _translateManager = new Translation();
[951]32            _eCardData = new eCardData(_repPayment);
[866]33        }
[951]34        public MerchantController(IRepository<vPlatnosciEcard> repVPayment, IRepository<PlatnosciEcard> repPayment, ITranslateManager translate, eCardData ecardData)
35        {
36            _repVPayment = repVPayment;
37            _repPayment = repPayment;
38            _funkcjePlatnosci = new FunkcjePlatnosci();
39            _translateManager = translate;
40            _eCardData = ecardData;
41        }
[933]42
[866]43        public ActionResult Merchant(Payer payer, string language)
44        {
[950]45            language = _funkcjePlatnosci.SetLanguage(language);
[866]46
[933]47            var id1 = Convert.ToInt32(payer.Id_faktury);
48            var platnosc = _repVPayment.Find(p => p.ID_faktury == id1).SingleOrDefault();
[880]49                 
[934]50            if (platnosc == null)
51                return View("Error1", IsError("brakdanych", 0));
[933]52           
53            if (!_funkcjePlatnosci.UserIdentity(platnosc, ControllerContext.HttpContext.User.Identity.Name))
[951]54                return View("Error1", IsError("weryfikacja", 0));
[933]55
[951]56            var merchant = _eCardData.CreateMerchantData(platnosc, payer, language, Session.SessionID);
[933]57           
[951]58            if (merchant != null) merchant.IsValid();
59           
60            if (merchant == null || (merchant != null && (!String.IsNullOrEmpty(merchant.Error))))
[934]61                return View("Error1", IsError("error_hash", payer.Id_faktury));
[951]62           
63            var adres = _eCardData.GetUrl(merchant);
64            Response.Redirect(adres);           
[917]65            return new EmptyResult();         
[951]66        }         
[934]67        public ErrorViewData IsError(string errortxt, int idFaktury)
68        {
69            if (errortxt == "brakdanych")
70                errortxt = _translateManager.Translate("tlumaczenia", "brakdanych");
71            else if (errortxt == "weryfikacja")
72                errortxt = _translateManager.Translate("tlumaczenia", "weryfikacja");
73            else if (errortxt == "error_hash")
74                errortxt = _translateManager.Translate("tlumaczenia", "error_hash");
[951]75            else if (errortxt == "error_hash")
76                errortxt = _translateManager.Translate("tlumaczenia", "error_hash");
[934]77
78            return _funkcjePlatnosci.InitErrorViewData(errortxt, idFaktury);
79        }
[951]80       
[866]81    }
82}
Notatka: Zobacz TracBrowser aby uzyskać więcej informacji.