static void Main(string[] args) { DBEngine <string, DBElement <string, List <string> > > db = new DBEngine <string, DBElement <string, List <string> > >(); ItemFactory <int, string> itemFactory = new ItemFactory <int, string>(); "Demonstrating Requirement #2".title(); DBElement <string, List <string> > elem = new DBElement <string, List <string> >(); elem.name = "element"; elem.descr = "test element"; elem.timeStamp = DateTime.Now.AddDays(-4); elem.children.AddRange(new List <string> { "1", "2", "3 " }); elem.payload = new List <string> { "elem's payload" }; WriteLine("\n Item to be inserted.. \n"); elem.showEnumerableElement(); db.insert("1", elem); db.showEnumerableDB(); WriteLine(); WriteLine("\n Inserting second element into DB :"); DBElement <string, List <string> > elem2 = new DBElement <string, List <string> >(); elem2.name = "element2"; elem2.descr = "test element2"; elem2.timeStamp = DateTime.Now; elem2.children.AddRange(new List <string> { "1", "2", "3", "4" }); elem2.payload = new List <string> { "elem's payload" }; WriteLine("\nItem to be inserted.. \n"); elem2.showElement(); db.insert("2", elem2); WriteLine("\n\n DB after insertion:"); db.showEnumerableDB(); "Persisting the database to XML:".title('_'); db.toXml(); "Augumenting database from XML".title('_'); db.restoreDatabase(); db.showEnumerableDB(); }
/// <summary> /// Queries the database. /// </summary> /// <param name="input">The input.</param> /// <returns></returns> public String QueryDatabase(String input) { String result = String.Empty; var dbElement = ParseXml(input); switch (dbElement.dbOperation) { case "Add": db.insert(dbElement.key, dbElement); result = "Key " + dbElement.key + " inserted successfully!"; break; case "Edit": db.replaceKeyInstance(dbElement.key, dbElement); result = "Key " + dbElement.key + "'s value modified successfully!"; break; case "Delete": if (db.delete(dbElement.key)) { result = "Key " + dbElement.key + " deleted successfully!"; } else { result = "Key " + dbElement.key + " not found!!"; } break; case "SearchChild": var children = db.searchChildren(dbElement.key); result = "Children are " + string.Join(", ", children.ToArray()); break; case "Search": var value = db.searchValue(dbElement.key); if (value != null) { result = "Key " + dbElement.key + " found!!!!!\n\n"; result += value.showEnumerableElement(); } else { result = "Key " + dbElement.key + " not found!!"; } break; case "Persist": db.toXml(); result = "Database persisted successfully"; break; case "Restore": db.restoreDatabase(); result = "Database successfully restored!!"; break; default: break; } string dbView = db.showEnumerableDB(); "\nDB Contents:\n".title(); result += dbView; return(result); }