Пример #1
0
        public override ReloadDataSets CalculateReloadDataSetsFromConfiguration(IReadOnlyList <DataRepository> dataSetsToImport,
                                                                                IReadOnlyList <DataRepository> existingDataSets)
        {
            var newDataSets         = dataSetsToImport.Where(dataSet => !repositoryExistsInList(existingDataSets, dataSet)).ToList();
            var dataSetsToBeDeleted = existingDataSets.Where(dataSet => !repositoryExistsInList(dataSetsToImport, dataSet));
            var overwrittenDataSets = dataSetsToImport.Except(newDataSets);


            var result = new ReloadDataSets(newDataSets, overwrittenDataSets, dataSetsToBeDeleted);

            using (var reloadPresenter = _applicationController.Start <IImporterReloadPresenter>())
            {
                reloadPresenter.AddDeletedDataSets(result.DataSetsToBeDeleted.AllNames());
                reloadPresenter.AddNewDataSets(result.NewDataSets.AllNames());
                reloadPresenter.AddOverwrittenDataSets(result.OverwrittenDataSets.AllNames());
                reloadPresenter.Show();

                if (reloadPresenter.Canceled())
                {
                    return(new ReloadDataSets());
                }
            }

            return(result);
        }
Пример #2
0
 protected override void Because()
 {
     _result = sut.CalculateReloadDataSetsFromConfiguration(_dataSetsToImport, _existingDataSets);
 }