public ESTPaymentIntegration(
     ILogger logger,
     IJsonSerializer jsonSerializer,
     IXmlSerializer xmlSerializer,
     IBankBinQuery bankBinQuery) : base(logger, jsonSerializer, xmlSerializer, bankBinQuery)
 {
     this.logger         = logger;
     this.jsonSerializer = jsonSerializer;
     this.xmlSerializer  = xmlSerializer;
     this.bankBinQuery   = bankBinQuery;
 }
Esempio n. 2
0
 protected PaymentProvider(
     ILogger logger,
     IJsonSerializer jsonSerializer,
     IXmlSerializer xmlSerializer,
     IBankBinQuery bankBinQuery)
 {
     this.logger         = logger;
     this.jsonSerializer = jsonSerializer;
     this.xmlSerializer  = xmlSerializer;
     this.bankBinQuery   = bankBinQuery;
 }
Esempio n. 3
0
        public PaymentServiceTest()
        {
            this.logger         = new Mock <ILogger>();
            this.jsonSerializer = new Mock <IJsonSerializer>();
            this.xmlSerializer  = new Mock <IXmlSerializer>();
            this.bankBinQuery   = new BankDomainService(bankValidation, bankBinRepository);

            IEnumerable <PaymentProvider> paymentProviders = new List <PaymentProvider>
            {
                new ESTPaymentIntegration(logger.Object, jsonSerializer.Object, xmlSerializer.Object, bankBinQuery),
                new IPARAPaymentIntegration(logger.Object, jsonSerializer.Object, xmlSerializer.Object, bankBinQuery),
                new MPIPaymentIntegration(logger.Object, jsonSerializer.Object, xmlSerializer.Object, bankBinQuery),
                new PAYTENPaymentIntegration(logger.Object, jsonSerializer.Object, xmlSerializer.Object, bankBinQuery)
            };

            var mapperConfiguration = new MapperConfiguration(cfg =>
            {
                cfg.CreateMap <DoPaymentRequest, PaymentRequest>();
            });

            IMapper mapper = mapperConfiguration.CreateMapper();

            this.classMapper            = new ClassMapper(mapper);
            this.httpContextAccessor    = new Mock <IHttpContextAccessor>();
            this.dbContextFactory       = new DbContextFactory();
            this.unitOfWorkFactory      = new UnitOfWorkFactory(httpContextAccessor.Object, dbContextFactory);
            this.bankBinRepository      = new BankBinRepository(unitOfWorkFactory);
            this.bankProviderRepository = new BankProviderRepository(unitOfWorkFactory);
            this.providerRepository     = new ProviderRepository(unitOfWorkFactory);
            this.bankValidation         = new BankValidation(bankBinRepository, bankProviderRepository);
            this.bankDomainService      = new BankDomainService(bankValidation, bankBinRepository);
            this.providerValidation     = new ProviderValidation(paymentProviders, providerRepository);
            this.providerDomainService  = new ProviderDomainService(providerValidation, providerRepository);
            this.paymentService         = new PaymentService(
                classMapper,
                unitOfWorkFactory,
                bankDomainService,
                providerDomainService);
        }