public bool ProcessPurchase(IPayer payer, IReceiver receiver, double purchaseValue) { var ebanxTaxToProcess = purchaseValue * 0.0005; var processStatus = Payment.ProcessPayment(payer, receiver, purchaseValue); receiver.PayOperationTax(ebanxTaxToProcess); Balance += ebanxTaxToProcess; return(processStatus); }
public bool ProcessPayment(IPayer payer, IReceiver receiver, double value) { if (!payer.CanPay(value)) { return(false); } payer.Pay(value); receiver.ReceiveMoney(value); return(true); }
public bool ProcessPayment(IPayer payer, IReceiver receiver, double value) { if (!payer.CanPay(value)) { return(false); } payer.Pay(value); var operationTax = value * 0.001; receiver.ReceiveMoney(operationTax); var cashBack = value <= 100 ? value * 0.010 : 10; payer.CashBack(cashBack); return(true); }
public bool ProcessPayment(IPayer payer, IReceiver receiver, double value) { var interest = value * 0.021; var totalValueToPay = value + interest; if (payer.CanPay(totalValueToPay)) { payer.Pay(totalValueToPay); receiver.ReceiveMoney(value); var operationTax = interest / 4; receiver.PayOperationTax(operationTax); return(true); } return(false); }
public Payment(IPayer payer, string accountId, ulong cashAmount) { Payer = payer; CashAmount = cashAmount; AccountId = accountId; }
static void Main(string[] args) { bool isFinish = false; bool isEnter = false; User currentUser = new User(); while (true) { switch (ProgramService.ChoseEnter()) { case Constants.REGISTRATION_CHOSE: try { using (TableDataService <User> dataService = new TableDataService <User>()) { User newUser = ProgramService.Registration(); dataService.Add(newUser); } } catch (ArgumentException exception) { Console.WriteLine(exception.Message); } break; case Constants.ENTRY_CHOSE: if (ProgramService.Enter(currentUser)) { isEnter = true; } else { Console.WriteLine("Нету такого user"); } break; case Constants.EXIT_CHOSE: isFinish = true; break; } if (isEnter == true) { using (TableDataService <BookingBook> dataService = new TableDataService <BookingBook>()) { Hotel.Models.Hotel chosenHotel = ProgramService.ChoseHotel(); Room chosenRoom = ProgramService.ChoseRoom(chosenHotel.Id); DateTime beginDate = SetInformation.SetBeginDateAndTime(); DateTime endDate = SetInformation.SetEndDateAndTime(beginDate); BookingBook bookingBook = new BookingBook() { UserId = currentUser.Id, RoomId = chosenRoom.Id, BeginDate = beginDate, EndDate = endDate }; dataService.Add(bookingBook); IPayer payer = GetPayers.GetPayer(Payers.PayPal); payer.Pay($"{chosenRoom.Number} room", ((endDate - beginDate).Days * chosenRoom.PricePerDay).ToString()); } isEnter = false; } else if (isFinish == true) { break; } } }
public OrgTransaction Receive(IPayer from, User fromUser, decimal amount, TransactionReason reason, DateTime time) { return(Receiver.Receive(from, fromUser, amount, reason, time)); }