예제 #1
0
        public async virtual Task <VPerson> Create(VPerson item)
        {
            this.Context.Set <VPerson>().Add(item);
            await this.Context.SaveChangesAsync();

            this.Context.Entry(item).State = EntityState.Detached;
            return(item);
        }
예제 #2
0
        public virtual async Task Migrate()
        {
            var columnSameAsFKTableItem1 = new ColumnSameAsFKTable();

            columnSameAsFKTableItem1.SetProperties(1, 1, 1);
            this.Context.ColumnSameAsFKTables.Add(columnSameAsFKTableItem1);

            var includedColumnTestItem1 = new IncludedColumnTest();

            includedColumnTestItem1.SetProperties(1, "A", "A");
            this.Context.IncludedColumnTests.Add(includedColumnTestItem1);

            var personItem1 = new Person();

            personItem1.SetProperties(1, "A");
            this.Context.People.Add(personItem1);

            var rowVersionCheckItem1 = new RowVersionCheck();

            rowVersionCheckItem1.SetProperties(1, "A", Guid.Parse("8420cdcf-d595-ef65-66e7-dff9f98764da"));
            this.Context.RowVersionChecks.Add(rowVersionCheckItem1);

            var selfReferenceItem1 = new SelfReference();

            selfReferenceItem1.SetProperties(1, 1, 1);
            this.Context.SelfReferences.Add(selfReferenceItem1);

            var tableItem1 = new Table();

            tableItem1.SetProperties(1, "A");
            this.Context.Tables.Add(tableItem1);

            var testAllFieldTypeItem1 = new TestAllFieldType();

            testAllFieldTypeItem1.SetProperties(1, 1, BitConverter.GetBytes(1), true, "A", DateTime.Parse("1/1/1987 12:00:00 AM"), DateTime.Parse("1/1/1987 12:00:00 AM"), DateTime.Parse("1/1/1987 12:00:00 AM"), DateTimeOffset.Parse("1/1/1987 12:00:00 AM"), 1m, 1, BitConverter.GetBytes(1), 1m, "A", "A", 1m, "A", 1m, DateTime.Parse("1/1/1987 12:00:00 AM"), 1, 1m, "A", TimeSpan.Parse("01:00:00"), BitConverter.GetBytes(1), 1, Guid.Parse("8420cdcf-d595-ef65-66e7-dff9f98764da"), BitConverter.GetBytes(1), "A", "A");
            this.Context.TestAllFieldTypes.Add(testAllFieldTypeItem1);

            var testAllFieldTypesNullableItem1 = new TestAllFieldTypesNullable();

            testAllFieldTypesNullableItem1.SetProperties(1, 1, BitConverter.GetBytes(1), true, "A", DateTime.Parse("1/1/1987 12:00:00 AM"), DateTime.Parse("1/1/1987 12:00:00 AM"), DateTime.Parse("1/1/1987 12:00:00 AM"), DateTimeOffset.Parse("1/1/1987 12:00:00 AM"), 1m, 1, BitConverter.GetBytes(1), 1m, "A", "A", 1m, "A", 1m, DateTime.Parse("1/1/1987 12:00:00 AM"), 1, 1m, "A", TimeSpan.Parse("01:00:00"), BitConverter.GetBytes(1), 1, Guid.Parse("8420cdcf-d595-ef65-66e7-dff9f98764da"), BitConverter.GetBytes(1), "A", "A");
            this.Context.TestAllFieldTypesNullables.Add(testAllFieldTypesNullableItem1);

            var timestampCheckItem1 = new TimestampCheck();

            timestampCheckItem1.SetProperties(1, "A", BitConverter.GetBytes(1));
            this.Context.TimestampChecks.Add(timestampCheckItem1);

            var vPersonItem1 = new VPerson();

            vPersonItem1.SetProperties(1, "A");
            this.Context.VPersons.Add(vPersonItem1);

            await this.Context.SaveChangesAsync();
        }
예제 #3
0
        public async virtual Task Delete(
            int personId)
        {
            VPerson record = await this.GetById(personId);

            if (record == null)
            {
                return;
            }
            else
            {
                this.Context.Set <VPerson>().Remove(record);
                await this.Context.SaveChangesAsync();
            }
        }
예제 #4
0
        public async virtual Task Update(VPerson item)
        {
            var entity = this.Context.Set <VPerson>().Local.FirstOrDefault(x => x.PersonId == item.PersonId);

            if (entity == null)
            {
                this.Context.Set <VPerson>().Attach(item);
            }
            else
            {
                this.Context.Entry(entity).CurrentValues.SetValues(item);
            }

            await this.Context.SaveChangesAsync();
        }
예제 #5
0
        public async void Create()
        {
            Mock <ILogger <VPersonRepository> > loggerMoc = VPersonRepositoryMoc.GetLoggerMoc();
            ApplicationDbContext context = VPersonRepositoryMoc.GetContext();
            var repository = new VPersonRepository(loggerMoc.Object, context);

            var entity = new VPerson();

            entity.SetProperties(default(int), "B");
            await repository.Create(entity);

            var records = await context.Set <VPerson>().ToListAsync();

            records.Count.Should().Be(2);
        }
예제 #6
0
        public async void Get()
        {
            Mock <ILogger <VPersonRepository> > loggerMoc = VPersonRepositoryMoc.GetLoggerMoc();
            ApplicationDbContext context = VPersonRepositoryMoc.GetContext();
            var repository = new VPersonRepository(loggerMoc.Object, context);

            VPerson entity = new VPerson();

            context.Set <VPerson>().Add(entity);
            await context.SaveChangesAsync();

            var record = await repository.Get(entity.PersonId);

            record.Should().NotBeNull();
        }
예제 #7
0
        public async void DeleteFound()
        {
            Mock <ILogger <VPersonRepository> > loggerMoc = VPersonRepositoryMoc.GetLoggerMoc();
            ApplicationDbContext context = VPersonRepositoryMoc.GetContext();
            var     repository           = new VPersonRepository(loggerMoc.Object, context);
            VPerson entity = new VPerson();

            entity.SetProperties(default(int), "B");
            context.Set <VPerson>().Add(entity);
            await context.SaveChangesAsync();

            await repository.Delete(entity.PersonId);

            var records = await context.Set <VPerson>().ToListAsync();

            records.Count.Should().Be(1);
        }
예제 #8
0
        public async void Update_Entity_Is_Not_Tracked()
        {
            Mock <ILogger <VPersonRepository> > loggerMoc = VPersonRepositoryMoc.GetLoggerMoc();
            ApplicationDbContext context = VPersonRepositoryMoc.GetContext();
            var     repository           = new VPersonRepository(loggerMoc.Object, context);
            VPerson entity = new VPerson();

            entity.SetProperties(default(int), "B");
            context.Set <VPerson>().Add(entity);
            await context.SaveChangesAsync();

            context.Entry(entity).State = EntityState.Detached;

            await repository.Update(entity);

            var records = await context.Set <VPerson>().ToListAsync();

            records.Count.Should().Be(2);
        }