//private static readonly string[] SECURED_NVPS = new string[] { ACCT, CVV2, SIGNATURE, PWD };

        public PayPalService(PayPalInitStructure initStructure, ILoggerService loggerService)
        {
            _loggerService = loggerService;
            _endpointurl   = initStructure.RealEndPoint;
            _payPalUrl     = initStructure.ExpressCheckoutEndPoint;
            _inTestMode    = initStructure.InTestMode;
            _apiUsername   = initStructure.ApiUserName;
            _apiPassword   = initStructure.ApiPassword;
            _apiSignature  = initStructure.ApiSignature;
        }
Пример #2
0
        private static void BuildDependecies(ContainerBuilder builder)
        {
            var fullUrl           = ConfigurationManager.AppSettings["BaseUrl"] + ConfigurationManager.AppSettings["BasketApiUrl"];
            var picEndPoint       = ConfigurationManager.AppSettings["PciWebsite.ApiDomain"];
            var defaultLanguage   = ConfigurationManager.AppSettings["Default.Language"];
            var sessionCookieName = ConfigurationManager.AppSettings["Session.CookieName"];
            var sessionId         = AuthenticationService.GetCookieValue(sessionCookieName);
            var ecrApiKey         = ConfigurationManager.AppSettings["EcrApiKey"];
            var ecrAgentCode      = ConfigurationManager.AppSettings["EcrAgentCode"];
            var ecrAgentUiId      = ConfigurationManager.AppSettings["EcrAgentUiId"];
            var environmentId     = ConfigurationManager.AppSettings["Environment"];
            var liveEcrPoint      = ConfigurationManager.AppSettings["LiveEcrEndPoint"];

            var paypalInitStruct = new PayPalInitStructure
            {
                ApiUserName             = ConfigurationManager.AppSettings["PayPal.Username"],
                ApiPassword             = ConfigurationManager.AppSettings["PayPal.Password"],
                ApiSignature            = ConfigurationManager.AppSettings["PayPal.Signature"],
                ExpressCheckoutEndPoint = ConfigurationManager.AppSettings["PayPal.ExpressCheckoutEndPoint"],
                InTestMode   = Convert.ToBoolean(ConfigurationManager.AppSettings["PayPal.InTestMode"]),
                RealEndPoint = ConfigurationManager.AppSettings["PayPal.RealEndPoint"]
            };

            builder.RegisterType <ApiConnectorService>().As <IApiConnectorService>()
            .WithParameter("fullUrl", fullUrl);

            builder.RegisterType <PciApiServiceNoASync>().As <IPciApiServiceNoASync>()
            .WithParameter("pciEndPoint", picEndPoint);

            builder.RegisterType <GenericDataRepository <Basket> >().As <IGenericDataRepository <Basket> >();
            builder.RegisterType <GenericDataRepository <BasketLine> >().As <IGenericDataRepository <BasketLine> >();
            builder.RegisterType <GenericDataRepository <Currency> >().As <IGenericDataRepository <Currency> >();
            builder.RegisterType <GenericDataRepository <Ticket> >().As <IGenericDataRepository <Ticket> >();
            builder.RegisterType <GenericDataRepository <Country> >().As <IGenericDataRepository <Country> >();
            builder.RegisterType <GenericDataRepository <Session> >().As <IGenericDataRepository <Session> >();
            builder.RegisterType <GenericDataRepository <User> >().As <IGenericDataRepository <User> >();
            builder.RegisterType <GenericDataRepository <MicroSite> >().As <IGenericDataRepository <MicroSite> >();
            builder.RegisterType <GenericDataRepository <Language> >().As <IGenericDataRepository <Language> >();
            builder.RegisterType <GenericDataRepository <MicroSiteLanguage> >().As <IGenericDataRepository <MicroSiteLanguage> >();
            builder.RegisterType <GenericDataRepository <Order> >().As <IGenericDataRepository <Order> >();
            builder.RegisterType <GenericDataRepository <Image> >().As <IGenericDataRepository <Image> >();
            builder.RegisterType <GenericDataRepository <ImageFolder> >().As <IGenericDataRepository <ImageFolder> >();
            builder.RegisterType <GenericDataRepository <ImageMetaData> >().As <IGenericDataRepository <ImageMetaData> >();
            builder.RegisterType <GenericDataRepository <Log> >().As <IGenericDataRepository <Log> >();
            builder.RegisterType <GenericDataRepository <Phrase> >().As <IGenericDataRepository <Phrase> >();
            builder.RegisterType <GenericDataRepository <PhraseLanguage> >().As <IGenericDataRepository <PhraseLanguage> >();
            builder.RegisterType <GenericDataRepository <TransactionAddressPaypal> >().As <IGenericDataRepository <TransactionAddressPaypal> >();
            builder.RegisterType <GenericDataRepository <OrderLine> >().As <IGenericDataRepository <OrderLine> >();
            builder.RegisterType <GenericDataRepository <OrderLineGeneratedBarcode> >().As <IGenericDataRepository <OrderLineGeneratedBarcode> >();
            builder.RegisterType <GenericDataRepository <EcrOrderLineBarcode> >().As <IGenericDataRepository <EcrOrderLineBarcode> >();
            builder.RegisterType <GenericDataRepository <ContactData> >().As <IGenericDataRepository <ContactData> >();
            builder.RegisterType <GenericDataRepository <MicrositeEmailTemplate> >().As <IGenericDataRepository <MicrositeEmailTemplate> >();
            builder.RegisterType <GenericDataRepository <EmailTemplate> >().As <IGenericDataRepository <EmailTemplate> >();
            builder.RegisterType <GenericDataRepository <Email> >().As <IGenericDataRepository <Email> >();

            builder.RegisterType <TranslationService>().As <ITranslationService>();
            builder.RegisterType <CheckoutService>().As <ICheckoutService>();
            builder.RegisterType <GenericHttpCacheProvider>().As <ICacheProvider>();
            builder.RegisterType <ImageService>().As <IImageService>();
            builder.RegisterType <ImageDbService>().As <IImageDbService>();
            builder.RegisterType <LocalizationService>().As <ILocalizationService>();
            builder.RegisterType <PdfClientRenderer>().As <IClientRenderService>();
            builder.RegisterType <NotificationService>().As <INotificationService>();

            if (environmentId.Equals(Common.Enums.Environment.Live.ToString()))
            {
                builder.Register(c => new
                                 EcrService(ecrApiKey, liveEcrPoint, ecrAgentCode, ecrAgentUiId))
                .As <IEcrService>();
            }
            else
            {
                builder.Register(c => new
                                 EcrService(ecrApiKey, ecrAgentCode, ecrAgentUiId))
                .As <IEcrService>();
            }

            builder.Register(c => new
                             CountryService(
                                 c.Resolve <IGenericDataRepository <Country> >(),
                                 c.Resolve <ITranslationService>()
                                 )
                             ).As <ICountryService>();

            builder.Register(c => new
                             CurrencyService(
                                 c.Resolve <IGenericDataRepository <Currency> >()
                                 )
                             ).As <ICurrencyService>();

            builder.Register(c => new
                             TicketService(
                                 c.Resolve <IGenericDataRepository <Ticket> >()
                                 )
                             ).As <ITicketService>();

            builder.Register(c => new
                             BasketService(
                                 c.Resolve <IGenericDataRepository <Basket> >(),
                                 c.Resolve <IGenericDataRepository <BasketLine> >(),
                                 c.Resolve <ICurrencyService>(),
                                 c.Resolve <ITicketService>(),
                                 c.Resolve <ISiteService>(),
                                 c.Resolve <ITranslationService>()
                                 )
                             ).As <IBasketService>();

            builder.Register(c => new
                             UserService(
                                 c.Resolve <IGenericDataRepository <User> >()
                                 )
                             ).As <IUserService>();

            builder.Register(c => new
                             SiteService(
                                 c.Resolve <IGenericDataRepository <MicroSite> >()
                                 )
                             ).As <ISiteService>();

            builder.Register(c => new
                             AuthenticationService(
                                 c.Resolve <IGenericDataRepository <Session> >()
                                 )
                             ).As <IAuthenticationService>();

            builder.Register(c => new
                             CheckoutService()
                             ).As <ICheckoutService>();

            builder.Register(c => new DbLoggerService(sessionId, c.Resolve <IGenericDataRepository <Log> >(), c.Resolve <IGenericDataRepository <BornBasketDump> >()))
            .As <ILoggerService>();

            builder.Register(c => new TranslationService(
                                 c.Resolve <IGenericDataRepository <Language> >(),
                                 c.Resolve <IGenericDataRepository <Phrase> >(),
                                 c.Resolve <IGenericDataRepository <PhraseLanguage> >(),
                                 defaultLanguage
                                 )).As <ITranslationService>();

            builder.Register(c => new PayPalService(paypalInitStruct,
                                                    c.Resolve <ILoggerService>()
                                                    )).As <IPaypalService>();
        }
