Example #1
0
        /// <inheritdoc />
        /// <exception cref="InvalidOperationException">
        /// XML configuration doesn't contain element for data base manager with specified name.
        /// </exception>
        public void BuildDataBaseManager()
        {
            XElement dataBaseManagerElement = _documentParser.FindElement(
                _dataBaseManagerParameterName
                );

            if (dataBaseManagerElement is null)
            {
                var ex = new InvalidOperationException(
                    $"XML document hasn't value for {_dataBaseManagerParameterName}."
                    );
                _logger.Error(ex, "Cannot build DataBaseManager.");
                throw ex;
            }

            string connectionString = XDocumentParser.GetAttributeValue(
                dataBaseManagerElement, _connectionStringParameterName
                );
            var dataBaseSettings = new DAL.DataStorageSettings(connectionString);

            _dataBaseManager = new DAL.DataBaseManager(
                new DAL.Repositories.ResultInfoRepository(dataBaseSettings),
                new DAL.Repositories.RatingRepository(dataBaseSettings)
                );

            foreach (var element in dataBaseManagerElement.Elements())
            {
                DAL.Repositories.IDataRepository repository = _serviceBuilder.CreateRepository(
                    element, dataBaseSettings
                    );
                _dataBaseManager.DataRepositoriesManager.Add(repository);
            }
        }
Example #2
0
 /// <inheritdoc />
 public void Reset()
 {
     _inputManager      = null;
     _crawlersManager   = null;
     _appraisersManager = null;
     _outputManager     = null;
     _dataBaseManager   = null;
 }
Example #3
0
 /// <summary>
 /// Default constructor which initialize all managers.
 /// </summary>
 /// <exception cref="ArgumentNullException">
 /// <paramref name="inputManager" /> or <paramref name="crawlersManager" /> or
 /// <paramref name="appraisersManager" /> or <paramref name="outputManager" /> is
 /// <c>null</c>.
 /// </exception>
 public Shell(
     IO.Input.InputManager inputManager,
     Crawlers.CrawlersManager crawlersManager,
     Appraisers.AppraisersManager appraisersManager,
     IO.Output.OutputManager outputManager,
     DAL.DataBaseManager dataBaseManager)
 {
     InputManager      = inputManager.ThrowIfNull(nameof(inputManager));
     CrawlersManager   = crawlersManager.ThrowIfNull(nameof(crawlersManager));
     AppraisersManager = appraisersManager.ThrowIfNull(nameof(appraisersManager));
     OutputManager     = outputManager.ThrowIfNull(nameof(outputManager));
     DataBaseManager   = dataBaseManager.ThrowIfNull(nameof(dataBaseManager));
 }