Ejemplo n.º 1
0
        public void DeleteAggregatorWithManyDetailsTest()
        {
            foreach (IDataService dataService in DataServices)
            {
                // Arrange.
                SQLDataService ds = dataService as SQLDataService;

                //TODO: Fix OracleDataService error.
                if (dataService is OracleDataService)
                {
                    continue;
                }

                var masterCl = new Пользователь {
                    ФИО = "фио"
                };
                var aggregator = new Конкурс {
                    Название = "название", Организатор = masterCl
                };

                var detailOne = new КритерийОценки {
                    ПорядковыйНомер = 4
                };
                var detailTwo = new ДокументацияККонкурсу {
                    Файл = new WebFile()
                };
                aggregator.КритерииОценки.Add(detailOne);
                aggregator.Документы.Add(detailTwo);

                ds.UpdateObject(aggregator);

                // Act
                LoadingCustomizationStruct lcsAggregator = LoadingCustomizationStruct.GetSimpleStruct(typeof(Конкурс), Конкурс.Views.КонкурсE);
                LoadingCustomizationStruct lcsDetailOne  = LoadingCustomizationStruct.GetSimpleStruct(typeof(КритерийОценки), КритерийОценки.Views.КритерийОценкиE);
                LoadingCustomizationStruct lcsDetailTwo  = LoadingCustomizationStruct.GetSimpleStruct(typeof(ДокументацияККонкурсу), ДокументацияККонкурсу.Views.ДокументацияККонкурсуE);

                DataObject[] dataObjectsAggregator = ds.LoadObjects(lcsAggregator);
                DataObject[] dataObjectsDetailOne  = ds.LoadObjects(lcsDetailOne);
                DataObject[] dataObjectsDetailTwo  = ds.LoadObjects(lcsDetailTwo);

                int countAggregatorBefore = ds.GetObjectsCount(lcsAggregator);
                int countDetailOneBefore  = ds.GetObjectsCount(lcsDetailOne);
                int countDetailTwoBefore  = ds.GetObjectsCount(lcsDetailTwo);

                List <DataObject> objectsForUpdateList = new List <DataObject>();

                foreach (Конкурс конкурс in dataObjectsAggregator)
                {
                    конкурс.SetStatus(ObjectStatus.Deleted);
                    objectsForUpdateList.Add(конкурс);
                }

                foreach (КритерийОценки критерий in dataObjectsDetailOne)
                {
                    критерий.SetStatus(ObjectStatus.Deleted);
                    objectsForUpdateList.Add(критерий);
                }

                foreach (ДокументацияККонкурсу документ in dataObjectsDetailTwo)
                {
                    документ.SetStatus(ObjectStatus.Deleted);
                    objectsForUpdateList.Add(документ);
                }

                DataObject[] objectsForUpdate = objectsForUpdateList.ToArray();

                ds.UpdateObjects(ref objectsForUpdate);

                int countAggregatorAfter = ds.GetObjectsCount(lcsAggregator);
                int countDetailOneAfter  = ds.GetObjectsCount(lcsDetailOne);
                int countDetailTwoAfter  = ds.GetObjectsCount(lcsDetailTwo);

                // Assert
                Assert.Equal(1, countAggregatorBefore);
                Assert.Equal(1, countDetailOneBefore);
                Assert.Equal(1, countDetailTwoBefore);

                Assert.Equal(0, countAggregatorAfter);
                Assert.Equal(0, countDetailOneAfter);
                Assert.Equal(0, countDetailTwoAfter);
            }
        }
