public Payment PayWithWallet(int orderid,double amount, ApplicationUser user) { var walletPayment = new Payment() { Amount = amount, ApplicationUserId = user.Id, // OrderID = orderid, Type = PaymentSort.Wallet }; CreatePayment(walletPayment); _userManager.Pay(amount, user); return walletPayment; }
// refunds the credit order to the users his wallet public void RefundCredit(int creditId) { CreditOrder creditOrder = _OrderRepository.FindCreditOrder(creditId); if(creditOrder.Paid == false) { UserManager _userManager = new UserManager(); PaymentManager _paymentManager = new PaymentManager(); int orderId = creditOrder.CreditForOrderId; KitchenOrder order = Find(orderId); ApplicationUser user = order.User; //set the order date edited to today creditOrder.DateEdited = DateTime.Now; UpdateOrder(orderId, order); // set credit order to paid creditOrder.Paid = true; _OrderRepository.UpdateCreditOrder(creditId, creditOrder); // create refund payment var payment = new Payment(); payment.Amount = creditOrder.TotalAmount; payment.ApplicationUserId = creditOrder.ApplicationUserId; // payment.OrderID = orderId; payment.Type = PaymentSort.Wallet; _paymentManager.CreatePayment(payment); // recharge user wallet user.Wallet += Math.Abs(creditOrder.TotalAmount); _userManager.Update(user.Id, user); } }
//Het aanmaken van een payment public void CreatePayment(Payment payment) { _paymentRepository.PaymentCreate(payment); }