Пример #3
0
        public void Application_Start(object sender, EventArgs e)
        {
            ScriptManager.ScriptResourceMapping.AddDefinition("jquery",

                                                              new ScriptResourceDefinition
            {
                Path         = "~/scripts/jquery-1.10.2.min.js",
                DebugPath    = "~/scripts/jquery-1.10.2.min.js",
                CdnPath      = "http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.4.1.min.js",
                CdnDebugPath = "http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.4.1.js"
            });

            WebApiConfig.RegisterRoutes(RouteTable.Routes);
            RouteConfig.RegisterRoutes(RouteTable.Routes);

            var builder = new ContainerBuilder();


            var fullUrl           = ConfigurationManager.AppSettings["BaseUrl"] + ConfigurationManager.AppSettings["BasketApiUrl"];
            var picEndPoint       = ConfigurationManager.AppSettings["PciWebsite.ApiDomain"];
            var defaultLanguage   = ConfigurationManager.AppSettings["Default.Language"];
            var sessionCookieName = ConfigurationManager.AppSettings["Session.CookieName"];
            var sessionId         = AuthenticationService.GetCookieValue(sessionCookieName);
            var ecrApiKey         = ConfigurationManager.AppSettings["EcrApiKey"];
            var ecrAgentCode      = ConfigurationManager.AppSettings["EcrAgentCode"];
            var ecrAgentUiId      = ConfigurationManager.AppSettings["EcrAgentUiId"];
            var environmentId     = ConfigurationManager.AppSettings["Environment"];
            var liveEcrPoint      = ConfigurationManager.AppSettings["LiveEcrEndPoint"];
            var connString        = ConfigurationManager.ConnectionStrings["BigBusDataModelConn"].ToString();

            var paypalInitStruct = new PayPalInitStructure
            {
                ApiUserName             = ConfigurationManager.AppSettings["PayPal.Username"],
                ApiPassword             = ConfigurationManager.AppSettings["PayPal.Password"],
                ApiSignature            = ConfigurationManager.AppSettings["PayPal.Signature"],
                ExpressCheckoutEndPoint = ConfigurationManager.AppSettings["PayPal.ExpressCheckoutEndPoint"],
                InTestMode   = Convert.ToBoolean(ConfigurationManager.AppSettings["PayPal.InTestMode"]),
                RealEndPoint = ConfigurationManager.AppSettings["PayPal.RealEndPoint"]
            };

            builder.RegisterType <QueryFunctions>().As <IQueryFunctions>()
            .WithParameter("connString", connString);

            builder.RegisterType <ApiConnectorService>().As <IApiConnectorService>()
            .WithParameter("fullUrl", fullUrl);

            builder.RegisterType <PciApiServiceNoASync>().As <IPciApiServiceNoASync>()
            .WithParameter("pciEndPoint", picEndPoint);

            builder.RegisterType <GenericDataRepository <Basket> >().As <IGenericDataRepository <Basket> >();
            builder.RegisterType <GenericDataRepository <BasketLine> >().As <IGenericDataRepository <BasketLine> >();
            builder.RegisterType <GenericDataRepository <Currency> >().As <IGenericDataRepository <Currency> >();
            builder.RegisterType <GenericDataRepository <Ticket> >().As <IGenericDataRepository <Ticket> >();
            builder.RegisterType <GenericDataRepository <Country> >().As <IGenericDataRepository <Country> >();
            builder.RegisterType <GenericDataRepository <Session> >().As <IGenericDataRepository <Session> >();
            builder.RegisterType <GenericDataRepository <User> >().As <IGenericDataRepository <User> >();
            builder.RegisterType <GenericDataRepository <MicroSite> >().As <IGenericDataRepository <MicroSite> >();
            builder.RegisterType <GenericDataRepository <Language> >().As <IGenericDataRepository <Language> >();
            builder.RegisterType <GenericDataRepository <MicroSiteLanguage> >().As <IGenericDataRepository <MicroSiteLanguage> >();
            builder.RegisterType <GenericDataRepository <Order> >().As <IGenericDataRepository <Order> >();
            builder.RegisterType <GenericDataRepository <Image> >().As <IGenericDataRepository <Image> >();
            builder.RegisterType <GenericDataRepository <ImageFolder> >().As <IGenericDataRepository <ImageFolder> >();
            builder.RegisterType <GenericDataRepository <ImageMetaData> >().As <IGenericDataRepository <ImageMetaData> >();
            builder.RegisterType <GenericDataRepository <Log> >().As <IGenericDataRepository <Log> >();
            builder.RegisterType <GenericDataRepository <Phrase> >().As <IGenericDataRepository <Phrase> >();
            builder.RegisterType <GenericDataRepository <PhraseLanguage> >().As <IGenericDataRepository <PhraseLanguage> >();
            builder.RegisterType <GenericDataRepository <TransactionAddressPaypal> >().As <IGenericDataRepository <TransactionAddressPaypal> >();
            builder.RegisterType <GenericDataRepository <OrderLine> >().As <IGenericDataRepository <OrderLine> >();
            builder.RegisterType <GenericDataRepository <OrderLineGeneratedBarcode> >().As <IGenericDataRepository <OrderLineGeneratedBarcode> >();
            builder.RegisterType <GenericDataRepository <EcrOrderLineBarcode> >().As <IGenericDataRepository <EcrOrderLineBarcode> >();
            builder.RegisterType <GenericDataRepository <ContactData> >().As <IGenericDataRepository <ContactData> >();
            builder.RegisterType <GenericDataRepository <MicrositeEmailTemplate> >().As <IGenericDataRepository <MicrositeEmailTemplate> >();
            builder.RegisterType <GenericDataRepository <EmailTemplate> >().As <IGenericDataRepository <EmailTemplate> >();
            builder.RegisterType <GenericDataRepository <Email> >().As <IGenericDataRepository <Email> >();
            builder.RegisterType <GenericDataRepository <Navigation> >().As <IGenericDataRepository <Navigation> >();
            builder.RegisterType <GenericDataRepository <NavigationItem> >().As <IGenericDataRepository <NavigationItem> >();
            builder.RegisterType <GenericDataRepository <NavigationItemLanguage> >().As <IGenericDataRepository <NavigationItemLanguage> >();
            builder.RegisterType <GenericDataRepository <DiallingCode> >().As <IGenericDataRepository <DiallingCode> >();
            builder.RegisterType <GenericDataRepository <BornBasketDump> >().As <IGenericDataRepository <BornBasketDump> >();
            builder.RegisterType <GenericDataRepository <TicketEcrDimension> >().As <IGenericDataRepository <TicketEcrDimension> >();
            builder.RegisterType <GenericDataRepository <HtmlMetaTag> >().As <IGenericDataRepository <HtmlMetaTag> >();

            builder.RegisterType <TranslationService>().As <ITranslationService>();
            builder.RegisterType <CheckoutService>().As <ICheckoutService>();
            builder.RegisterType <GenericHttpCacheProvider>().As <ICacheProvider>();
            builder.RegisterType <ImageService>().As <IImageService>();
            builder.RegisterType <ImageDbService>().As <IImageDbService>();
            builder.RegisterType <LocalizationService>().As <ILocalizationService>();
            builder.RegisterType <PdfClientRenderer>().As <IClientRenderService>();
            builder.RegisterType <NotificationService>().As <INotificationService>();
            builder.RegisterType <NavigationService>().As <INavigationService>();
            builder.RegisterType <PageContentService>().As <IPageContentService>();

            if (environmentId.Equals(Common.Enums.Environment.Live.ToString()))
            {
                builder.Register(c => new
                                 EcrService(ecrApiKey, liveEcrPoint, ecrAgentCode, ecrAgentUiId))
                .As <IEcrService>();
            }
            else
            {
                builder.Register(c => new
                                 EcrService(ecrApiKey, ecrAgentCode, ecrAgentUiId))
                .As <IEcrService>();
            }

            builder.Register(c => new
                             CountryService(
                                 c.Resolve <IGenericDataRepository <Country> >(),
                                 c.Resolve <ITranslationService>()
                                 )
                             ).As <ICountryService>();

            builder.Register(c => new
                             CurrencyService(
                                 c.Resolve <IGenericDataRepository <Currency> >()
                                 )
                             ).As <ICurrencyService>();

            builder.Register(c => new
                             TicketService(
                                 c.Resolve <IGenericDataRepository <Ticket> >()
                                 )
                             ).As <ITicketService>();

            builder.Register(c => new
                             BasketService(
                                 c.Resolve <IGenericDataRepository <Basket> >(),
                                 c.Resolve <IGenericDataRepository <BasketLine> >(),
                                 c.Resolve <ICurrencyService>(),
                                 c.Resolve <ITicketService>(),
                                 c.Resolve <ISiteService>(),
                                 c.Resolve <ITranslationService>()
                                 )
                             ).As <IBasketService>();

            builder.Register(c => new
                             UserService(
                                 c.Resolve <IGenericDataRepository <User> >()
                                 )
                             ).As <IUserService>();

            builder.Register(c => new
                             SiteService(
                                 c.Resolve <IGenericDataRepository <MicroSite> >()
                                 )
                             ).As <ISiteService>();

            builder.Register(c => new
                             AuthenticationService(
                                 c.Resolve <IGenericDataRepository <Session> >()
                                 )
                             ).As <IAuthenticationService>();

            builder.Register(c => new
                             CheckoutService()
                             ).As <ICheckoutService>();

            builder.Register(c => new DbLoggerService(sessionId, c.Resolve <IGenericDataRepository <Log> >(),
                                                      c.Resolve <IGenericDataRepository <BornBasketDump> >()))
            .As <ILoggerService>();

            builder.Register(c => new TranslationService(
                                 c.Resolve <IGenericDataRepository <Language> >(),
                                 c.Resolve <IGenericDataRepository <Phrase> >(),
                                 c.Resolve <IGenericDataRepository <PhraseLanguage> >(),
                                 defaultLanguage
                                 )).As <ITranslationService>();

            builder.Register(c => new PayPalService(paypalInitStruct,
                                                    c.Resolve <ILoggerService>()
                                                    )).As <IPaypalService>();

            builder.RegisterType <BarcodeService>().As <IBarcodeService>();
            builder.RegisterType <EcrApi3ServiceHelper>().As <IEcrApi3ServiceHelper>();

            // provider up with your registrations.
            _containerProvider = new ContainerProvider(builder.Build());
        }