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)));
 }
Exemple #2
0
        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);
        }
Exemple #3
0
        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);
        }
Exemple #4
0
 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}");
 }
Exemple #5
0
 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}");
 }
Exemple #6
0
 public ChangesManager(ChangesSearcher changesSearcher)
 {
     _changesSearcher = changesSearcher ?? throw new ArgumentNullException(nameof(ChangesSearcher));
     _fieldsInfos     = new Dictionary <int, FieldChangeModelPattern <TModel> >();
     ObjectType       = typeof(TModel);
 }