示例#1
0
 public ChildRecordsSynchronizer(Expression <Func <TParentRecord, IList <TChildRecord> > > childrenSelector,
                                 IRecordsComparer <TChildRecord> recordsComparer,
                                 IPropertiesProvider <TChildRecord> propertiesProvider)
     : base(recordsComparer, propertiesProvider)
 {
     DetectForeignKeyProperty(childrenSelector);
     ChildrenSelector = childrenSelector.Compile();
 }
示例#2
0
        public void Setup()
        {
            _currentRecords     = Substitute.For <IList <IMockRecord> >();
            _propertiesProvider = Substitute.For <IPropertiesProvider <IMockRecord> >();


            _recordsComparer     = Substitute.For <IRecordsComparer <IMockRecord> >();
            _recordsSynchronizer = RecordsSynchronizerFactory <IMockRecord> .Create(_recordsComparer, _propertiesProvider);
        }
 internal RecordsListView(object groupKey, Index dataIndex, Table <T> table, IRecordsComparer <T> comparer, IMemoryValidator validator, DataIndexBase <T> owner, ValueLockRW locker)
 {
     this.dataIndex = dataIndex;
     this.table     = table;
     this.comparer  = comparer;
     this.validator = validator;
     this.owner     = owner;
     this.locker    = locker;
     this.groupKey  = groupKey;
 }
示例#4
0
        public IRecordsSynchronizer <TChildRecord> AddChild <TChildRecord>(
            Expression <Func <TRecord, IList <TChildRecord> > > childRecordsSelector,
            IRecordsComparer <TChildRecord> recordsComparer,
            IPropertiesProvider <TChildRecord> propertiesProvider
            )
            where TChildRecord : class
        {
            var child = new ChildRecordsSynchronizer <TRecord, TChildRecord>(
                childRecordsSelector,
                recordsComparer,
                propertiesProvider);

            AddChild(child);

            return(child);
        }
示例#5
0
 public RecordsSynchronizer(IRecordsComparer <TRecord> recordsComparer,
                            IPropertiesProvider <TRecord> propertiesProvider)
 {
     _recordsComparer    = recordsComparer;
     _propertiesProvider = propertiesProvider;
 }
示例#6
0
 private void InitRecordsComparer(Func <MockRecord, bool> filter = null)
 {
     _recordsComparer = RecordsSynchronizerFactory <MockRecord> .RecordsComparer(record => new { record.Key1, record.Key2 }, filter);
 }
示例#7
0
 public static IRecordsSynchronizer <TRecord> Create(IRecordsComparer <TRecord> recordsComparer)
 {
     return(new RecordsSynchronizer <TRecord>(recordsComparer, PropertiesProvider()));
 }