Пример #1
0
        static void Main(string[] args)
        {
            var paydesk1 = new PayDesk();
            var cust1    = new Customer("Cust1");
            var cust2    = new Customer("Cust2");
            var cust3    = new Customer("Cust3");
            var cust4    = new Customer("Cust4");


            var item1 = new Item("Item1", 150);
            var item2 = new Item("Item2", 850);
            var item3 = new Item("Item3", 1300);


            cust1.Card = new Card(cust1.Name, CardType.Brozne, 0);
            cust1.Items.Add(item1);

            cust2.Card = new Card(cust2.Name, CardType.Silver, 600);
            cust2.Items.Add(item2);

            cust3.Card = new Card(cust3.Name, CardType.Gold, 1500);
            cust3.Items.Add(item3);

            cust4.Card = new Card(cust4.Name, CardType.Gold, 300);
            cust4.Items.Add(item1);
            cust4.Items.Add(item2);


            paydesk1.AddCustomer(cust1);
            paydesk1.AddCustomer(cust2);
            paydesk1.AddCustomer(cust3);
            paydesk1.AddCustomer(cust4);

            paydesk1.ProcessCustomers();
        }
Пример #2
0
        static void Main(string[] args)
        {
            //test input for turnover for the previous month and value of purchase to calculate the discount
            double prevMonthTurnonver = 600;
            double valueOfPurchase    = 850;

            // initialize classes

            DiscountCard card   = new DiscountCard(prevMonthTurnonver);
            Bronze       bronze = new Bronze(prevMonthTurnonver);

            bronze.PurchaseValue += valueOfPurchase;
            Silver silver = new Silver(prevMonthTurnonver);

            silver.PurchaseValue += valueOfPurchase;
            Gold gold = new Gold(prevMonthTurnonver);

            gold.PurchaseValue += valueOfPurchase;

            //use whatever you want with implemented paydesk methods
            PayDesk paydesk = new PayDesk(silver);

            paydesk.Discount();
            paydesk.DiscountRate();

            //Console.WriteLine(bronze.PrintOwnerInfo());
            //Console.WriteLine(silver.PrintOwnerInfo());
            //Console.WriteLine(gold.PrintOwnerInfo());
        }
Пример #3
0
        static void Main(string[] args)
        {
            //Enters value for the turnover and guaranteed that it is not negative.
            Console.WriteLine("Please enter the turnover for the previous month:");
            decimal turnover = decimal.Parse(Console.ReadLine());

            while (turnover < 0)
            {
                Console.WriteLine("The turnover should be higher than 0");
                turnover = decimal.Parse(Console.ReadLine());
            }

            //Enters value for the purchase value.
            Console.WriteLine("Please enter the purchase value:");
            decimal purchaseValue = decimal.Parse(Console.ReadLine());

            //Chooses which kind of card we prefer.
            Console.WriteLine("Please enter the type of discount card:");
            string typeOfCard = Console.ReadLine();

            while (!(typeOfCard == "Bronze" || typeOfCard == "Silver" || typeOfCard == "Gold"))
            {
                Console.WriteLine("Invalid discount card type. Please choose between following: Bronze, Silver and Gold");
                typeOfCard = Console.ReadLine();
            }

            if (typeOfCard == "Bronze")
            {
                //If we choose bronze card ,the program comes here.
                Bronze bronzeCard = new Bronze();
                bronzeCard.BronzCardDiscount(turnover, purchaseValue);
                PayDesk.Print(bronzeCard.PurchaseValue, bronzeCard.DiscountRate, bronzeCard.Discount, bronzeCard.TotalSum, bronzeCard.TypeOfCard);
            }
            else if (typeOfCard == "Silver")
            {
                //If we choose silver card ,the program comes here.
                Silver silverCard = new Silver();
                silverCard.SilverCardDiscount(turnover, purchaseValue);
                PayDesk.Print(silverCard.PurchaseValue, silverCard.DiscountRate, silverCard.Discount, silverCard.TotalSum, silverCard.TypeOfCard);
            }
            else if (typeOfCard == "Gold")
            {
                //If we choose gold card ,the program comes here.
                Gold goldCard = new Gold();
                goldCard.GoldCardDiscount(turnover, purchaseValue);
                PayDesk.Print(goldCard.PurchaseValue, goldCard.DiscountRate, goldCard.Discount, goldCard.TotalSum, goldCard.TypeOfCard);
            }
        }
Пример #4
0
 static void Main(string[] args)
 {
     PayDesk.Output();
 }
Пример #5
0
        static void Main(string[] args)
        {
            var payDesk = new PayDesk();

            while (true)
            {
                Console.WriteLine("Welcome! Please enter the type of card which you have or enter EXIT to leave the application!");

                var input = Console.ReadLine().ToLower();

                if (input == "exit")
                {
                    return;
                }

                if (payDesk.IsItValid(input))
                {
                    Console.WriteLine("Your card is valid.");
                }
                else
                {
                    Console.WriteLine(("Invalid card."));
                    return;
                }

                Console.WriteLine("Please enter a turnover and a purchase value:");

                double turnover      = 0;
                double purchaseValue = 0;

                try
                {
                    turnover = double.Parse(Console.ReadLine());

                    if (turnover < 0)
                    {
                        var ex = new NegativeNumberException("Turnover shouldn't be less than 0");
                        Console.WriteLine(ex.Message);
                        return;
                    }
                }
                catch
                {
                    var ex = new InvalidInputException("Invalid input for turnover. You should enter a number!");
                    Console.WriteLine(ex.Message);
                    return;
                }

                try
                {
                    purchaseValue = double.Parse(Console.ReadLine());

                    if (purchaseValue <= 0)
                    {
                        var ex = new NegativeNumberException("Purchase value shouldn't be less or equal 0");
                        Console.WriteLine(ex.Message);
                        return;
                    }
                }
                catch
                {
                    var ex = new InvalidInputException("Ivalid input for purchase value. You should enter a number!");
                    Console.WriteLine(ex.Message);
                    return;
                }

                var card = payDesk.CreateCard(input, turnover, purchaseValue);

                Console.WriteLine(payDesk.GetInfo(card));

                break;
            }
        }