using System.Text;
using TrendChartSDK.Entity.Base;
using TrendChartSDK.Entity.TrendChart;
using TrendChartSDK.Entity.TrendChartData;
using TrendChartSDK.Interface;
namespace TrendChartSDK.TrendChartManager
{
///
/// 多值项(多值多列项)
///
///
public class MultiValueItem : ChartItemRepository, IChartItem where TEntity : LotteryOpenCode
{
private new int[] _itemIndex;
///
/// 初始化
///
///
///
public override void Init(ChartCssConfigInfo cssConfig, TrendChartItemInfo itemConfig)
{
DefaultInit(cssConfig, itemConfig);
}
///
/// 初始化遗漏
///
///
///
public override void MissDataInit(TrendChartData trendChartCofig, int i)
{
DefaultMissDataInit(trendChartCofig, i);
}
///
/// 获取遗漏数据
///
///
///
public override string GetMissData(MissDataType missDataType)
{
return GetDefaultMissData(missDataType);
}
///
/// 设置项值
///
///
///
///
public override bool SetItemValue(TEntity entity, TEntity lastentity)
{
_itemIndex = new int[this._itemConfig.ItemCount];
return SetMultiValueAndMiss(entity, ref _itemIndex, ref this._localMiss);
}
///
/// 设置项值
///
///
///
public override bool SetItemValue(TEntity entity)
{
_itemIndex = new int[this._itemConfig.ItemCount];
return SetMultiValueAndMiss(entity, ref _itemIndex, ref this._localMiss);
}
///
/// 去格式化字符串
///
///
///
///
public override string GetFomartString(string fomart, ChartCssConfigInfo cssConfig = null)
{
var html = GetFomartHtml(fomart, cssConfig);
var sp = new StringBuilder((html.Item1.Length + 40) * this._itemConfig.ItemCount);
for (int i = 0; i < this._itemConfig.ItemCount; i++)
{
sp.Append(0 < this._itemIndex[i] ? GetHtml(true, html.Item1, GetlgroupAndColor(true, html.Item4), this._itemConfig.ItemString[i], i) : GetHtml(false, html.Item1, GetlgroupAndColor(false, html.Item4), _localMiss[i].ToString(), i));
}
return sp.ToString();
}
}
}