Esempio n. 1
0
        public BuffettCodeApiTaskProcessor(BuffettCodeApiVersion version)
        {
            client = ApiClientFactory.Create(version, config.ApiKey);
            parser = ApiResponseParserFactory.Create(version);
            var tierResolver = PeriodSupportedTierResolver.Create(client, parser);

            taskHelper = new ApiTaskHelper(tierResolver);
        }
Esempio n. 2
0
        public static IApiResponseParser Create(BuffettCodeApiVersion version)
        {
            switch (version)
            {
            case BuffettCodeApiVersion.Version2:
                return(new ApiV2ResponseParser());

            case BuffettCodeApiVersion.Version3:
                return(new ApiV3ResponseParser());

            default:
                throw new NonSupportedApiVersionException($"api version={version} is not supported.");
            }
        }
Esempio n. 3
0
        public static ILegacyDataTypeResolver GetInstance(BuffettCodeApiVersion version)
        {
            switch (version)
            {
            case BuffettCodeApiVersion.Version2:
                return(ApiV2LegacyDataTypeResolver.GetInstance());

            case BuffettCodeApiVersion.Version3:
                return(ApiV3LegacyDataTypeResolver.GetInstance());

            default:
                throw new NonSupportedApiVersionException($"api version={version} is not supported.");
            }
        }
Esempio n. 4
0
        public static IBuffettCodeApiClient Create(BuffettCodeApiVersion version, string apiKey)
        {
            ApiKeyValidator.Validate(apiKey);
            switch (version)
            {
            case BuffettCodeApiVersion.Version2:
                return(CreateV2(apiKey));

            case BuffettCodeApiVersion.Version3:
                return(CreateV3(apiKey));

            default:
                throw new NonSupportedApiVersionException($"unknown version is given: {version}");
            }
        }
 public BCodeLegacyExecutor(BuffettCodeApiVersion version)
 {
     resolver = LegacyDataTypeResolver.GetInstance(version);
     fetcher  = new ApiResourceFetcher(version);
 }
 public ApiResourceFetcher(BuffettCodeApiVersion version)
 {
     processor = new BuffettCodeApiTaskProcessor(version);
 }
 public BCodeExecutor(BuffettCodeApiVersion version)
 {
     fetcher = new ApiResourceFetcher(version);
     builder = TickerPiriodParameterBuilder.Create(fetcher);
 }