示例#1
0
        public void Test_Country_Delete()
        {
            var country = new Country()
            {
                DetachedState     = DetachedState.Added,
                Capital           = countryCapitalDelete,
                ISO2              = countryISO2Delete,
                ISO3              = countryISO3Delete,
                ISOName           = countryISONameDelete,
                ISONumeric        = countryISONumericDelete,
                Name              = countryNameDelete,
                OfficialName      = countryOfficialNameDelete,
                OfficialNameLocal = countryOfficialNameLocalDelete
            };

            using (var entityManager = new CountriesEntityManager()) {
                var continent = entityManager.Set <Continent>()
                                .Where(x => x.Name == continentName)
                                .Single();
                country.Continent = continent;

                var currency = entityManager.Set <Currency>()
                               .Where(x => x.Code == currencyCode)
                               .Single();
                country.Currencies.Add(currency);

                var validationResults = Get_Validation_Results(country);
                Assert.AreEqual(expected: 0, actual: validationResults.Count);

                entityManager.AddEntity <Country>(country);
                int updateCount = entityManager.SaveChanges();
                Assert.AreNotEqual(notExpected: 0, actual: updateCount);
            }

            using (var entityManager = new CountriesEntityManager()) {
                var countryFromDb = entityManager.Set <Country>()
                                    .Where(x => (x.Id == country.Id))
                                    // need to include related entities
                                    .Include(x => x.Currencies)
                                    .Include(x => x.Continent)
                                    .SingleOrDefault();

                Assert.IsNotNull(countryFromDb);

                entityManager.RemoveEntity <Country>(countryFromDb);
                int updateCount = entityManager.SaveChanges();
                Assert.AreNotEqual(notExpected: 0, actual: updateCount);

                countryFromDb = entityManager.Set <Country>()
                                .Where(x => (x.Id == country.Id))
                                .SingleOrDefault();

                Assert.IsNull(countryFromDb);
            }
        }
示例#2
0
        public void Test_TimeZone_Delete()
        {
            var timeZone = new Countries.DomainModel.TimeZone()
            {
                DetachedState   = DetachedState.Added,
                TimeZoneAcronym = timeZoneAbbreviationDelete,
                TimeZoneName    = timeZoneNameDelete,
                UTCOffset       = timeZoneUTCOffsetDelete
            };

            var validationResults = Get_Validation_Results(timeZone);

            Assert.AreEqual(expected: 0, actual: validationResults.Count);

            using (var entityManager = new CountriesEntityManager()) {
                entityManager.AddEntity <Countries.DomainModel.TimeZone>(timeZone);
                int updateCount = entityManager.SaveChanges();
                Assert.AreNotEqual(notExpected: 0, actual: updateCount);
            }

            using (var entityManager = new CountriesEntityManager()) {
                var timeZoneFromDb = entityManager.Set <Countries.DomainModel.TimeZone>()
                                     .Where(x => (x.Id == timeZone.Id))
                                     .SingleOrDefault();

                Assert.IsNotNull(timeZoneFromDb);
            }

            var timeZoneToDelete = new Countries.DomainModel.TimeZone()
            {
                DetachedState = DetachedState.Deleted,
                Id            = timeZone.Id,
                RowVersion    = timeZone.RowVersion
            };

            using (var entityManager = new CountriesEntityManager()) {
                entityManager.RemoveEntity <Countries.DomainModel.TimeZone>(timeZoneToDelete);
                int updateCount = entityManager.SaveChanges();
                Assert.AreNotEqual(notExpected: 0, actual: updateCount);
            }

            using (var entityManager = new CountriesEntityManager()) {
                var timeZoneFromDb = entityManager.Set <Countries.DomainModel.TimeZone>()
                                     .Where(x => (x.Id == timeZone.Id))
                                     .SingleOrDefault();

                Assert.IsNull(timeZoneFromDb);
            }
        }
