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); }
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)); }