File: D:/HostingSpaces/TDijk1/erp-apps.eu/wwwroot/App_Code/Pux/Controls/DelayedWebPart.cs
using CMS.Helpers;
using CMS.PortalControls;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace Pux.Controls
{
public abstract class DelayedWebPart<T, K> : CMSAbstractWebPart
{
public abstract string UniqueKey { get; }
public abstract Dictionary<T, K> LoadData(List<T> ids);
protected List<T> IDs
{
get
{
var data = RequestStockHelper.GetItem(UniqueKey + "_id") as List<T>;
if (data == null)
{
data = new List<T>();
RequestStockHelper.Add(UniqueKey + "_id", data);
}
return data;
}
}
protected Dictionary<T, K> Data
{
get
{
var data = RequestStockHelper.GetItem(UniqueKey + "_data") as Dictionary<T, K>;
if (data == null)
{
data = LoadData(IDs);
RequestStockHelper.Add(UniqueKey + "_data", data);
}
return data;
}
}
}
}