示例#3
0
        public void Test_Currency_Delete()
        {
            var currency = new Currency()
            {
                DetachedState = DetachedState.Added,
                Code          = currencyCodeDelete,
                DecimalDigits = 2,
                Name          = currencyNameDelete
            };

            var validationResults = Get_Validation_Results(currency);

            Assert.AreEqual(expected: 0, actual: validationResults.Count);

            using (var entityManager = new CountriesEntityManager()) {
                entityManager.AddEntity <Currency>(currency);
                int updateCount = entityManager.SaveChanges();
                Assert.AreNotEqual(notExpected: 0, actual: updateCount);
            }

            using (var entityManager = new CountriesEntityManager()) {
                var currencyFromDb = entityManager.Set <Currency>()
                                     .Where(x => (x.Id == currency.Id))
                                     .SingleOrDefault();

                Assert.IsNotNull(currencyFromDb);
            }

            var currencyToDelete = new Currency()
            {
                DetachedState = DetachedState.Deleted,
                Id            = currency.Id,
                RowVersion    = currency.RowVersion
            };

            using (var entityManager = new CountriesEntityManager()) {
                entityManager.RemoveEntity <Currency>(currencyToDelete);
                int updateCount = entityManager.SaveChanges();
                Assert.AreNotEqual(notExpected: 0, actual: updateCount);
            }

            using (var entityManager = new CountriesEntityManager()) {
                var currencyFromDb = entityManager.Set <Currency>()
                                     .Where(x => (x.Id == currency.Id))
                                     .SingleOrDefault();

                Assert.IsNull(currencyFromDb);
            }
        }
示例#4
0
        public void Test_Continent_Delete()
        {
            var continent = new Continent()
            {
                DetachedState = DetachedState.Added,
                Abbreviation  = continentAbbreviationDelete,
                Name          = continentNameDelete
            };

            var validationResults = Get_Validation_Results(continent);

            Assert.AreEqual(expected: 0, actual: validationResults.Count);

            using (var entityManager = new CountriesEntityManager()) {
                entityManager.AddEntity <Continent>(continent);
                int updateCount = entityManager.SaveChanges();
                Assert.AreNotEqual(notExpected: 0, actual: updateCount);
            }

            using (var entityManager = new CountriesEntityManager()) {
                var continentFromDb = entityManager.Set <Continent>()
                                      .Where(x => (x.Id == continent.Id))
                                      .SingleOrDefault();

                Assert.IsNotNull(continentFromDb);
            }

            var continentToDelete = new Continent()
            {
                DetachedState = DetachedState.Deleted, Id = continent.Id
            };

            using (var entityManager = new CountriesEntityManager()) {
                entityManager.RemoveEntity <Continent>(continentToDelete);
                int updateCount = entityManager.SaveChanges();
                Assert.AreNotEqual(notExpected: 0, actual: updateCount);
            }

            using (var entityManager = new CountriesEntityManager()) {
                var continentFromDb = entityManager.Set <Continent>()
                                      .Where(x => (x.Id == continent.Id))
                                      .SingleOrDefault();

                Assert.IsNull(continentFromDb);
            }
        }
示例#5
0
        public void Test_CallingCode_Delete()
        {
            var callingCode = new CallingCode()
            {
                DetachedState     = DetachedState.Added,
                CallingCodeNumber = callingCodeNumberDelete
            };

            var validationResults = Get_Validation_Results(callingCode);

            Assert.AreEqual(expected: 0, actual: validationResults.Count);

            using (var entityManager = new CountriesEntityManager()) {
                entityManager.AddEntity <CallingCode>(callingCode);
                int updateCount = entityManager.SaveChanges();
                Assert.AreNotEqual(notExpected: 0, actual: updateCount);
            }

            using (var entityManager = new CountriesEntityManager()) {
                var callingCodeFromDb = entityManager.Set <CallingCode>()
                                        .Where(x => (x.Id == callingCode.Id))
                                        .SingleOrDefault();

                Assert.IsNotNull(callingCodeFromDb);
            }

            var callingCodeToDelete = new CallingCode()
            {
                DetachedState = DetachedState.Deleted, Id = callingCode.Id
            };

            using (var entityManager = new CountriesEntityManager()) {
                entityManager.RemoveEntity <CallingCode>(callingCodeToDelete);
                int updateCount = entityManager.SaveChanges();
                Assert.AreNotEqual(notExpected: 0, actual: updateCount);
            }

            using (var entityManager = new CountriesEntityManager()) {
                var callingCodeFromDb = entityManager.Set <CallingCode>()
                                        .Where(x => (x.Id == callingCode.Id))
                                        .SingleOrDefault();

                Assert.IsNull(callingCodeFromDb);
            }
        }