private static void GenerateAtmSourceProvider() { var provider = new DbSourceProvider { UserDb = new DbFileSource(directoryName + "\\usersDB.json"), AccountDb = new DbFileSource(directoryName + "\\accountsDB.json"), TransactionDb = new DbFileSource(directoryName + "\\transactionsDB.json") }; var atm = new Atm(100, provider); var serializer = new AtmSerializer(); if (!File.Exists(AtmSourcePath)) { FileStream fs; try { fs = new FileStream(AtmSourcePath, FileMode.OpenOrCreate); } catch (Exception exception) { throw exception; } serializer.Write(atm, fs); } }
/// <summary> /// </summary> /// <exception cref="InitializationException"></exception> private void Initialize(AtmSource atmSource) { var serializer = new AtmSerializer(); var stream = atmSource.GetStream(); _atm = serializer.Read(stream); StreamUtils.CloseStream(stream); if (_atm == null) { throw new InitializationException(); } try { DbManager.GetInstance().SetSourceProvider(_atm.SourceProvider); DbManager.GetInstance().Initialize(); } catch (Exception) { throw new InitializationException(); } }