Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        public bool ProcessPayment(IPayer payer, IReceiver receiver, double value)
        {
            if (!payer.CanPay(value))
            {
                return(false);
            }

            payer.Pay(value);

            receiver.ReceiveMoney(value);

            return(true);
        }
Exemplo n.º 3
0
        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);
        }
Exemplo n.º 4
0
        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);
        }
Exemplo n.º 5
0
 public Payment(IPayer payer, string accountId, ulong cashAmount)
 {
     Payer      = payer;
     CashAmount = cashAmount;
     AccountId  = accountId;
 }
Exemplo n.º 6
0
        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;
                }
            }
        }
Exemplo n.º 7
0
 public OrgTransaction Receive(IPayer from, User fromUser, decimal amount, TransactionReason reason, DateTime time)
 {
     return(Receiver.Receive(from, fromUser, amount, reason, time));
 }