public ChildRecordsSynchronizer(Expression <Func <TParentRecord, IList <TChildRecord> > > childrenSelector, IRecordsComparer <TChildRecord> recordsComparer, IPropertiesProvider <TChildRecord> propertiesProvider) : base(recordsComparer, propertiesProvider) { DetectForeignKeyProperty(childrenSelector); ChildrenSelector = childrenSelector.Compile(); }
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; }
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); }
public RecordsSynchronizer(IRecordsComparer <TRecord> recordsComparer, IPropertiesProvider <TRecord> propertiesProvider) { _recordsComparer = recordsComparer; _propertiesProvider = propertiesProvider; }
private void InitRecordsComparer(Func <MockRecord, bool> filter = null) { _recordsComparer = RecordsSynchronizerFactory <MockRecord> .RecordsComparer(record => new { record.Key1, record.Key2 }, filter); }
public static IRecordsSynchronizer <TRecord> Create(IRecordsComparer <TRecord> recordsComparer) { return(new RecordsSynchronizer <TRecord>(recordsComparer, PropertiesProvider())); }