private async Task AddToGroup(AdmuGroup group, IEnumerable <int> items) { foreach (var id in items) { // This is slow, but at our current and future scales, it won't really matter. if (group.GroupType == AdmuGroupEntityTypes.Critter) { await this.data.MultiReference <Critter>().AddAsync(group, this.livestockDb.Critter.Find(id)); } else if (group.GroupType == AdmuGroupEntityTypes.User) { await this.data.MultiReference <User>().AddAsync(group, this.loginDb.Users.Find(id)); } else { throw new InvalidOperationException(); } } }
private IQueryable <MappingInfo> GetMappingInfo(AdmuGroup group) { return((group.GroupType == AdmuGroupEntityTypes.Critter) ? this.data.MultiReference <Critter>().GetAllMappingInfoForSingle(group) : this.data.MultiReference <User>().GetAllMappingInfoForSingle(group)); }