public PersonManager(ChangesSearcher changesSearcher) : base(changesSearcher) { Add(1, x => x.FirstName, "Имя", x => x); Add(2, x => x.LastName, "Фамилия", x => x); Add(3, x => x.BirdthDay, "День рождения", x => $"Родился {x}"); Add(4, x => x.Height, "Рост", x => $"{x} см."); Add(5, x => x.Weight, "Вес", x => $"{x} кг."); Add(6, x => x.Dogs, "Собаки", x => string.Join("; ", x.Select(y => y.Name))); Add(7, x => x.Cats, "Коты", x => string.Join("; ", x.Select(y => y.Name))); }
public void ChangesManagerTest() { // Конфигурируем ChangesSearcher changesSearcher = new ChangesSearcher(RuntimeTypeModel.Create()); PersonManager pm = new PersonManager(changesSearcher); DogManager dm = new DogManager(changesSearcher); pm.Initialize(); dm.Initialize(); // Ищем var changes = changesSearcher.GetChanges(_oldPerson, _newPerson); var fieldChanges = pm.ToData(changes); var formattedChanges = pm.GetFormatted(fieldChanges); }
public void SearchChangeTest() { // Настраиваем контроллер. IChangesSearcher controller = new ChangesSearcher(); controller.SearchBuilder <Person>() .Select(1, nameof(Person.FirstName)) .Select(2, nameof(Person.LastName)) .Select(3, nameof(Person.Dogs)) .Build(); controller.SearchBuilder <Dog>() .Select(4, nameof(Dog.Name)) .Build(); // Получаем изменения. var diffs = controller.GetChanges(_oldPerson, _newPerson); }
public DogManager(ChangesSearcher changesSearcher) : base(changesSearcher) { Add(1, x => x.Name, "Кличка", x => x); Add(2, x => x.IsAngry, "Характер", x => x ? "Злая" : "Добрая"); Add(3, x => x.BirdthDay, "День рождения", x => $"Родился {x}"); }
public CatManager(ChangesSearcher changesSearcher) : base(changesSearcher) { Add(1, x => x.Name, "Кличка", x => x); Add(2, x => x.IsLovesCucumbers, "Любит огурцы", x => x ? "Очень" : "Нет"); Add(3, x => x.BirdthDay, "День рождения", x => $"Родился {x}"); }
public ChangesManager(ChangesSearcher changesSearcher) { _changesSearcher = changesSearcher ?? throw new ArgumentNullException(nameof(ChangesSearcher)); _fieldsInfos = new Dictionary <int, FieldChangeModelPattern <TModel> >(); ObjectType = typeof(TModel); }