Beispiel #1
0
        static void Main()
        {
            Battery myBattery  = new Battery("B. M.", 15, 56, BatteryType.NiMH);
            Battery myBattery1 = new Battery("B. M.", 17, 68, BatteryType.LiIon);
            Battery myBattery2 = new Battery("B. M.", 16, 69, BatteryType.NiCd);

            GSM gsm = new GSM("S6", "Samsung", 500.03m, "Pesho", myBattery);

            Console.WriteLine(gsm + "\n");
            Console.WriteLine(GSM.IPhone + "\n");

            GSM gsm1 = new GSM("S1", "Samsung", 100.09m, "Pesho", myBattery);
            GSM gsm2 = new GSM("S2", "Samsung", 200.09m, "Pesho", myBattery1);
            GSM gsm3 = new GSM("S3", "Samsung", 300.09m, "Pesho", myBattery2);
            GSM gsm4 = new GSM("S4", "Samsung", 400.09m, "Pesho", myBattery1);

            List <GSM> gsmList = new List <GSM>()
            {
                gsm1, gsm2, gsm3, gsm4
            };

            foreach (var telephone in gsmList)
            {
                Console.WriteLine(telephone);
            }

            DateTime date1 = new DateTime(2008, 8, 29, 19, 27, 15, 18);
            DateTime date2 = new DateTime(2014, 8, 30, 19, 22, 15, 18);
            DateTime date3 = new DateTime(2014, 9, 15, 10, 12, 14, 44);

            CultureInfo ci = CultureInfo.InvariantCulture;

            Call call1 = new Call(date1, date1, "+359878864612", 120);
            Call call2 = new Call(date2, date2, "+359871164612", 820);
            Call call3 = new Call(date3, date3, "+359872264612", 320);

            gsm.AddCall(call1);
            gsm.AddCall(call2);
            gsm.AddCall(call3);

            var calls = gsm.GetCalls();

            gsm.DisplayCallsInfo();

            Console.WriteLine("\nTotal price of the calls in the history is {0} BGN\n", gsm.CallPrice());

            var longestCall = calls.OrderByDescending(x => x.CallDurationInSeconds).First();

            gsm.DeleteCall(longestCall);

            Console.WriteLine("Phone call deleted");
            Console.WriteLine("\nTotal price of the calls in the history is {0} BGN\n", gsm.CallPrice());

            gsm.ClearCallHistory();
            gsm.DisplayCallsInfo();
        }
