/// <summary> /// Gets a result base item. /// </summary> /// <typeparam name="T">The result base data type.</typeparam> /// <param name="calculatedDataItemCacheKey">The result base cache key.</param> /// <returns> /// Returns a CalculatedDataItem if the CalculatedDataItemType was found in session cache. /// Otherwise a NullCalculatedDataItem object is returned. /// </returns> public CalculatedDataItem <T> GetCalculatedDataItem <T>(CalculatedDataItemCacheKey calculatedDataItemCacheKey) { object calculatedDataItem; _calculatedDataItemsDictionary.TryGetValue(calculatedDataItemCacheKey, out calculatedDataItem); if (calculatedDataItem == null) { calculatedDataItem = new CalculatedDataItem <T>(); _calculatedDataItemsDictionary.Add(calculatedDataItemCacheKey, calculatedDataItem); } return((CalculatedDataItem <T>)calculatedDataItem); }
/// <summary> /// Adds a result base item. /// </summary> /// <typeparam name="T">The result base data type.</typeparam> /// <param name="calculatedDataItemCacheKey">The result base cache key.</param> /// <param name="data">The data.</param> /// <returns> /// The newly created CalculatedDataItem object /// </returns> public CalculatedDataItem <T> AddCalculatedDataItem <T>(CalculatedDataItemCacheKey calculatedDataItemCacheKey, T data) { CalculatedDataItem <T> calculatedDataItem = new CalculatedDataItem <T>(data); if (_calculatedDataItemsDictionary.ContainsKey(calculatedDataItemCacheKey)) { _calculatedDataItemsDictionary[calculatedDataItemCacheKey] = calculatedDataItem; } else { _calculatedDataItemsDictionary.Add(calculatedDataItemCacheKey, calculatedDataItem); } return(calculatedDataItem); }