using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Core.Mes.Client.Comm.Tool
{
///
/// 数据源集合,用来判断数据是否发生修改。
///
///
public class DataSourceList : List
{
private Dictionary _queryDic = new Dictionary();
public Dictionary QueryDic
{
get { return _queryDic; }
set { _queryDic = value; }
}
private bool _isChanged = false;
public bool IsChanged
{
get { return _isChanged; }
set { _isChanged = value; }
}
///
/// 提交更改
///
public void AcceptChanges()
{
_queryDic.Clear();
_isChanged = false;
foreach(T obj in this)
{
T obj2 = EntityHelper.CopyEntity(obj);
_queryDic.Add(obj, obj2);
}
}
///
/// 数据发生更改时调用该方法。
///
///
public void Change(T obj)
{
if (_queryDic.ContainsKey(obj))
{
_isChanged = !EntityHelper.Compare(
obj, _queryDic[obj]);
}
else
{
_isChanged = true;
}
}
}
}