public static void AddRepetitiveTransaction()
    {
        Console.WriteLine();

        Console.Write("Enter the month of the transaction: ");
        byte month = Convert.ToByte(Console.ReadLine());

        Console.Write("Enter the day of the transaction: ");
        byte day = Convert.ToByte(Console.ReadLine());

        Console.Write("Enter the amount of the transaction: ");
        double amount = Convert.ToDouble(Console.ReadLine());

        Console.Write("Enter the description of the transaction: ");
        string description = Console.ReadLine();

        repetitiveTransactionList.Add(
            new RepetitiveTransaction(day, month, amount, description));
    }
    static void Main(string[] args)
    {
        const int                 SIZE  = 1000;
        TransactionList           tList = new TransactionList();
        RepetitiveTransactionList rList = new RepetitiveTransactionList();

        bool finished = false;

        do
        {
            switch (MainMenu())
            {
            case '1':
                Console.WriteLine("Day: ");
                int day = Convert.ToInt32(Console.ReadLine());
                Console.WriteLine("Month: ");
                int month = Convert.ToInt32(Console.ReadLine());
                Console.WriteLine("Year: ");
                int year = Convert.ToInt32(Console.ReadLine());
                Console.WriteLine("Amount: ");
                int amount = Convert.ToInt32(Console.ReadLine());
                Console.WriteLine("Description: ");
                string description = Console.ReadLine();

                tList.Add(
                    new Transaction(day, month, year, amount, description)
                    );
                break;

            case '2':
                Console.WriteLine("Day: ");
                int rday = Convert.ToInt32(Console.ReadLine());
                Console.WriteLine("Month: ");
                int rmonth = Convert.ToInt32(Console.ReadLine());
                Console.WriteLine("Amount: ");
                int ramount = Convert.ToInt32(Console.ReadLine());
                Console.WriteLine("Description: ");
                string rdescription = Console.ReadLine();

                rList.Add(
                    new RepetitiveTransaction
                        (rday, rmonth, ramount, rdescription)
                    );
                break;

            case '3':
                Console.WriteLine("Month: ");
                int sMonth = Convert.ToInt32(Console.ReadLine());
                Console.WriteLine("Year: ");
                int sYear = Convert.ToInt32(Console.ReadLine());
                int size  = tList.GetLength();
                for (int i = 0; i < size; i++)
                {
                    if (tList.GetTransaction(i).Contains("" + sMonth) &&
                        tList.GetTransaction(i).Contains("" + sYear))
                    {
                        Console.WriteLine(tList.GetTransaction(i));
                    }
                }
                size = rList.GetLength();
                for (int i = 0; i < size; i++)
                {
                    if (rList.GetTransaction(i).Contains("" + sMonth) &&
                        rList.GetTransaction(i).Contains("" + sYear))
                    {
                        Console.WriteLine(rList.GetTransaction(i));
                    }
                }
                break;
                break;

            case '4':
                Console.WriteLine("Enter text to search: ");
                string search = Console.ReadLine();

                int sSize = tList.GetLength();
                for (int i = 0; i < sSize; i++)
                {
                    if (tList.GetTransaction(i).Contains(search))
                    {
                        ;
                    }
                    Console.WriteLine(tList.GetTransaction(i));
                }
                size = rList.GetLength();
                for (int i = 0; i < sSize; i++)
                {
                    if (rList.GetTransaction(i).Contains(search))
                    {
                        Console.WriteLine(tList.GetTransaction(i));
                    }
                }
                break;

            case 'Q': finished = true;
                break;
            }
        } while (!finished);
    }
    public void AddRepetitiveTransaction()
    {
        string text;

        Console.WriteLine();

        do
        {
            Console.Write("Enter the month of the transaction: ");
            text = Console.ReadLine();

            if (!IsValidMonth(text))
            {
                Console.WriteLine("Month not valid.");
            }
        }while (!IsValidMonth(text));

        byte month = Convert.ToByte(text);

        do
        {
            Console.Write("Enter the day of the transaction: ");
            text = Console.ReadLine();

            if (!IsValidDay(text, month))
            {
                Console.WriteLine("Day not valid.");
            }
        }while (!IsValidDay(text, month));

        byte day = Convert.ToByte(text);

        do
        {
            Console.Write("Enter the amount of the transaction: ");
            text = Console.ReadLine();

            if (!IsValidNumber(text))
            {
                Console.WriteLine("Not valid amount.");
            }
        }while (!IsValidNumber(text));

        double amount = Convert.ToDouble(text);

        string description;

        do
        {
            Console.Write("Enter the description of the transaction: ");
            description = Console.ReadLine();

            if (description == "")
            {
                Console.WriteLine("Description should not be empty.");
            }
        }while (description == "");

        repetitiveTransactionList.Add(
            new RepetitiveTransaction(day, month, amount, description));
    }