Ejemplo n.º 2
0
        public void DeleteAggregatorWithDetailAndHierarhiTest()
        {
            foreach (IDataService dataService in DataServices)
            {
                // Arrange.
                SQLDataService ds = dataService as SQLDataService;

                //TODO: Fix OracleDataService error.
                if (dataService is OracleDataService)
                {
                    continue;
                }

                var masterForest = new Лес {
                    Название = "лес1"
                };
                var detailDen = new Берлога {
                    Наименование = "берлога1", ЛесРасположения = masterForest
                };
                var aggregatorBear = new Медведь {
                    ПорядковыйНомер = 2, ЛесОбитания = masterForest
                };
                aggregatorBear.Берлога.Add(detailDen);

                ds.UpdateObject(aggregatorBear);

                var aggregatorBearMother = new Медведь {
                    ПорядковыйНомер = 2
                };
                aggregatorBear.Мама = aggregatorBearMother;

                ds.UpdateObject(aggregatorBear);

                // Act & Assert.
                LoadingCustomizationStruct lcsBear   = LoadingCustomizationStruct.GetSimpleStruct(typeof(Медведь), Медведь.Views.МедведьE);
                LoadingCustomizationStruct lcsForest = LoadingCustomizationStruct.GetSimpleStruct(typeof(Лес), Лес.Views.ЛесE);

                DataObject[] dataObjectsBear   = ds.LoadObjects(lcsBear);
                DataObject[] dataObjectsForest = ds.LoadObjects(lcsForest);

                // Act
                int countBearBefore   = ds.GetObjectsCount(lcsBear);
                int countForestBefore = ds.GetObjectsCount(lcsForest);

                List <DataObject> objectsForUpdateList = new List <DataObject>();

                foreach (Медведь медведь in dataObjectsBear)
                {
                    медведь.SetStatus(ObjectStatus.Deleted);
                    objectsForUpdateList.Add(медведь);
                }

                foreach (Лес лес in dataObjectsForest)
                {
                    лес.SetStatus(ObjectStatus.Deleted);
                    objectsForUpdateList.Add(лес);
                }

                DataObject[] objectsForUpdate = objectsForUpdateList.ToArray();

                ds.UpdateObjects(ref objectsForUpdate);

                int countBearAfter   = ds.GetObjectsCount(lcsBear);
                int countForestAfter = ds.GetObjectsCount(lcsForest);

                // Assert
                Assert.Equal(2, countBearBefore);
                Assert.Equal(1, countForestBefore);

                Assert.Equal(0, countBearAfter);
                Assert.Equal(0, countForestAfter);
            }
        }
Ejemplo n.º 3
0
        public void DetailsDeleteTest()
        {
            foreach (IDataService dataService in DataServices)
            {
                // Arrange
                SQLDataService ds = (SQLDataService)dataService;

                const string First  = "Первый";
                const string Second = "Второй";
                const string Third  = "Третий";
                const string Fourth = "Четвертый";

                ТипЛапы передняяЛапа = new ТипЛапы {
                    Актуально = true, Название = "Передняя"
                };
                ТипЛапы задняяЛапа = new ТипЛапы {
                    Актуально = true, Название = "Задняя"
                };


                Кошка aggregator = new Кошка
                {
                    ДатаРождения = (NullableDateTime)DateTime.Now,
                    Тип          = ТипКошки.Дикая,
                    Порода       = new Порода {
                        Название = "Чеширская"
                    },
                    Кличка = "Мурка"
                };
                aggregator.Лапа.AddRange(
                    new Лапа {
                    Цвет = First, ТипЛапы = передняяЛапа
                },
                    new Лапа {
                    Цвет = Second, ТипЛапы = передняяЛапа
                },
                    new Лапа {
                    Цвет = Third, ТипЛапы = задняяЛапа
                },
                    new Лапа {
                    Цвет = Fourth, ТипЛапы = задняяЛапа
                });

                ds.UpdateObject(aggregator);

                LoadingCustomizationStruct lcsCat      = LoadingCustomizationStruct.GetSimpleStruct(typeof(Кошка), Кошка.Views.КошкаE);
                LoadingCustomizationStruct lcsPaws     = LoadingCustomizationStruct.GetSimpleStruct(typeof(Лапа), Лапа.Views.ЛапаFull);
                LoadingCustomizationStruct lcsPawsType = LoadingCustomizationStruct.GetSimpleStruct(typeof(ТипЛапы), ТипЛапы.Views.ТипЛапыE);

                DataObject[] dataObjectsCats      = ds.LoadObjects(lcsCat);
                DataObject[] dataObjectsPawsTypes = ds.LoadObjects(lcsPawsType);

                // Act
                int countCatBefore      = ds.GetObjectsCount(lcsCat);
                int countPawsBefore     = ds.GetObjectsCount(lcsPaws);
                int countPawsTypeBefore = ds.GetObjectsCount(lcsPawsType);

                List <DataObject> objectsForUpdateList = new List <DataObject>();

                foreach (Кошка кошка in dataObjectsCats)
                {
                    кошка.SetStatus(ObjectStatus.Deleted);
                    objectsForUpdateList.Add(кошка);
                }

                foreach (ТипЛапы типЛапы in dataObjectsPawsTypes)
                {
                    типЛапы.SetStatus(ObjectStatus.Deleted);
                    objectsForUpdateList.Add(типЛапы);
                }

                DataObject[] objectsForUpdate = objectsForUpdateList.ToArray();

                ds.UpdateObjects(ref objectsForUpdate);

                int countCatAfter      = ds.GetObjectsCount(lcsCat);
                int countPawsAfter     = ds.GetObjectsCount(lcsPaws);
                int countPawsTypeAfter = ds.GetObjectsCount(lcsPawsType);

                // Assert
                Assert.Equal(1, countCatBefore);
                Assert.Equal(4, countPawsBefore);
                Assert.Equal(2, countPawsTypeBefore);

                Assert.Equal(0, countCatAfter);
                Assert.Equal(0, countPawsAfter);
                Assert.Equal(0, countPawsTypeAfter);
            }
        }
