Пример #1
0
        public IActionResult Post([FromBody] PaymentRequest payReq)
        {
            var payment = _paymentFactory.Create(payReq.Client.Id
                                                 , payReq.Type, payReq.Amount
                                                 , payReq.Buyer.Name, payReq.Buyer.Email, payReq.Buyer.Cpf
                                                 , payReq.Card?.ExpirationDate, payReq.Card?.Cvv, payReq.Card?.HolderName, payReq.Card?.Number);

            var result = payment.Process();

            _paymentRepository.Add(payment);

            return(CreatedAtRoute("GetPayment", new { id = payment.Id }, result));
        }
Пример #2
0
        public async Task <IActionResult> Post([FromBody] PaymentRequest request)
        {
            var validationResult = _validator.Validate(request);

            if (!validationResult.IsValid)
            {
                return(new BadRequestResult());
            }

            var payment = _paymentFactory.Create(request);
            await payment.ProcessAsync();

            await _paymentStore.StoreAsync(payment);

            var responseObject = payment.ToResponse();

            return(new OkObjectResult(responseObject));
        }
Пример #3
0
        public void Execute(CreatePaymentModel model)
        {
            List <Domain.Expense> expenses = new List <Domain.Expense>();

            for (int i = 0; i < model.Expenses.Count; i++)
            {
                var Eid = model.Expenses[i].ExpenseId;
                var Cid = model.Expenses[i].ChargeableId;

                var expense = _database.Expenses
                              .FirstOrDefault(x => x.Id == Eid);

                expense.Chargeable = _database.Chargeables
                                     .FirstOrDefault(x => x.Id == Cid);

                //expense.Paid = model.Expenses[i].Paid;

                expenses.Add(expense);
            }

            var  Payment = _factory.Create(model.balanceSheetId, expenses);
            bool ok      = true;

            foreach (Domain.Expense exp in expenses)
            {
                var found = _database.Expenses.Find(exp.Id);
                _database.Expenses.Attach(found);
                found.Paid = ok;
            }

            _database.Payments.Add(Payment);

            _database.Save();

            _balanceSheetService.BalanceSave(model.balanceSheetId);
        }
        public ICommand Create(IPlayer player, uint amount)
        {
            var payment = _paymentFactory.Create(amount);

            return(new UpdatePlayerBalanceCommand(player, _accounts, payment.Withdrawal));
        }