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)); }
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)); }
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)); }