private void ImportContacts(string userGuid, string accessToken) { var responseString = RequestHelper.PerformRequest(string.Format(YahooLoginProvider.YahooUrlContactsFormat, userGuid), headers: new Dictionary <string, string> { { "Authorization", "Bearer " + accessToken } }); const string xmlns = "http://social.yahooapis.com/v1/schema.rng"; var contactsDocument = XDocument.Parse(responseString); var contacts = from entry in contactsDocument.Root.Elements(XName.Get("contact", xmlns)) select new { Name = from field in entry.Elements(XName.Get("fields", xmlns)) where field.Element(XName.Get("type", xmlns)).Value == "name" select field.Element(XName.Get("value", xmlns)).Element(XName.Get("givenName", xmlns)).Value, LastName = from field in entry.Elements(XName.Get("fields", xmlns)) where field.Element(XName.Get("type", xmlns)).Value == "name" select field.Element(XName.Get("value", xmlns)).Element(XName.Get("familyName", xmlns)).Value, Email = from field in entry.Elements(XName.Get("fields", xmlns)) where field.Element(XName.Get("type", xmlns)).Value == "email" select field.Element(XName.Get("value", xmlns)).Value, }; foreach (var contact in contacts) { Master.AddContactInfo(contact.Name.FirstOrDefault(), contact.LastName.FirstOrDefault(), contact.Email); } }
private void ImportContacts(OAuth20Token token) { var response = RequestContacts(token); if (response != null && response.Connections != null) { foreach (var contact in response.Connections) { string name = null; if (contact.Names != null) { var first = contact.Names.FirstOrDefault(contactName => !string.IsNullOrEmpty(contactName.displayName)); if (first != null) { name = first.displayName; } } string email = null; if (contact.EmailAddresses != null) { var first = contact.EmailAddresses.FirstOrDefault(contactEmail => !string.IsNullOrEmpty(contactEmail.value)); if (first != null) { email = first.value; } } Master.AddContactInfo(name, email); } } }
private void ImportContacts(OAuth20Token token) { var doc = RequestContacts(token); //selecting from xdocument var contacts = from e in doc.Root.Elements("{http://www.w3.org/2005/Atom}entry") select new { Name = e.Element("{http://www.w3.org/2005/Atom}title").Value, Email = from a in e.Elements("{http://schemas.google.com/g/2005}email") where a.Attribute("address") != null select a.Attribute("address").Value }; foreach (var contact in contacts) { Master.AddContactInfo(contact.Name, contact.Email); } }
private void ImportContacts(OAuth20Token token) { var doc = RequestContacts(token); //selecting from xdocument var contacts = doc.Root.Elements("{http://www.w3.org/2005/Atom}entry") .Select(e => new { Name = e.Element("{http://www.w3.org/2005/Atom}title").Value, Email = e.Elements("{http://schemas.google.com/g/2005}email") .Where(a => a.Attribute("address") != null) .Select(a => a.Attribute("address").Value) .FirstOrDefault() }).ToList(); foreach (var contact in contacts) { Master.AddContactInfo(contact.Name, contact.Email); } }
private void ImportContacts(string userGuid, string accessToken) { var responseString = RequestHelper.PerformRequest(string.Format(YahooLoginProvider.YahooUrlContactsFormat, userGuid), headers: new Dictionary <string, string> { { "Authorization", "Bearer " + accessToken } }); const string xmlns = "http://social.yahooapis.com/v1/schema.rng"; var contactsDocument = XDocument.Parse(responseString); var contacts = contactsDocument.Root.Elements(XName.Get("contact", xmlns)) .Select(entry => new { Name = entry.Elements(XName.Get("fields", xmlns)) .Where(field => field.Element(XName.Get("type", xmlns)).Value == "name") .Select(field => field.Element(XName.Get("value", xmlns)).Element(XName.Get("givenName", xmlns)).Value).FirstOrDefault(), LastName = entry.Elements(XName.Get("fields", xmlns)) .Where(field => field.Element(XName.Get("type", xmlns)).Value == "name") .Select(field => field.Element(XName.Get("value", xmlns)).Element(XName.Get("familyName", xmlns)).Value).FirstOrDefault(), Email = entry.Elements(XName.Get("fields", xmlns)) .Where(field => field.Element(XName.Get("type", xmlns)).Value == "email") .Select(field => field.Element(XName.Get("value", xmlns)).Value).FirstOrDefault(), }).ToList(); foreach (var contact in contacts) { if (String.IsNullOrEmpty(contact.Email)) { Master.AddContactInfo(contact.Name, contact.LastName, ""); } else { Master.AddContactInfo(contact.Name, contact.LastName, contact.Email); } } }