Ejemplo n.º 1
0
        // Method to perform search on the querey
        private void search(RPN rpn, Fleet fleet)
        {
            Console.WriteLine("\n--------------------------------------------- Searching available vehicles ---------------------------------------------");

            // Create new datatable for available vehicles (unrented)
            DataTable AvaiableVehicles = new DataTable();

            // Fill table for available vehicles
            CsvOperations.SearchToTable(fleet, AvaiableVehicles);
            // Show search to table datatable
            CsvOperations.ShowDataTable(AvaiableVehicles, fleet.FleetFile, "ASCII", true);

            Console.Write("\nInfix expression:    ");
            foreach (string token in rpn.InfixTokens)
            {
                Console.Write(token + " ");
            }
            Console.WriteLine();

            Console.Write("Postfix expression:  ");
            foreach (string token in rpn.PostfixTokens)
            {
                Console.Write(token + " ");
            }
            Console.WriteLine();
            Console.WriteLine();

            fleet.search(out string[] result, rpn);

            if (result.Length == 0)
            {
                throw new Exception("No match found");
            }

            List <string> results = new List <string>();

            foreach (string res in result)
            {
                // display vehicle by registration plate (rego)
                Vehicle v;
                for (int i = 0; i < fleet.vehicles.Count; i++)
                {   // go through, find the vehicle by rego
                    v = (Vehicle)fleet.vehicles[i];
                    if (v.registration == res)
                    {
                        results.Add(v.ToCSVstring());
                        break;
                    }
                }
            }

            Console.WriteLine("\n-------------------------------------------------- Query Search Output -------------------------------------------------");
            // Create new datatable for query result for searched vehicles
            DataTable resultTable = new DataTable();

            // fill query result table
            CsvOperations.SearchToTable(fleet, resultTable, results);
            // show datatable
            CsvOperations.ShowDataTable(resultTable, fleet.FleetFile, "Extended", true);
        }
Ejemplo n.º 2
0
        // Method to perform search on the querey
        private void search(RPN rpn, Fleet fleet)
        {
            // hardcode some vehicles and create sets of attributes.
            // a set is comprised of vehicle number plates

            Console.WriteLine("\n---------------- Searching available vehicles --------------");

            DataTable AvaiableVehicles = new DataTable();

            CsvOperations.SearchToTable(fleet, AvaiableVehicles);
            CsvOperations.ShowDataTable(AvaiableVehicles, fleet.FleetFile, "ASCII", true);

            Console.Write("\nInfix expression:    ");
            foreach (string token in rpn.InfixTokens)
            {
                Console.Write(token + " ");
            }
            Console.WriteLine();

            Console.Write("Postfix expression:  ");
            foreach (string token in rpn.PostfixTokens)
            {
                Console.Write(token + " ");
            }
            Console.WriteLine();
            Console.WriteLine();

            fleet.search(out string[] result, rpn);

            if (result.Length == 0)
            {
                throw new Exception("No match found");
            }

            List <string> results = new List <string>();

            foreach (string res in result)
            {
                // display vehicle by registration plate (rego)
                Vehicle v;
                for (int i = 0; i < fleet.vehicles.Count; i++)
                {   // go through, find the vehicle by rego
                    v = (Vehicle)fleet.vehicles[i];
                    if (v.registration == res)
                    {
                        results.Add(v.ToCSVstring());
                        break;
                    }
                }
            }

            DataTable resultTable = new DataTable();

            CsvOperations.SearchToTable(fleet, resultTable, results);
            CsvOperations.ShowDataTable(resultTable, fleet.FleetFile, "Extended", true);
        }
Ejemplo n.º 3
0
        // method to show all vehicles if query is a blank line
        private void search(Fleet fleet)
        {
            Console.WriteLine("\n-------------------------------------------- Showing all available vehicles --------------------------------------------");
            // Create new datatable for all vehicles (unrented)
            DataTable AllVehicles = new DataTable();

            // Fill table for all vehicles
            CsvOperations.SearchToTable(fleet, AllVehicles, null);
            // Show search to table datatable
            CsvOperations.ShowDataTable(AllVehicles, fleet.FleetFile, "ASCII", true);
        }
        // This methods displays the data table to the console, where it sources the csv files from the specified locations
        private void DisplayTable(string option)
        {
            DataTable rentals   = new DataTable();
            DataTable fleet     = new DataTable();
            DataTable customers = new DataTable();

            switch (option)
            {
            case "Customer":
                CsvOperations.ShowDataTable(customers, Crm.CrmFile, CsvOperations.borderStyle);
                break;

            case "Fleet":
                CsvOperations.ShowDataTable(fleet, Fleet.FleetFile, CsvOperations.borderStyle);
                break;

            case "Rentals":
                CsvOperations.RentalsToTable(Fleet, rentals);
                CsvOperations.ShowDataTable(rentals, Fleet.RentalsFile, CsvOperations.borderStyle, true);
                break;
            }
        }