using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using TellerSystem.Communication;
namespace TellerSystem.Contract.ContractBase
{
///
/// 入口基类,包括Message和PageBase
///
public class EntryBase : ITradeHelper
{
#region 数据属性
public Message MessageData { get; private set; }
public PageBase PageData { get; private set; }
#endregion
///
/// 加载数据
///
///
///
///
public bool LoadData(PageBase page, Message message)
{
var flag = true;
//检测参数变化
if (page != null && page == PageData)
{
if (message == MessageData || (message.FileData == MessageData.FileData && message.GetAllFds().Except(MessageData.GetAllFds()).Count() == 0))//KeyValuePair是结构体,会对比下辖所有值
flag = false;//参数与历史登记一致,未作修改
}
PageData = page;
MessageData = message;
return OnLoadData(flag);
}
///
/// 加载数据时触发
///
/// 标识数据是否发生改变
///
protected virtual bool OnLoadData(bool changed)
{
return true;
}
#region ITradeHelper
public TradeBusHelper TradeBus
{
get { return PageData.TradeBus; }
}
public TradeInfoHelper TradeInfo
{
get { return PageData.TradeInfo; }
}
public TradeAPIsHelper TradeAPIs
{
get { return PageData.TradeAPIs; }
}
public TradeResourcesHelper TradeResources
{
get { return PageData.TradeResources; }
}
#endregion
}
}