public static async Task GivenARegionHierarchyAsync(this GivenAnyContext context)
        {
            var coreDbContext = context.GetCoreDbContext();

            foreach (var region in _regions)
            {
                var id = string.Empty;
                if (region.ParentId != Constants.RootRegionId)
                {
                    id += region.ParentId + "/";
                }
                id += region.Name.ToLower().Replace(' ', '-');

                await coreDbContext.Regions.AddAsync(new RegionEntity()
                {
                    Id       = id,
                    ParentId = region.ParentId,
                    DataJson = JsonConvert.SerializeObject(new
                    {
                        region.Name
                    }),
                    DataJsonVersion = 1
                });
            }
            await coreDbContext.SaveChangesAsync();
        }
        public static async Task <RegionMembershipEntity> GivenARegionMembershipAsync(
            this GivenAnyContext context,
            string email,
            string regionId,
            string regionRoleId)
        {
            var coreDbContext = context.GetCoreDbContext();

            var region = await coreDbContext.GetRegionByIdAsync(regionId);

            if (region == null)
            {
                throw new Exception("Region does not exist");
            }

            var regionRole = await coreDbContext.RegionRoles.FindAsync(regionRoleId);

            if (regionRole == null)
            {
                throw new Exception("Region role does not exist");
            }

            var result = await coreDbContext.RegionMemberships.AddAsync(new RegionMembershipEntity()
            {
                UserEmail    = email,
                RegionId     = region.Id,
                RegionRoleId = regionRoleId
            });

            await coreDbContext.SaveChangesAsync();

            return(result.Entity);
        }
Пример #3
0
        public static async Task GivenAnEventAsync(
            this GivenAnyContext context,
            EventEntity ev)
        {
            var dbContext = context.GetCoreDbContext();

            await dbContext.Events.AddAsync(ev);

            await dbContext.SaveChangesAsync();
        }
 public static async Task <RegionEntity> GetAGivenRegionById(this GivenAnyContext context, string id)
 {
     return(await context.GetCoreDbContext().Regions.FindAsync(id));
 }