public async Task GetSafeUsers(SafeUsersCommand safeUsersCommand, Contexts contexts) { var safeUsersIds = this._checkUserSafetyService.GetSafeUsersIds(contexts.Server.Id); var values = new List <KeyValuePair <string, string> >(); foreach (var safeUserId in safeUsersIds) { var user = await this._usersService.GetUserByIdAsync(contexts.Server, safeUserId); values.Add(new KeyValuePair <string, string>($"{user.Mention} -", user.JoinedServerAt()?.ToLocalTimeString() ?? "nieznana data")); } var messagesService = this._messagesServiceFactory.Create(contexts); if (!values.Any()) { await messagesService.SendEmbedMessage("Zaufani użytkownicy", "Serwer nie posiada zaufanych użytkowników", new Dictionary <string, string>()); return; } var safeUsers = new Dictionary <string, Dictionary <string, string> > { { "Zaufani użytkownicy", new Dictionary <string, string>(values) } }; await messagesService.SendEmbedMessage( "Zaufani użytkownicy", $"Lista zaufanych użytkowników na serwerze {contexts.Server.Name}", safeUsers); }
public async Task GetSafeUsers(SafeUsersCommand safeUsersCommand, Contexts contexts) { var safeUsersIds = this._checkUserSafetyService.GetSafeUsersIds(contexts.Server.Id); var users = safeUsersIds.ToAsyncEnumerable() .SelectAwait(async x => await this._usersService.GetUserByIdAsync(contexts.Server, x)) .OrderBy(x => x.JoinedServerAt()); var values = await users.Select(user => new KeyValuePair <string, string>($"{user.Mention} -", user.JoinedServerAt()?.ToLocalTimeString() ?? string.Empty)) .ToListAsync(); var messagesService = this._messagesServiceFactory.Create(contexts); if (!values.Any()) { await messagesService.SendEmbedMessage("Zaufani użytkownicy", "Serwer nie posiada zaufanych użytkowników", new Dictionary <string, string>()); return; } var safeUsersDict = new Dictionary <string, Dictionary <string, string> > { { "Zaufani użytkownicy", new Dictionary <string, string>(values) } }; await messagesService.SendEmbedMessage( "Zaufani użytkownicy", $"Lista zaufanych użytkowników na serwerze {contexts.Server.Name}", safeUsersDict); }