Ejemplo n.º 4
0
        public void DeleteUpdateAssociationTest()
        {
            foreach (IDataService dataService in DataServices)
            {
                // Arrange.
                SQLDataService ds = dataService as SQLDataService;

                //TODO: Fix OracleDataService error.
                if (dataService is OracleDataService)
                {
                    continue;
                }
                var masterBreedType = new ТипПороды {
                    Название = "тип породы1", ДатаРегистрации = DateTime.Now
                };
                var innerMasterBreed = new Порода {
                    Название = "порода1", ТипПороды = masterBreedType
                };
                var innerMasterCat = new Кошка
                {
                    Кличка       = "кошка",
                    ДатаРождения = (NullableDateTime)DateTime.Now,
                    Тип          = ТипКошки.Дикая,
                    Порода       = innerMasterBreed
                };
                var innerKitten = new Котенок {
                    КличкаКотенка = "котеночек", Кошка = innerMasterCat
                };

                // Act
                ds.UpdateObject(innerKitten);

                LoadingCustomizationStruct lcsKitten    = LoadingCustomizationStruct.GetSimpleStruct(typeof(Котенок), Котенок.Views.КотенокE);
                LoadingCustomizationStruct lcsCat       = LoadingCustomizationStruct.GetSimpleStruct(typeof(Кошка), Кошка.Views.КошкаE);
                LoadingCustomizationStruct lcsBreed     = LoadingCustomizationStruct.GetSimpleStruct(typeof(Порода), Порода.Views.ПородаE);
                LoadingCustomizationStruct lcsBreedType = LoadingCustomizationStruct.GetSimpleStruct(typeof(ТипПороды), ТипПороды.Views.ТипПородыE);

                DataObject[] dataObjectsKitten     = ds.LoadObjects(lcsKitten);
                DataObject[] dataObjectsCats       = ds.LoadObjects(lcsCat);
                DataObject[] dataObjectsBreed      = ds.LoadObjects(lcsBreed);
                DataObject[] dataObjectsBreedTypes = ds.LoadObjects(lcsBreedType);

                int countKittenBefore    = ds.GetObjectsCount(lcsKitten);
                int countCatBefore       = ds.GetObjectsCount(lcsCat);
                int countBreedBefore     = ds.GetObjectsCount(lcsBreed);
                int countBreedTypeBefore = ds.GetObjectsCount(lcsBreed);

                List <DataObject> objectsForUpdateList = new List <DataObject>();

                foreach (Котенок котенок in dataObjectsKitten)
                {
                    котенок.SetStatus(ObjectStatus.Deleted);
                    objectsForUpdateList.Add(котенок);
                }

                foreach (Кошка кошка in dataObjectsCats)
                {
                    кошка.SetStatus(ObjectStatus.Deleted);
                    objectsForUpdateList.Add(кошка);
                }

                foreach (Порода порода in dataObjectsBreed)
                {
                    порода.SetStatus(ObjectStatus.Deleted);
                    objectsForUpdateList.Add(порода);
                }

                foreach (ТипПороды типПороды in dataObjectsBreedTypes)
                {
                    типПороды.SetStatus(ObjectStatus.Deleted);
                    objectsForUpdateList.Add(типПороды);
                }

                DataObject[] objectsForUpdate = objectsForUpdateList.ToArray();

                ds.UpdateObjects(ref objectsForUpdate);

                int countKittenAfter    = ds.GetObjectsCount(lcsKitten);
                int countCatAfter       = ds.GetObjectsCount(lcsCat);
                int countBreedAfter     = ds.GetObjectsCount(lcsBreed);
                int countBreedTypeAfter = ds.GetObjectsCount(lcsBreedType);

                // Assert
                Assert.Equal(1, countKittenBefore);
                Assert.Equal(1, countCatBefore);
                Assert.Equal(1, countBreedBefore);
                Assert.Equal(1, countBreedTypeBefore);

                Assert.Equal(0, countKittenAfter);
                Assert.Equal(0, countCatAfter);
                Assert.Equal(0, countBreedAfter);
                Assert.Equal(0, countBreedTypeAfter);
            }
        }
