private Quarter GetQuarter(string ticker, string fiscalYear, string fiscalQuarter)
        {
            if (!cache.HasQuarter(ticker, fiscalYear, fiscalQuarter))
            {
                var    task = client.GetQuarter(Configuration.ApiKey, ticker, fiscalYear, fiscalQuarter);
                string json = processor.Process(task);
                cache.Add(Quarter.Parse(ticker, json));
            }
            if (!cache.HasQuarter(ticker, fiscalYear, fiscalQuarter))
            {
                throw new AggregationNotFoundException();
            }

            return(cache.GetQuarter(ticker, fiscalYear, fiscalQuarter));
        }
        /// <summary>
        /// <see cref="Quarter"/>を取得します。
        /// </summary>
        /// <param name="ticker">銘柄コード</param>
        /// <param name="fiscalYear">会計年度</param>
        /// <param name="fiscalQuarter">会計四半期</param>
        /// <returns><see cref="Quarter"/></returns>
        public Quarter GetQuarter(string ticker, string fiscalYear, string fiscalQuarter)
        {
            string identifier = Quarter.GetIdentifier(ticker, int.Parse(fiscalYear), int.Parse(fiscalQuarter));

            return(quarterCache[identifier]);
        }
 /// <summary>
 /// <see cref="Quarter"/>をキャッシュに追加します。
 /// </summary>
 /// <param name="quarter"></param>
 public void Add(Quarter quarter)
 {
     quarterCache.TryAdd(quarter.GetIdentifier(), quarter);
 }
        /// <summary>
        /// <see cref="Quarter"/>がキャッシュされているかを返します。
        /// </summary>
        /// <param name="ticker">銘柄コード</param>
        /// <param name="fiscalYear">会計年度</param>
        /// <param name="fiscalQuarter">会計四半期</param>
        /// <returns>キャッシュされている場合はtrue</returns>
        public bool HasQuarter(string ticker, string fiscalYear, string fiscalQuarter)
        {
            string identifier = Quarter.GetIdentifier(ticker, int.Parse(fiscalYear), int.Parse(fiscalQuarter));

            return(quarterCache.ContainsKey(identifier));
        }
 /// <inheritdoc/>
 public string GetIdentifier()
 {
     return(Quarter.GetIdentifier(Ticker, FiscalYear, FiscalQuarter));
 }