//Fetch new bookings, gets info from front-end : Seb public dynamic fetchData(Dictionary <string, object> details) { string connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=PrimaryDB.mdb", secondaryConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=SecondaryDB.mdb"; string readCustomerID = "SELECT @@IDENTITY AS CustomerID FROM Customers"; var dbFunc = new DatabaseFunctions(); // test ID //details["FlightNumber"] = 1200; //details["HotelID"] = 4510; object[] customers = { "@CustomerFirstName", details["CustomerFirstName"], "@CustomerLastName", details["CustomerLastName"], "@Gender", details["Gender"], "@PassportNumber", details["PassportNumber"], "@Nationality", details["Nationality"], "@Address", details["Address"],"@PostCode", details["PostCode"], "@ContactNumber", details["ContactNumber"], "@EmailAddress", details["EmailAddress"] }; details["CustomerID"] = dbFunc.writeIDDatabase(customerWriteDB, readCustomerID, connectionString, customers); // get customerID from insert query object[] flights = { "@FlightNumber", details["FlightNumber"], "@CustomerID", details["CustomerID"], "@HotelID", details["HotelID"], "@FlightType", details["FlightType"], "@Departure", details["Departure"], "@Arrival", details["Arrival"], "@DepartureTime", details["DepartureTime"], "@ArrivalTime", details["ArrivalTime"], "@AdultPrice", details["AdultPrice"], "@ChildPrice", details["ChildPrice"] }; dbFunc.writeDatabase(flightWriteDB, connectionString, flights); object[] hotel = { "@HotelID", details["HotelID"], "@StarRating", details["StarRating"], "@CheckIn", details["CheckIn"], "@CheckOut", details["CheckOut"], "@PricePerNight", details["PricePerNight"], "@Country", details["Arrival"],"@NumberPlate", details["NumberPlate"], "@FlightNumber", details["FlightNumber"] }; dbFunc.writeDatabase(hotelWriteDB, connectionString, hotel); object[] cars = { "@CarID", details["CarID"], "@NumberPlate", details["NumberPlate"], "@HotelID", details["HotelID"], "@Make", details["Make"], "@Model", details["Model"], "@CarType", details["CarType"], "@GearBox", details["GearBox"], "@Seats", details["Seats"], "@PricePerDay", details["PricePerDay"] }; dbFunc.writeDatabase(carsWriteDB, connectionString, cars); return(true); }
public static void Main(string[] args) { // Primary Database + queries string connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=PrimaryDB.mdb", secondaryConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=SecondaryDB.mdb", editDB = "UPDATE Customers SET [CustomerFirstName] = @CustomerFirstName, [CustomerLastName] = @CustomerLastName WHERE [CustomerID] = @CustomerID", checkDuplicateDB = "SELECT COUNT(*) FROM Customers WHERE [CustomerFirstName] = @CustomerFirstName AND [CustomerLastName] = @CustomerLastName", readDB = "SELECT * FROM Customers", deleteDB = "DELETE FROM Customers WHERE CustomerID BETWEEN 3 AND 100", deleteFDB = "DELETE FROM Flights WHERE ID BETWEEN 3 AND 100", deleteHDB = "DELETE FROM Hotel WHERE ID BETWEEN 3 AND 100", deleteCDB = "DELETE FROM Cars WHERE ID BETWEEN 3 AND 100"; // batch update queries string fetchCustomersDB = "INSERT INTO SecondaryDB.mdb.Customers SELECT * FROM Customers", fetchFlightsDB = "INSERT INTO SecondaryDB.mdb.Flights SELECT * FROM Flights", fetchHotelDB = "INSERT INTO SecondaryDB.mdb.Hotel SELECT * FROM Hotel", fetchCarsDB = "INSERT INTO SecondaryDB.mdb.Cars SELECT * FROM Cars"; string[] dbList = { fetchCustomersDB, fetchFlightsDB, fetchHotelDB, fetchCarsDB }; object[] duplicate = { "@CustomerFirstName", "Louis", "@CustomerLastName", "Gaye" }; object[] edit = { "@CustomerFirstName", "Lewis", "@CustomerLastName", "Guy", "@CustomerEmail", 1 }; // Must initalise class before use var dbFunc = new DatabaseFunctions(); var primaryDatabase = new PrimaryDatabase(); var secondaryDatabase = new SecondaryDatabase(); //bool checkRecovery = SecondaryDatabase.recoveryProgress; // tests //bool query = primaryDatabase.batchUpdate(dbList, false); //bool squery = secondaryDatabase.batchRecovery(); var details = dbFunc.createDict(); //primaryDatabase.fetchData(details); // Test database /* * dbFunc.deleteDatabase(deleteDB, connectionString); * dbFunc.deleteDatabase(deleteFDB, connectionString); * dbFunc.deleteDatabase(deleteHDB, connectionString); * dbFunc.deleteDatabase(deleteCDB, connectionString);*/ //dbFunc.editDatabase(editDB, connectionString, edit); //dbFunc.readDatabase(readDB, connectionString); //dbFunc.checkDuplicateDatabase(checkDuplicateDB, connectionString, duplicate); }