Beispiel #2
0
        static void Main()
        {
            Battery myBattery = new Battery("B. M.", 15, 56, BatteryType.NiMH);
            Battery myBattery1 = new Battery("B. M.", 17, 68, BatteryType.LiIon);
            Battery myBattery2 = new Battery("B. M.", 16, 69, BatteryType.NiCd);

            GSM gsm = new GSM("S6", "Samsung", 500.03m, "Pesho", myBattery);
            Console.WriteLine(gsm + "\n");
            Console.WriteLine(GSM.IPhone + "\n");

            GSM gsm1 = new GSM("S1", "Samsung", 100.09m, "Pesho", myBattery);
            GSM gsm2 = new GSM("S2", "Samsung", 200.09m, "Pesho", myBattery1);
            GSM gsm3 = new GSM("S3", "Samsung", 300.09m, "Pesho", myBattery2);
            GSM gsm4 = new GSM("S4", "Samsung", 400.09m, "Pesho", myBattery1);

            List<GSM> gsmList = new List<GSM>() { gsm1, gsm2, gsm3, gsm4 };

            foreach (var telephone in gsmList)
            {
                Console.WriteLine(telephone);
            }

            DateTime date1 = new DateTime(2008, 8, 29, 19, 27, 15, 18);
            DateTime date2 = new DateTime(2014, 8, 30, 19, 22, 15, 18);
            DateTime date3 = new DateTime(2014, 9, 15, 10, 12, 14, 44);

            CultureInfo ci = CultureInfo.InvariantCulture;

            Call call1 = new Call(date1, date1, "+359878864612", 120);
            Call call2 = new Call(date2, date2, "+359871164612", 820);
            Call call3 = new Call(date3, date3, "+359872264612", 320);

            gsm.AddCall(call1);
            gsm.AddCall(call2);
            gsm.AddCall(call3);

            var calls = gsm.GetCalls();

            gsm.DisplayCallsInfo();

            Console.WriteLine("\nTotal price of the calls in the history is {0} BGN\n", gsm.CallPrice());

            var longestCall = calls.OrderByDescending(x => x.CallDurationInSeconds).First();
            gsm.DeleteCall(longestCall);

            Console.WriteLine("Phone call deleted");
            Console.WriteLine("\nTotal price of the calls in the history is {0} BGN\n", gsm.CallPrice());

            gsm.ClearCallHistory();
            gsm.DisplayCallsInfo();
        }
        private static void DeleteMaxDurationCall(GSM myGSM)
        {
            Call maxCallDuration = myGSM.CallHistory[0];

            foreach (Call call in myGSM.CallHistory)
            {
                if (maxCallDuration.Duration < call.Duration)
                {
                    maxCallDuration = call;
                }
            }

            myGSM.DeleteCall(maxCallDuration);
        }
        public static void TestCalls()
        {
            //Add few calls.
            sagem.AddCall(new Call("31.3.2015 9:08:33", "+413 334 123", 60));
            sagem.AddCall(new Call("3.05.2015 22:45:00", "+359 123 120", 112));
            sagem.AddCall(new Call("2.03.2015 03:15:09", "+359 124 554", 122));
            sagem.AddCall(new Call("10.03.2015 06:05:12", "+359 125 098", 2));

            //Display the information about the calls.
            Console.WriteLine();
            Console.WriteLine("Call-list info: ");
            DisplayCalls();

            //Assuming that the price per minute is 0.37 calculate and print the total price of the calls in the history.
            Console.WriteLine();
            Console.WriteLine("Total price:");
            Console.WriteLine(string.Format(CultureInfo.CreateSpecificCulture("en-US"), "{0:C2}", sagem.Account(0.37M)));

            //Remove the longest call from the history and calculate the total price again.
            int indexOfMaxDuration = 0;

            for (int i = 0; i < sagem.CallHistory.Capacity; i++)
            {
                if (sagem.CallHistory[i].Duration > indexOfMaxDuration)
                {
                    indexOfMaxDuration = i;
                }
            }
            sagem.DeleteCall(sagem.CallHistory[indexOfMaxDuration]);

            Console.WriteLine();
            Console.WriteLine("Reduced call-list info: ");
            DisplayCalls();

            Console.WriteLine();
            Console.WriteLine("Total price after the remove:");
            Console.WriteLine(string.Format(CultureInfo.CreateSpecificCulture("en-US"), "{0:C2}", sagem.Account(priceOfMinute)));
            Console.WriteLine();

            //Finally clear the call history
            Console.WriteLine("Clearing the call history:");
            sagem.DeleteCallHistory();
            Console.WriteLine();
            Console.WriteLine("Displaying the resulting call history:");
            DisplayCalls();
        }
        public static void GenerateCallHistory()
        {
            // Create an instance of the GSM class
            GSM myGSM = new GSM("G2", "LG", 560m, "Pesho",
                                new Battery("Li-Po", 790, 16, BatteryType.LiIon), new Display(5.2, 16000000));

            //Add few calls
            myGSM.AddCall(new Call(new DateTime(2015, 3, 10, 20, 53, 20), "0881234567", 65));
            myGSM.AddCall(new Call(new DateTime(2015, 3, 9, 15, 25, 47), "0889876543", 130));
            myGSM.AddCall(new Call(new DateTime(2015, 3, 7, 11, 47, 10), "0891112223", 239));
            myGSM.AddCall(new Call(new DateTime(2015, 2, 28, 19, 37, 32), "0988854321", 167));

            // Display the information about the calls
            myGSM.PrintCallHistory();

            //  Assuming that the price per minute is 0.37 calculate and print the total price of the calls in the history
            decimal totalPriceOfCalls = myGSM.CalculateCallsPrice(0.37m);

            Console.WriteLine("Total price of calls in the history: {0:0.00}", totalPriceOfCalls);

            // Remove the longest call from the history and calculate the total price again
            Call longestCall = myGSM.CallHistory[0];

            foreach (Call call in myGSM.CallHistory)
            {
                if (call.Duration > longestCall.Duration)
                {
                    longestCall = call;
                }
            }

            myGSM.DeleteCall(longestCall);

            totalPriceOfCalls = myGSM.CalculateCallsPrice(0.37m);
            Console.WriteLine("Total price of calls in the history after removing the longest call: {0:0.00} \n", totalPriceOfCalls);

            // Finally clear the call history and print it
            myGSM.ClearCallHistory();
            myGSM.PrintCallHistory();
        }
        public static void GenerateCallHistory()
        {
            // Create an instance of the GSM class
            GSM myGSM = new GSM("G2", "LG", 560m, "Pesho",
                new Battery("Li-Po", 790, 16, BatteryType.LiIon), new Display(5.2, 16000000));

            //Add few calls
            myGSM.AddCall(new Call(new DateTime(2015, 3, 10, 20, 53, 20), "0881234567", 65));
            myGSM.AddCall(new Call(new DateTime(2015, 3, 9, 15, 25, 47), "0889876543", 130));
            myGSM.AddCall(new Call(new DateTime(2015, 3, 7, 11, 47, 10), "0891112223", 239));
            myGSM.AddCall(new Call(new DateTime(2015, 2, 28, 19, 37, 32), "0988854321", 167));

            // Display the information about the calls
            myGSM.PrintCallHistory();

            //  Assuming that the price per minute is 0.37 calculate and print the total price of the calls in the history
            decimal totalPriceOfCalls = myGSM.CalculateCallsPrice(0.37m);
            Console.WriteLine("Total price of calls in the history: {0:0.00}", totalPriceOfCalls);

            // Remove the longest call from the history and calculate the total price again
            Call longestCall = myGSM.CallHistory[0];

            foreach (Call call in myGSM.CallHistory)
            {
                if (call.Duration > longestCall.Duration)
                {
                    longestCall = call;
                }
            }

            myGSM.DeleteCall(longestCall);

            totalPriceOfCalls = myGSM.CalculateCallsPrice(0.37m);
            Console.WriteLine("Total price of calls in the history after removing the longest call: {0:0.00} \n", totalPriceOfCalls);

            // Finally clear the call history and print it
            myGSM.ClearCallHistory();
            myGSM.PrintCallHistory();
        }