public DataBase(string folder, string dbname) { dbName = dbname; dbFolder = folder; if (!Directory.Exists(folder)) { Directory.CreateDirectory(folder); } Stream dbStream = null; try { dbStream = File.Open(Path.Combine(dbFolder, dbName), FileMode.Open); BinaryFormatter bFormatter = new BinaryFormatter(); dataBase = (Dictionary <string, Entity>)bFormatter.Deserialize(dbStream); } catch (FileNotFoundException) { if (dbStream != null) { dbStream.Close(); } dbStream = File.Open(Path.Combine(dbFolder, dbName), FileMode.Create); dataBase = new Dictionary <string, Entity>(); } catch (SerializationException) { if (dbStream != null) { dbStream.Close(); } dbStream = File.Open(Path.Combine(dbFolder, dbName), FileMode.Create); dataBase = new Dictionary <string, Entity>(); } finally { if (dbStream != null) { dbStream.Close(); } } WriteDataBaseDelegate += new WriteDataBaseDelegate(FlushDataBase); }
public DataBase(string folder, string dbname) { dbName = dbname; dbFolder = folder; if (!Directory.Exists(folder)) { Directory.CreateDirectory(folder); } Stream dbStream = null; try { dbStream = File.Open(Path.Combine(dbFolder, dbName), FileMode.Open); BinaryFormatter bFormatter = new BinaryFormatter(); dataBase = (Dictionary<string, Entity>)bFormatter.Deserialize(dbStream); } catch (FileNotFoundException) { if (dbStream != null) dbStream.Close(); dbStream = File.Open(Path.Combine(dbFolder, dbName), FileMode.Create); dataBase = new Dictionary<string, Entity>(); } catch (SerializationException) { if (dbStream != null) dbStream.Close(); dbStream = File.Open(Path.Combine(dbFolder, dbName), FileMode.Create); dataBase = new Dictionary<string, Entity>(); } finally { if (dbStream != null) dbStream.Close(); } WriteDataBaseDelegate += new WriteDataBaseDelegate(FlushDataBase); }