using System;
using System.Collections.Generic;
using System.Globalization;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace FlowControl
{
    class Examples47_51
    {
        public static void IfStatement()
        {
            var dateOfBirth = new DateTime(1996, 7, 20);
            var today = DateTime.Now.Date;
            int age = today.Year - dateOfBirth.Year;

            // Można by użyć DayOfYear, ale wtedy nie byłyby prawidłowo obsługiwane
            // lata przestępne.
            if (dateOfBirth.Month >= today.Month && dateOfBirth.Day > today.Day)
            {
                age -= 1;
            }

            // Listing 2-47
            if (age < 18)
            {
                Console.WriteLine("Jesteś zbyt młody, by kupować alkohol w barze.");
            }

            bool launchCodesCorrect = false;

            // Listing 2-49
            if (launchCodesCorrect)
                TurnOnMissileLaunchedIndicator();
                LaunchMissiles(); 


            bool optimistic = true;

            // Listing 2-49
            if (optimistic)
            {
                Console.WriteLine("Szklanka jest w połowie pełna.");
            }
            else
            {
                Console.WriteLine("Szklanka jest w połowie pusta.");
            }

            int temperatureInCelsius = 20;
            // Listing 2-50
            if (temperatureInCelsius < 15)
            {
                Console.WriteLine("Za zimno");
            }
            else if (temperatureInCelsius > 32)
            {
                Console.WriteLine("Za gorąco");
            }
            else
            {
                Console.WriteLine("Optymalnie");
            }

            // Listing 2-51
            if (temperatureInCelsius < 15)
            {
                Console.WriteLine("Za zimno");
            }
            else
            {
                if (temperatureInCelsius > 32)
                {
                    Console.WriteLine("Za gorąco");
                }
                else
                {
                    Console.WriteLine("Optymalnie");
                }
            } 
        }

        private static void LaunchMissiles()
        {
            Console.WriteLine("Odpalam rakiety");
        }

        private static void TurnOnMissileLaunchedIndicator()
        {
            Console.WriteLine("Zapaliło się czerwone światełko");
        }
    }
}
