public static void ShowTransactions()
    {
        bool transactionFound = false;

        Console.WriteLine();

        if (transactionList.GetLength() == 0)
        {
            Console.WriteLine("No transactions registered.");
            return;
        }

        Console.Write("Enter the year to display: ");
        int year = Convert.ToInt32(Console.ReadLine());

        Console.Write("Enter the month to display: ");
        int month = Convert.ToInt32(Console.ReadLine());

        for (int i = 0; i < transactionList.GetLength(); i++)
        {
            if (transactionList.GetTransaction(i).GetMonth() == month &&
                transactionList.GetTransaction(i).GetYear() == year)
            {
                Console.WriteLine(transactionList.GetTransaction(i).ToString());
                transactionFound = true;
            }
        }

        if (!transactionFound)
        {
            Console.WriteLine("No transactions found");
        }
    }
Beispiel #2
0
    static void Main(string[] args)
    {
        TransactionList tList = new TransactionList();
        TransactionList rList = new TransactionList();

        bool finished = false;

        do
        {
            Console.WriteLine("1- Add transaction");
            Console.WriteLine("2- Add repetitive transaction");
            Console.WriteLine("3- Show transactions in a month");
            Console.WriteLine("4- Search by text");
            Console.WriteLine("Q- Quit");

            switch (Console.ReadLine()[0])
            {
            case '1':     // 1- Add transaction
                Console.WriteLine("Day: ");
                byte day = Convert.ToByte(Console.ReadLine());
                Console.WriteLine("Month: ");
                byte month = Convert.ToByte(Console.ReadLine());
                Console.WriteLine("Year: ");
                short year = Convert.ToInt16(Console.ReadLine());
                Console.WriteLine("Amount: ");
                double amount = Convert.ToDouble(Console.ReadLine());
                Console.WriteLine("Description: ");
                string description = Console.ReadLine();

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

            case '2':     // 2- Add repetitive transaction
                Console.WriteLine("Day: ");
                byte rday = Convert.ToByte(Console.ReadLine());
                Console.WriteLine("Month: ");
                byte rmonth = Convert.ToByte(Console.ReadLine());
                Console.WriteLine("Amount: ");
                double ramount = Convert.ToDouble(Console.ReadLine());
                Console.WriteLine("Description: ");
                string rdescription = Console.ReadLine();

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

            case '3':     // 3- Show transactions in a month
                Console.WriteLine("Month: ");
                byte sMonth = Convert.ToByte(Console.ReadLine());
                Console.WriteLine("Year: ");
                byte sYear = Convert.ToByte(Console.ReadLine());

                for (int i = 0; i < tList.GetLength(); i++)
                {
                    Transaction t = (Transaction)tList.GetTransaction(i);
                    if (t.Month == sMonth && t.Year == sYear)
                    {
                        Console.WriteLine(tList.GetTransaction(i));
                    }
                }

                for (int i = 0; i < rList.GetLength(); i++)
                {
                    RepetitiveTransaction t =
                        (RepetitiveTransaction)rList.GetTransaction(i);
                    if (t.Month == sMonth)
                    {
                        Console.WriteLine(rList.GetTransaction(i));
                    }
                }
                break;

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

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

            case 'q':
            case 'Q':
                finished = true;
                break;
            }
        } while (!finished);
    }
    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 ShowTransactions()
    {
        Console.WriteLine();

        if (transactionList.GetLength() > 0)
        {
            string text;

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

                if (!IsValidNumber(text))
                {
                    Console.WriteLine("The year is not valid.");
                }
            }while (!IsValidNumber(text));

            ushort year = Convert.ToUInt16(text);

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

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

            byte month            = Convert.ToByte(text);
            bool transactionFound = false;

            for (int i = 0; i < transactionList.GetLength(); i++)
            {
                if (transactionList.GetTransaction(i).GetMonth() == month &&
                    transactionList.GetTransaction(i).GetYear() == year)
                {
                    Console.WriteLine("Transaction - Day: " +
                                      transactionList.GetTransaction(i).GetDay() +
                                      " Month: " +
                                      transactionList.GetTransaction(i).GetMonth() +
                                      " Year: " +
                                      transactionList.GetTransaction(i).GetYear() +
                                      " Amount: " +
                                      transactionList.GetTransaction(i).GetAmount() +
                                      " Description: " +
                                      transactionList.GetTransaction(i).GetDescription());

                    transactionFound = true;
                }
            }

            if (!transactionFound)
            {
                Console.WriteLine("No transactions registered at the month and " +
                                  "year you entered.");
            }
        }
        else
        {
            Console.WriteLine("No transactions registered.");
        }
    }