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);
            }
        }
Esempio n. 2
0
        /// <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();
            }
        }