private static (ModixContext, GuildRoleRepository) BuildTestContext() { var modixContext = TestDataContextFactory.BuildTestDataContext(x => { x.GuildRoles.AddRange(GuildRoles.Entities.Clone()); }); var uut = new GuildRoleRepository(modixContext); return(modixContext, uut); }
/// <inheritdoc /> public async Task TrackRoleAsync(IRole role) { using (var transaction = await GuildRoleRepository.BeginCreateTransactionAsync()) { if (!await GuildRoleRepository.TryUpdateAsync(role.Id, data => { data.Name = role.Name; data.Position = role.Position; })) { await GuildRoleRepository.CreateAsync(new GuildRoleCreationData() { RoleId = role.Id, GuildId = role.Guild.Id, Name = role.Name, Position = role.Position }); } transaction.Commit(); } }