public async Task <Result> Handle(GuildLeaveCommand command, CancellationToken cancellationToken) { var guild = await _context.Guilds.Include(x => x.PostHistories).Include(x => x.GuildAdmins).Include(x => x.GuildPlaylists).Include(x => x.BannedSubreddits).Include(x => x.GuildSetting).Include(x => x.GuildChannels).Include(x => x.BannedSubreddits).FirstOrDefaultAsync(guild => guild.Id == command.GuildId, cancellationToken); if (guild == null) { return((await Result.FailAsync("Guild not found")) as Result); } _context.Guilds.Remove(guild); await _context.SaveChangesAsync(cancellationToken); return((await Result.SuccessAsync()) as Result); }
public async Task <IActionResult> GuildLeave(GuildLeaveCommand command) { return(Ok(await Mediator.Send(command))); }