Colorful Console Mode Applications in C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ColorfulConsole
{


    public class Program
    {

        public static void Main(string[] args)
        {
            // create some dummy data so we have
            // something to display
            List<Accounts> accts = CreateAccounts();

            // set the foreground and background colors
            // using the console's Foreground and BackgroundColor
            // properties - here we are setting it up to show
            // white characters on a dark blue background
            Console.ForegroundColor = ConsoleColor.White;
            Console.BackgroundColor = ConsoleColor.DarkBlue;


            // write the banner to screen using writeline
            Console.WriteLine("*****************************************************");
            Console.WriteLine("*                                                   *");
            Console.WriteLine("*        Summary of Accounts (By Last Name)         *");
            Console.WriteLine("*                                                   *");
            Console.WriteLine("*****************************************************");
            

            // add a couple of new lines to break up the banner 
            // from the rest of the text
            Console.Write("\n\n");


            // use Linq to Objects to order the list by last name
            var q =
                (from a in accts
                orderby a.LastName ascending 
                select a).ToList<Accounts>();


            // display the list in the console
            foreach (Accounts a in q)
            {
                // set the foreground and background colors
                // using the console's Foreground and BackgroundColor
                // properties - here we are setting it up to show
                // white characters on a black background
                Console.ForegroundColor = ConsoleColor.White;
                Console.BackgroundColor = ConsoleColor.Black;

                // write out the Name title using Console.Write
                Console.Write("Name: ");

                // change the foreground color and finish the 
                // line with the name of the account holder
                // (two colors in one line)
                Console.ForegroundColor = ConsoleColor.Cyan;
                Console.BackgroundColor = ConsoleColor.Black;
                Console.Write("\t\t\t" + a.LastName + ", " + a.FirstName + " " + a.MiddleName + "\n");

                // reset to white characters on black
                // and write out the next line title
                Console.ForegroundColor = ConsoleColor.White;
                Console.BackgroundColor = ConsoleColor.Black;
                Console.Write("Account Type: ");

                // change colors and finish the Account Type Line
                Console.ForegroundColor = ConsoleColor.Blue;
                Console.BackgroundColor = ConsoleColor.Black;
                Console.Write("\t\t" + a.TypeOfAccount + "\n");

                // check the balance to see if the account
                // holder is in the red
                if (a.Balance < 0)
                {
                    // set the colors to write the title portion
                    // of the line
                    Console.ForegroundColor = ConsoleColor.White;
                    Console.BackgroundColor = ConsoleColor.Black;
                    Console.Write("Balance: ");

                    // the account holder is in debt so show
                    // their negative balance in red
                    Console.ForegroundColor = ConsoleColor.Red;
                    Console.BackgroundColor = ConsoleColor.Black;
                    Console.Write("\t\t" + a.Balance + "\n\n");
                }
                else
                {
                    // set the colors to write the title portion
                    // of the line
                    Console.ForegroundColor = ConsoleColor.White;
                    Console.BackgroundColor = ConsoleColor.Black;
                    Console.Write("Balance: ");

                    // the account holder has a positive balance
                    // so show their balance in green
                    Console.ForegroundColor = ConsoleColor.Green;
                    Console.BackgroundColor = ConsoleColor.Black;
                    Console.Write("\t\t" + a.Balance + "\n\n");
                }
               
            }

            // beep on completion
            Console.Write("\a");

            // wait for the user to read the information
            Console.Read();

        }



        /// <summary>
        /// This function creates a group of phony account
        /// information so we have something to display
        /// </summary>
        /// <returns></returns>
        public static List<Accounts> CreateAccounts()
        {
            // create a typed list to contain
            // account information
            List<Accounts> list = new List<Accounts>();

            // create and populate an account
            // and then add it to the list
            Accounts acct1 = new Accounts();
            acct1.FirstName = "William";
            acct1.MiddleName = "Alexander";
            acct1.LastName = "Carson";
            acct1.TypeOfAccount = Accounts.AccountType.Checking;
            acct1.Balance = 121.50M;
            list.Add(acct1);

            // create and populate an account
            // and then add it to the list
            Accounts acct2 = new Accounts();
            acct2.FirstName = "Barney";
            acct2.MiddleName = "Hubert";
            acct2.LastName = "Fortner";
            acct2.TypeOfAccount = Accounts.AccountType.Checking;
            acct2.Balance = 1066.33M;
            list.Add(acct2);

            // create and populate an account
            // and then add it to the list
            Accounts acct3 = new Accounts();
            acct3.FirstName = "Julia";
            acct3.MiddleName = "Mildred";
            acct3.LastName = "Daniels";
            acct3.TypeOfAccount = Accounts.AccountType.Savings;
            acct3.Balance = 3397.58M;
            list.Add(acct3);

            // create and populate an account
            // and then add it to the list
            Accounts acct4 = new Accounts();
            acct4.FirstName = "Alvin";
            acct4.MiddleName = "Micheal";
            acct4.LastName = "Bixby";
            acct4.TypeOfAccount = Accounts.AccountType.Checking;
            acct4.Balance = -33.77M;
            list.Add(acct4);

            // create and populate an account
            // and then add it to the list
            Accounts acct5 = new Accounts();
            acct5.FirstName = "Boris";
            acct5.MiddleName = "Winston";
            acct5.LastName = "Carloff";
            acct5.TypeOfAccount = Accounts.AccountType.Christmas;
            acct5.Balance = 14551.52M;
            list.Add(acct5);

            // create and populate an account
            // and then add it to the list
            Accounts acct6 = new Accounts();
            acct6.FirstName = "Debra";
            acct6.MiddleName = "Michelle";
            acct6.LastName = "Silvera";
            acct6.TypeOfAccount = Accounts.AccountType.Savings;
            acct6.Balance = 936.93M;
            list.Add(acct6);

            // create and populate an account
            // and then add it to the list
            Accounts acct7 = new Accounts();
            acct7.FirstName = "Camden";
            acct7.MiddleName = "Alphonse";
            acct7.LastName = "Villalobos";
            acct7.TypeOfAccount = Accounts.AccountType.Checking;
            acct7.Balance = -71.29M;
            list.Add(acct7);

            // create and populate an account
            // and then add it to the list
            Accounts acct8 = new Accounts();
            acct8.FirstName = "Drake";
            acct8.MiddleName = "Duk";
            acct8.LastName = "Mallard";
            acct8.TypeOfAccount = Accounts.AccountType.Christmas;
            acct8.Balance = 815.18M;
            list.Add(acct8);

            // create and populate an account
            // and then add it to the list
            Accounts acct9 = new Accounts();
            acct9.FirstName = "Talbert";
            acct9.MiddleName = "Daz";
            acct9.LastName = "Yatz";
            acct9.TypeOfAccount = Accounts.AccountType.Savings;
            acct9.Balance = 14.21M;
            list.Add(acct9);

            // create and populate an account
            // and then add it to the list
            Accounts acct10 = new Accounts();
            acct10.FirstName = "Miaxwif";
            acct10.MiddleName = "Isa";
            acct10.LastName = "Nidmare";
            acct10.TypeOfAccount = Accounts.AccountType.Checking;
            acct10.Balance = -19697.33M;
            list.Add(acct10);

            // return the list of dummy data to the caller
            return list;

        }
    }


    /// <summary>
    /// A class used to contain phony account information
    /// </summary>
    public class Accounts
    {
        // set up an enumeration to 
        // define the possible account
        // types
        public enum AccountType
        {
            Checking,
            Savings,
            Christmas
        }

        // private member variables
        private string mFirstName;
        private string mMiddleName;
        private string mLastName;
        private AccountType mAcctType;
        private decimal mBalance;

        // default constructor
        public Accounts()
        {
        }

        // properties

        public string FirstName
        {
            get
            {
                return mFirstName;
            }
            set
            {
                mFirstName = value;
            }
        }

        public string MiddleName
        {
            get
            {
                return mMiddleName;
            }
            set
            {
                mMiddleName = value;
            }
        }

        public string LastName
        {
            get
            {
                return mLastName;
            }
            set
            {
                mLastName = value;
            }
        }

        public AccountType TypeOfAccount
        {
            get
            {
                return mAcctType;
            }
            set
            {
                mAcctType = value;
            }
        }


        public decimal Balance
        {
            get
            {
                return mBalance;
            }
            set
            {
                mBalance = value;
            }
        }



    }
}
Colorful Console Mode Applications in C#

你可能感兴趣的:(application)