예제 #1
0
        public void Test_EFRepository_CreateOrUpdate()
        {
            var options = new DbContextOptionsBuilder <ImmoContext>().UseInMemoryDatabase(databaseName: "Test_EFRepository_CreateOrUpdate").Options;

            using (var context = new ImmoContext(options))
            {
                new ImmoSeeder(context).Seed();

                var propertiesRepository = new EFReadWriteRepositoryBase <Property, Guid>(context);
                propertiesRepository.DeleteById(SeedValues.Properties.MyApartmentWemmel.Id);
                context.SaveChanges();

                Assert.True(propertiesRepository.GetAll().Count() == 0);
                propertiesRepository.CreateOrUpdate(SeedValues.Properties.MyApartmentWemmel);

                var properties  = propertiesRepository.GetAll();
                var myApartment = propertiesRepository.GetById(SeedValues.Properties.MyApartmentWemmel.Id);
                Assert.True(properties.Count() == 1);
                Assert.True(myApartment.Id == SeedValues.Properties.MyApartmentWemmel.Id);

                myApartment.OriginalURL = "test";
                propertiesRepository.CreateOrUpdate(myApartment);

                var myApartmentAfterUpdate = propertiesRepository.GetById(SeedValues.Properties.MyApartmentWemmel.Id);
                Assert.True(myApartmentAfterUpdate.OriginalURL == myApartment.OriginalURL);
            }
        }
예제 #2
0
        protected IEnumerable <Property> SaveProperties(IEnumerable <Property> properties)
        {
            using (ImmoContext dbContext = new ImmoContextFactory().CreateDbContext())
            {
                var repository = new EFReadWriteRepositoryBase <Property, Guid>(dbContext);
                repository.CreateOrUpdate(properties);
            }

            return(properties);
        }
예제 #3
0
        public void Test_EFRepository_Delete()
        {
            var options = new DbContextOptionsBuilder <ImmoContext>().UseInMemoryDatabase(databaseName: "Test_EFRepository_Delete").Options;

            using (var context = new ImmoContext(options))
            {
                new ImmoSeeder(context).Seed();

                var propertiesRepository = new EFReadWriteRepositoryBase <Property, Guid>(context);
                propertiesRepository.DeleteByIds(new List <Guid> {
                    SeedValues.Properties.MyApartmentWemmel.Id
                });
                context.SaveChanges();
                Assert.True(propertiesRepository.GetAll().Count() == 0);
            }
        }