public async Task Wage(int value, [Remainder] string username) { await Context.Channel.DeleteMessageAsync(Context.Message); var routing = FinanseRoomRouting.Get(); var clients = routing.Cash.Rooms? .SelectMany(_ => _.Clients); var client = routing.Cash.Rooms? .SelectMany(_ => _.Clients)? .Where(_ => _.Name != null) .FirstOrDefault(_ => _.Name.ToString().ToLower().Contains(username.ToLower())); if (client == null) { await Context.Channel.SendMessageAsync($"Пользователь {username} не найден"); return; } else { var builder = new EmbedBuilder(); var footer = new EmbedFooterBuilder(); client.AddUSDBalance(value); builder.WithTitle($"{Context.Channel.Name}"); builder.WithDescription($"{client.Name}: зачеслено {value}$"); footer.WithText($"Итоговый дебет: {client.USDBalance}"); builder.WithFooter(footer); await Context.Channel.SendMessageAsync("", false, builder.Build()); } }
private FinanceRoom RouteRoom() { var room = FinanseRoomRouting.Get().Cash.Rooms.FirstOrDefault(_ => _.Id == Context.Channel.Id); if (room == null) { room = new FinanceRoom(Context.Channel.Id); FinanseRoomRouting.Get().CreateRoom(room); } return(room); }
public async Task Pay() { var routing = FinanseRoomRouting.Get(); var clients = routing.Cash.Rooms? .SelectMany(_ => _.Clients); var str = new StringBuilder(); foreach (var client in clients) { if (client.USDBalance == 0) { continue; } str.AppendLine($"**{client.Name}**: {client.USDBalance} USD"); } var sum = clients.Sum(_ => _.USDBalance); str.AppendLine($"**Всего**: {sum} USD"); await Context.Message.DeleteAsync(); await Context.Channel.SendMessageAsync(str.ToString()); foreach (var room in routing.Cash.Rooms) { var channel = Context.Guild.GetTextChannel(room.Id); foreach (var item in room.Clients) { try { var builder = new EmbedBuilder(); builder.WithTitle(channel.Name); builder.WithDescription($"{item.Name} ОПЛАЧЕНО: {item.USDBalance}$"); await channel.SendMessageAsync("", false, item.PayEmbedBuild()); item.RefrashBalance(); } catch (Exception) { } } } }
public async Task Set(int value, [Remainder] string username) { await Context.Channel.DeleteMessageAsync(Context.Message); var routing = FinanseRoomRouting.Get(); var room = routing.Cash.Rooms.FirstOrDefault(_ => _.Id == Context.Channel.Id); if (room == null) { await Context.User.SendMessageAsync($"Ошибка запроса: комната не была инициализирована"); return; } var client = room.Clients.FirstOrDefault(_ => _.Name.ToLower().Contains(username.ToLower())); if (client == null) { await Context.User.SendMessageAsync($"Пользователь с ником {username} не найден"); } client.AddBalance(value); await Context.Channel.SendMessageAsync("", false, client.BalanceBuild()); }
public async Task Wage() { await Context.Channel.DeleteMessageAsync(Context.Message); var routing = FinanseRoomRouting.Get(); var clients = routing.Cash.Rooms? .SelectMany(_ => _.Clients); var str = new StringBuilder(); foreach (var client in clients) { if (client.USDBalance == 0) { continue; } str.AppendLine($"**{client.Name}**: {client.USDBalance} USD"); } var sum = clients.Sum(_ => _.USDBalance); str.AppendLine($"**Всего**: {sum} USD"); await Context.Channel.SendMessageAsync(str.ToString()); }