/// <summary> /// レコードを指定してパーツを取得する /// </summary> /// <param name="key">レコード</param> /// <returns>パーツ</returns> public PartsBase GetParts(RecordBase key) { var rs = GetPartsset(key); if (rs.Count > 0) { var e = rs.GetEnumerator(); e.MoveNext(); return((PartsBase)e.Current); } else { return(null); } }
/// <summary> /// 変更されたレコードの値をパーツに反映させる /// (このメソッドを行う度にUNDO対象とするかどうかは、IsAutoChunkStateで指定する)) /// </summary> /// <param name="record">新しくなったレコード</param> /// <returns>反映後パーツ参照(参考)</returns> public ICollection Equalization(RecordBase record) { System.Diagnostics.Debug.Assert(_adapterRtoPs.Count > 0, "Equalizationするには、まずSetRPAdapterでアダプターを指定する必要があります"); var partsset = GetPartsset(record); if (partsset.Count > 0) { foreach (PartsBase parts in partsset) { foreach (var rpa in _adapterRtoPs) { // レコードの値をパーツに反映 rpa(record, parts); } } } return(partsset); }
public override ICollection GetPartsset(RecordBase key) { return(Const.ZeroCollection); }
/// <summary> /// レコードを指定してパーツを取得する /// </summary> /// <param name="key">レコード</param> /// <returns>パーツ</returns> public abstract ICollection GetPartsset(RecordBase key);
public override void SetEquivalent(RecordBase record, PartsBase parts) { }
/// <summary> /// データのリンク情報を保存する /// </summary> /// <param name="record">テーブルのレコード</param> /// <param name="parts">パーツ</param> public abstract void SetEquivalent(RecordBase record, PartsBase parts);