Example #1
0
        /// <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);
            }
        }
Example #2
0
        /// <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);
        }
Example #3
0
 public override ICollection GetPartsset(RecordBase key)
 {
     return(Const.ZeroCollection);
 }
Example #4
0
 /// <summary>
 /// レコードを指定してパーツを取得する
 /// </summary>
 /// <param name="key">レコード</param>
 /// <returns>パーツ</returns>
 public abstract ICollection GetPartsset(RecordBase key);
Example #5
0
 public override void SetEquivalent(RecordBase record, PartsBase parts)
 {
 }
Example #6
0
 /// <summary>
 /// データのリンク情報を保存する
 /// </summary>
 /// <param name="record">テーブルのレコード</param>
 /// <param name="parts">パーツ</param>
 public abstract void SetEquivalent(RecordBase record, PartsBase parts);