public void ClearAllRepoAndContext()
        {
            _context.Dispose();

            _articleRepository        = null;
            _articleSourceRepository  = null;
            _dubiousArticleRepository = null;
            _eventRepository          = null;
            _eventTypeRepository      = null;

            _context = null;
        }
        public void Setup()
        {
            //context
            var options = new DbContextOptionsBuilder <Backend.DataAccess.EFModels.earlynews_testContext>()
                          .UseInMemoryDatabase(databaseName: Guid.NewGuid().ToString())
                          .Options;

            _context = new earlynews_testContext(options);

            //Set data in context
            Seed();

            //Mapper
            _mapper = MappingData();

            //LogRepo
            var logger = new LogRepository(_context, _mapper, _logger);

            //logger
            _logger = new Mock <ILogger>().Object;

            //All other repo
            _articleRepository       = new ArticleRepository(_context, _mapper, logger, _logger);
            _articleRepository.DoLog = false;

            _articleSourceRepository       = new ArticleSourceRepository(_context, _mapper, logger, _logger);
            _articleSourceRepository.DoLog = false;

            _dubiousArticleRepository       = new DubiousArticleRepository(_context, _mapper, logger, _logger);
            _dubiousArticleRepository.DoLog = false;

            _eventRepository       = new EventRepository(_context, _mapper, logger, _logger);
            _eventRepository.DoLog = false;

            _eventTypeRepository       = new EventTypeRepository(_context, _mapper, logger, _logger);
            _eventTypeRepository.DoLog = false;

            _scenarioRepository       = new ScenarioRepository(_context, _mapper, logger, _logger);
            _scenarioRepository.DoLog = false;
        }
 public ArticleSourceController(ArticleSourceRepository articleSourceRepository, bool log = true)
 {
     _articleSourceRepository       = articleSourceRepository;
     _articleSourceRepository.DoLog = log;
     _log = log;
 }
        public void Setup()
        {
            if (!isSetup)
            {
                _context = new earlynews_testContext();
                if (!isLocal)
                {
                    _context.connectionString = gitlabConnection;
                }
                _mapper = MappingData();

                _logger = new Mock <ILogger>().Object;

                var logger = new LogRepository(_context, _mapper, _logger);

                _articleRepository        = new ArticleRepository(_context, _mapper, logger, _logger);
                _articleSourceRepository  = new ArticleSourceRepository(_context, _mapper, logger, _logger);
                _dubiousArticleRepository = new DubiousArticleRepository(_context, _mapper, logger, _logger);
                _eventRepository          = new EventRepository(_context, _mapper, logger, _logger);
                _eventTypeRepository      = new EventTypeRepository(_context, _mapper, logger, _logger);
                scenarioRepository        = new ScenarioRepository(_context, _mapper, logger, _logger);
            }

            if (!isSetup && !isLocal)
            {
                if (!isLocal)
                {
                    db = new AppDb(gitlabConnection);
                }
                else
                {
                    db = new AppDb(localConnection);
                }

                isSetup = true;

                db.Connection.Open();

                Console.WriteLine("Commande 1");
                Console.WriteLine("------------------------------------------------------------");

                var           cmd  = db.Connection.CreateCommand();
                DirectoryInfo dir  = new DirectoryInfo(Environment.CurrentDirectory);
                string        path = Path.Combine(dir.Parent.Parent.Parent.FullName, "dbschema.sql");
                cmd.CommandText = File.ReadAllText(path);

                Console.WriteLine("Commande 1 - text");
                Console.WriteLine(cmd.CommandText);

                cmd.ExecuteNonQuery();

                Console.WriteLine("Commande 2");
                Console.WriteLine("------------------------------------------------------------");

                MySqlCommand comm = db.Connection.CreateCommand();
                path             = Path.Combine(dir.Parent.Parent.Parent.FullName, "dummydata.sql");
                comm.CommandText = File.ReadAllText(path);

                Console.WriteLine("Commande 2 - text");
                Console.WriteLine(comm.CommandText);

                comm.ExecuteNonQuery();

                db.Connection.Close();
            }
        }