Esempio n. 1
0
        public static async Task <IEntityGateway> CreateEntityGatewayAsync(EntityGatewayLoader input)
        {
            if (input == null)
            {
                input = new EntityGatewayLoader();
            }

            var modelRepositoryContext = new ModelRepositoryContext(
                new DbContextOptionsBuilder <ModelRepositoryContext>()
                .UseInMemoryDatabase(Guid.NewGuid().ToString())
                .Options);

            if (input.Clubs.Any())
            {
                await modelRepositoryContext.ClubModelDbSet
                .AddRangeAsync(input.Clubs.Select(m => m.GetModel()).ToArray());
            }

            if (input.Users.Any())
            {
                await modelRepositoryContext.UserModelDbSet
                .AddRangeAsync(input.Users.Select(m => m.GetModel()).ToArray());
            }

            await modelRepositoryContext.SaveChangesAsync();

            return(new EntityGateway(modelRepositoryContext));
        }
Esempio n. 2
0
        public static async Task <IEntityGateway> CreateEntityGatewayAsync(Club[] clubs)
        {
            var modelRepositoryContext = new ModelRepositoryContext(
                new DbContextOptionsBuilder <ModelRepositoryContext>()
                .UseInMemoryDatabase(Guid.NewGuid().ToString())
                .Options);

            await modelRepositoryContext.ClubModelDbSet
            .AddRangeAsync(clubs.Select(m => m.GetModel()).ToArray());

            await modelRepositoryContext.SaveChangesAsync();


            return(new EntityGateway(modelRepositoryContext));
        }
 //constructors
 public EntityGateway(ModelRepositoryContext context)
 {
     _modelRepository = context ?? throw new ArgumentNullException(nameof(context));
 }