private async void ChatOnRosterReceived(object sender, RosterReceivedEventArgs e) { try { UberChatClient client = (UberChatClient) sender; RiotAccount account = client.Account; Contact[] contacts = e.Contacts; long[] summonerIds = Enumerable.ToArray<long>(Enumerable.Select<Contact, long>((IEnumerable<Contact>) contacts, (Func<Contact, long>) (c => JsApiService.GetSummonerIdFromJid(c.Jid)))); string[] summonerNames = await account.InvokeAsync<string[]>("summonerService", "getSummonerNames", new object[1] { (object) summonerIds }); for (int index = 0; index < contacts.Length; ++index) { Contact contact = contacts[index]; string str = summonerNames[index]; if (!(contact.Name == str)) { contact.Name = str; this.OnContactUpdated(client, ContactsNotificationService.JsContact.Create(client, contact)); client.Contacts.Update(contact.BareJid, contact.Name, contact.Groups); } } } catch (Exception ex) { } }
private async void ChatOnRosterReceived(object sender, RosterReceivedEventArgs args) { try { UberChatClient uberChatClient = (UberChatClient)sender; RiotAccount account = uberChatClient.Account; Contact[] contacts = args.Contacts; Contact[] contactArray = contacts; long[] array = ( from c in (IEnumerable<Contact>)contactArray select JsApiService.GetSummonerIdFromJid(c.Jid)).ToArray<long>(); RiotAccount riotAccount = account; object[] objArray = new object[] { array }; string[] strArrays = await riotAccount.InvokeAsync<string[]>("summonerService", "getSummonerNames", objArray); for (int i = 0; i < (int)contacts.Length; i++) { Contact contact = contacts[i]; string str = strArrays[i]; if (contact.Name != str) { contact.Name = str; this.OnContactUpdated(uberChatClient, ContactsNotificationService.JsContact.Create(uberChatClient, contact)); uberChatClient.Contacts.Update(contact.BareJid, contact.Name, contact.Groups); } } } catch (Exception exception) { } }