Exemple #1
0
    public static void NormalizeDescriptions(List <ExpensesIncomes> e)
    {
        for (int i = 0; i < e.Count; i++)
        {
            ExpensesIncomes expenseNormalize = e[i];
            while (expenseNormalize.description.Contains("  "))
            {
                expenseNormalize.description = e[i].description.Replace(
                    "  ", " ");
            }
            expenseNormalize.description =
                expenseNormalize.description.Trim();
            if (expenseNormalize.description.CompareTo(
                    expenseNormalize.description.ToUpper()) == 0)
            {
                expenseNormalize.description =
                    expenseNormalize.description.ToLower();
                StringBuilder description = new StringBuilder(
                    expenseNormalize.description);
                description[0] = Char.ToUpper(description[0]);
                expenseNormalize.description = Convert.ToString(
                    description);
            }
            e[i] = expenseNormalize;
        }

        Console.WriteLine("Descriptions are normalized");
    }
    public static void Main()
    {
        List <ExpensesIncomes> e = new List <ExpensesIncomes>();

        string[] options = { "Add new Expense",
                             "Show records for category and dates","Search Expense",
                             "Modify record",                      "Delete record",  "Sort records",
                             "Normalize descriptions" };
        char     option;

        SQLiteCommand    cmd;
        SQLiteConnection conexion;

        if (!File.Exists("home.sqlite"))
        {
            conexion =
                new SQLiteConnection
                    ("Data Source=home.sqlite;Version=3;New=True;Compress=True;");
            conexion.Open();
            string creacion = "create table home ("
                              + "id int primary key, fecha varchar(30),descripcion varchar(50),categoria varchar(25),cantidad int);";
            cmd = new SQLiteCommand(creacion, conexion);
            int cantidad = cmd.ExecuteNonQuery();
        }
        else
        {
            conexion =
                new SQLiteConnection
                    ("Data Source=home.sqlite;Version=3;New=True;Compress=True;");
            conexion.Open();
            string selectAll = "select * from home";
            cmd = new SQLiteCommand(selectAll, conexion);
            SQLiteDataReader leer = cmd.ExecuteReader();

            while (leer.Read())
            {
                ExpensesIncomes ee = new ExpensesIncomes();
                ee.id          = Convert.ToInt32(leer[0]);
                ee.date        = leer[1].ToString();
                ee.description = leer[2].ToString();
                ee.category    = leer[3].ToString();
                ee.amount      = Convert.ToInt32(leer[4]);
                e.Add(ee);
            }
        }

        do
        {
            Console.WriteLine("MENU");
            for (int i = 0; i < options.Length; i++)
            {
                Console.WriteLine("{0}. {1}", i + 1, options[i]);
            }
            Console.WriteLine("T. Exit");
            Console.Write("Select Option: ");
            option = Convert.ToChar(Console.ReadLine());

            switch (option)
            {
            case 'T': Console.WriteLine("Good Bye!!!"); break;

            case '1':
                AddExpense(e);
                break;

            case '2':
                ShowRecords(e);
                break;

            case '3':
                SearchExpense(e);
                break;

            case '4':
                ModifyRecord(e);
                break;

            case '5':
                DeleteRecord(e);
                break;

            case '6':
                SortRecord(e);
                break;

            case '7':
                NormalizeDescriptions(e);
                break;

            default: Console.WriteLine("Unknown option"); break;
            }
            Console.WriteLine();
        } while (option != 'T');

        string clearDB = "delete from home;";

        cmd = new SQLiteCommand(clearDB, conexion);
        cmd.ExecuteNonQuery();

        foreach (ExpensesIncomes ee in e)
        {
            string insertar = "insert into home " +
                              "values (" + ee.id + ",'" +
                              ee.date + "','" +
                              ee.description + "','" +
                              ee.category + "'," +
                              ee.amount + ");";
            cmd = new SQLiteCommand(insertar, conexion);
            cmd.ExecuteNonQuery();
        }
        conexion.Close();
    }