public CardSetManager(ILoggingAdapter <CardSetManager> logger,
                       IHttpClientService httpService,
                       IJsonParsingManager jsonParser)
 {
     this._logger      = logger;
     this._httpService = httpService;
     this._jsonParser  = jsonParser;
 }
        public async Task Start(string[] args)
        {
            _serviceProvider.GetService <ILoggerFactory>()
            .AddConsole(LogLevel.Debug);
            var loggerFactory = _serviceProvider.GetService <ILoggerFactory>();
            var logger        = loggerFactory.CreateLogger <Program>();

            logger.LogDebug("Starting application");
            IHttpClientService service      = _serviceProvider.GetService <IHttpClientService>();
            string             locationJson = await service.GetRawJsonFileLocation("01");

            IJsonParsingManager jsonParser  = _serviceProvider.GetService <IJsonParsingManager>();
            CardSetFile         cardSetFile = jsonParser.ParseRawJsonFileLocation(locationJson);

            logger.LogDebug(cardSetFile.ToString());
            string cardSetJson = await service.GetCardSetJson(cardSetFile);

            CardSet cards = jsonParser.ParseRawJsonFile(cardSetJson);

            logger.LogDebug(cards.ToString());
        }