private static void ParseContactRequests(Dictionary<string, byte[]> maps) { foreach (var map in maps) { try { var contactMap = Deserialize(map.Value); uint contactId = uint.Parse(map.Key); if (!Cache.Users.ContainsKey(contactId)) Cache.Users[contactId] = new Contact(); var contact = Cache.Users[contactId]; contact.ContactID = contactId; contact.Nickname = Encoding.GetEncoding("windows-1252").GetString(contactMap["name"]); Cache.Users[contactId] = contact; var contactRequest = new ContactRequest(); contactRequest.ContactID = contactId; contactRequest.Nickname = Encoding.GetEncoding("windows-1252").GetString(contactMap["nickname"]); contactRequest.Message = Encoding.GetEncoding("windows-1252").GetString(contactMap["mesg"]); Cache.ContactRequests[contactId] = contactRequest; } catch (FormatException) { Console.WriteLine("Unable to parse contact request. Ignoring contact"); } catch (OverflowException) { Console.WriteLine("Unable to parse contact request. Ignoring contact"); } } }