public PaymentGatewayTest()
        {
            var options = new DbContextOptionsBuilder <ApplicationDbContext>().UseSqlServer("Data Source=(local)\\SQLEXPRESS;Initial Catalog=PaymentGateway;Integrated Security=True;").Options;

            _context = new ApplicationDbContext(options);
            _context.Database.EnsureDeleted();
            _context.Database.EnsureCreated();

            if (_mapper == null)
            {
                var mappingConfig = new MapperConfiguration(mc =>
                {
                    mc.AddProfile(new AutoMapperProfile());
                });
                IMapper mapper = mappingConfig.CreateMapper();
                _mapper = mapper;
            }

            _cheapPaymentGateway     = new CheapPaymentGateway();
            _expensivePaymentGateway = new ExpensivePaymentGateway(_cheapPaymentGateway);
            _premiumPaymentGateway   = new PremiumPaymentGateway();
            _paymentRepo             = new PaymentRepository(_context);
            _paymentStateRepo        = new PaymentStateRepository(_context);
            _paymentGateway          = new PaymentGateway(_cheapPaymentGateway, _expensivePaymentGateway, _premiumPaymentGateway, _paymentRepo, _paymentStateRepo, _mapper);
        }
Beispiel #2
0
 public PaymentGatewayService(ICheapPaymentGateway cheapPaymentManager, IExpensivePaymentGateway expensivePaymentManager, IPremiumPaymentService premiumPaymentManager, ILogger <PaymentGatewayService> logger)
 {
     _cheapPaymentManager     = cheapPaymentManager;
     _expensivePaymentManager = expensivePaymentManager;
     _premiumPaymentManager   = premiumPaymentManager;
     _logger = logger;
 }
 public PaymentProcessorLogic(ICheapPaymentGateway cheap, IExpensivePaymentGateway expensive, IPremiumPaymentService premium, IOptions <ExternalSettings> app)
 {
     _cheapPaymentGateway     = cheap;
     _expensivePaymentGateway = expensive;
     _premiumPaymentService   = premium;
     appSettings = app;
 }
 public PaymentRequestService(ICheapPaymentGateway cheapPaymentGateway, IExpensivePaymentGateway expensivePaymentGateway, IPaymentRepository paymentRepository, IPaymentStateRepository paymentStateRepository)
 {
     _cheapPaymentGateway     = cheapPaymentGateway;
     _expensivePaymentGateway = expensivePaymentGateway;
     _paymentRepository       = paymentRepository;
     _paymentStateRepository  = paymentStateRepository;
 }
 public CreditCardController(IUnityContainer container, ICheapPaymentGateway cheapPayment, IExpensivePaymentGateway expensivePayment, IPremiumPaymentGateway premiumPayment)
 {
     this.container               = container;
     this.cheapPaymentGateway     = cheapPayment;
     this.expensivePaymentGateway = expensivePayment;
     this.premiumPaymentGateway   = premiumPayment;
 }
 public PaymentController(IPaymentGateway paymentGateway, ICheapPaymentGateway cheapPaymentGateway, IExpensivePaymentGateway expensivePaymentGateway, IPremiumPaymentService premiumPaymentService)
 {
     _IPaymentGateway          = paymentGateway;
     _ICheapPaymentGateway     = cheapPaymentGateway;
     _IExpensivePaymentGateway = expensivePaymentGateway;
     _IPremiumPaymentService   = premiumPaymentService;
 }
 public PaymentService(ICheapPaymentGateway cheapPaymentGateway,
                       IExpensivePaymentGateway expensivePaymentGateway,
                       IPremiumPaymentGateway premiumPaymentGateway)
 {
     _cheapPaymentGateway     = cheapPaymentGateway;
     _expensivePaymentGateway = expensivePaymentGateway;
     _premiumPaymentGateway   = premiumPaymentGateway;
 }
Beispiel #8
0
 public PaymentGateWay(IPaymentStateRepository paymentStateRepository, IUnitOfWork UWO,
                       ICheapPaymentGateway cheapPaymentGateway, IExpensivePaymentGateway expensivePaymentGateway)
 {
     _paymentStateRepository = paymentStateRepository;
     _UOW = UWO;
     _cheapPaymentGateway     = cheapPaymentGateway;
     _expensivePaymentGateway = expensivePaymentGateway;
 }
Beispiel #9
0
 public PaymentDetailService(IPaymentLogRepository paymentLogRepository, IPaymentDetailRepository detailRepository, IExpensivePaymentGateway expensivePaymentGateway, ICheapPaymentGateway cheapPaymentGateway, IPremiumPaymentGateway premiumPaymentGateway)
 {
     this.paymentLogRepository    = paymentLogRepository;
     this.detailRepository        = detailRepository;
     this.expensivePaymentGateway = expensivePaymentGateway;
     this.cheapPaymentGateway     = cheapPaymentGateway;
     this.premiumPaymentGateway   = premiumPaymentGateway;
 }
Beispiel #10
0
 public UnitOfWork(IPaymentDbContext iPaymentDbContext,
                   IPaymentRepository iPaymentRepository, ICheapPaymentGateway cheapPaymentGateways, IExpensivePaymentGateway expensivePaymentGateways, IPremiumPaymentGateway premiumPaymentGateways)
 {
     _context                 = iPaymentDbContext;
     Payments                 = iPaymentRepository;
     CheapPaymentGateways     = cheapPaymentGateways;
     ExpensivePaymentGateways = expensivePaymentGateways;
     PremiumPaymentGateways   = premiumPaymentGateways;
 }
 public PaymentRepository(ApplicationContext context, ICheapPaymentGateway cheapPaymentGateway, IExpensivePaymentGateway expensivePayment
                          , IPremiumPaymentService premiumPaymentService
                          )
 {
     _applicationContext = context;
     _cheapPayment       = cheapPaymentGateway;
     _expensiveRepo      = expensivePayment;
     _premiumRepo        = premiumPaymentService;
 }
 public PaymentController(IPaymentEngine paymentEngine, IMapper mapper, ICheapPaymentGateway cheapPaymentGateway,
                          IExpensivePaymentGateway expensivePaymentGateway, IPremiumPaymentGateway premiumPaymentGateway)
 {
     _paymentEngine         = paymentEngine ?? throw new ArgumentNullException(nameof(paymentEngine));
     _mapper                = mapper ?? throw new ArgumentNullException(nameof(mapper));
     _cheapPaymentGateway   = cheapPaymentGateway ?? throw new ArgumentNullException(nameof(cheapPaymentGateway));
     _expensePaymentGateway = expensivePaymentGateway ?? throw new ArgumentNullException(nameof(expensivePaymentGateway));
     _premiumPaymentGateway = premiumPaymentGateway ?? throw new ArgumentNullException(nameof(premiumPaymentGateway));
 }
 public PaymentHandler(IRepository <PayDetails> payRepository, IRepository <PaymentStatus> payStatusRepository
                       , ICheapPaymentGateway cheapPaymentGateway, IExpensivePaymentGateway expensivePaymentGateway, IPremiumPaymentGateway premiumPaymentGateway)
 {
     _payRepository           = payRepository;
     _payStatusRepository     = payStatusRepository;
     _cheapPaymentGateway     = cheapPaymentGateway;
     _expensivePaymentGateway = expensivePaymentGateway;
     _premiumPaymentGateway   = premiumPaymentGateway;
 }