Ejemplo n.º 5
0
        public void DeleteAggregatorWithManyDetailsAndAssociationTest()
        {
            foreach (IDataService dataService in DataServices)
            {
                // Arrange.
                SQLDataService ds = dataService as SQLDataService;

                //TODO: Fix OracleDataService error.
                if (dataService is OracleDataService)
                {
                    continue;
                }

                var пользователь = new Пользователь {
                    ФИО = "фио"
                };
                var критерийОценки = new КритерийОценки {
                    ПорядковыйНомер = 4
                };
                var конкурс = new Конкурс {
                    Название = "название", Организатор = пользователь
                };
                конкурс.КритерииОценки.Add(критерийОценки);
                var aggregatorIdea = new Идея {
                    Заголовок = "агрегатор1", Автор = пользователь, Конкурс = конкурс
                };
                aggregatorIdea.Файлы.Add(new ФайлИдеи {
                    Владелец = пользователь
                });
                var masterAndDetail = new ЗначениеКритерия {
                    Значение = "значение1", Критерий = критерийОценки
                };
                aggregatorIdea.ОценкиЭкспертов.Add(new ОценкаЭксперта {
                    ЗначениеОценки = 2, ЗначениеКритерия = masterAndDetail, Эксперт = пользователь
                });
                aggregatorIdea.ЗначенияКритериев.Add(masterAndDetail);

                ds.UpdateObject(aggregatorIdea);

                // Act & Assert.
                LoadingCustomizationStruct lcsAggregator = LoadingCustomizationStruct.GetSimpleStruct(typeof(Идея), Идея.Views.ИдеяE);
                LoadingCustomizationStruct lcsDetail1    = LoadingCustomizationStruct.GetSimpleStruct(typeof(ФайлИдеи), ФайлИдеи.Views.ФайлE);
                LoadingCustomizationStruct lcsDetail2    = LoadingCustomizationStruct.GetSimpleStruct(typeof(ОценкаЭксперта), ОценкаЭксперта.Views.ОценкаЭкспертаE);
                LoadingCustomizationStruct lcsDetail3    = LoadingCustomizationStruct.GetSimpleStruct(typeof(ЗначениеКритерия), ЗначениеКритерия.Views.ЗначениеКритерияE);

                DataObject[] dataObjectsAggregator = ds.LoadObjects(lcsAggregator);
                DataObject[] dataObjectsDetail1    = ds.LoadObjects(lcsDetail1);
                DataObject[] dataObjectsDetail2    = ds.LoadObjects(lcsDetail2);
                DataObject[] dataObjectsDetail3    = ds.LoadObjects(lcsDetail3);

                // Act
                int countAggregatorBefore = ds.GetObjectsCount(lcsAggregator);
                int countDetail1Before    = ds.GetObjectsCount(lcsDetail1);
                int countDetail2Before    = ds.GetObjectsCount(lcsDetail2);
                int countDetail3Before    = ds.GetObjectsCount(lcsDetail3);

                List <DataObject> objectsForUpdateList = new List <DataObject>();

                foreach (Идея идея in dataObjectsAggregator)
                {
                    идея.SetStatus(ObjectStatus.Deleted);
                    objectsForUpdateList.Add(идея);
                }

                foreach (ФайлИдеи файл in dataObjectsDetail1)
                {
                    файл.SetStatus(ObjectStatus.Deleted);
                    objectsForUpdateList.Add(файл);
                }

                foreach (ОценкаЭксперта оценка in dataObjectsDetail2)
                {
                    оценка.SetStatus(ObjectStatus.Deleted);
                    objectsForUpdateList.Add(оценка);
                }

                foreach (ЗначениеКритерия критерий in dataObjectsDetail3)
                {
                    критерий.SetStatus(ObjectStatus.Deleted);
                    objectsForUpdateList.Add(критерий);
                }

                DataObject[] objectsForUpdate = objectsForUpdateList.ToArray();

                ds.UpdateObjects(ref objectsForUpdate);

                int countAggregatorAfter = ds.GetObjectsCount(lcsAggregator);
                int countDetail1After    = ds.GetObjectsCount(lcsDetail1);
                int countDetail2After    = ds.GetObjectsCount(lcsDetail2);
                int countDetail3After    = ds.GetObjectsCount(lcsDetail3);

                // Assert
                Assert.Equal(1, countAggregatorBefore);
                Assert.Equal(1, countDetail1Before);
                Assert.Equal(1, countDetail2Before);
                Assert.Equal(1, countDetail3Before);

                Assert.Equal(0, countAggregatorAfter);
                Assert.Equal(0, countDetail1After);
                Assert.Equal(0, countDetail2After);
                Assert.Equal(0, countDetail3After);
            }
        }