void cons_SearchCompleted(object sender, ContactsSearchEventArgs e) { ContactDetailsCollection listaContacte = new ContactDetailsCollection(); String _name = string.Empty; String _list = string.Empty; _Contacts = e.Results.ToList(); }
public bool PublishContactDetails(ContactDetailsCollection contactDetails) { try { using (var context = new windeskmobiledbEntities()) { var foundUser = context.users.FirstOrDefault(user => user.guid == contactDetails.UserGUID); if (foundUser == null) return false; var result = from cpu in context.contactsperusers join usr in context.users on cpu.userid equals usr.id join cnt in context.contactdetails on cpu.contactdetailid equals cnt.id join phn in context.phonenumbers on cpu.phonenumberid equals phn.id where usr.id == foundUser.id select new { ContactName = cnt.first, ContactPhone = phn.value }; foreach (var contactDetail in contactDetails.ContactDetails) { foreach (var phone in contactDetail.Phones) { if (result.FirstOrDefault(listItem => listItem.ContactName == contactDetail.Name && listItem.ContactPhone == phone) != null) continue; var existingContactDetails = context.contactdetails.FirstOrDefault(cd => cd.contactsperusers.Where(cpu => cpu.userid == foundUser.id).Count() == 1 && cd.first == contactDetail.Name); var newPhoneNumber = context.phonenumbers.Add(new phonenumbers { value = phone }); var newContactDetails = existingContactDetails !=null ? existingContactDetails : context.contactdetails.Add(new contactdetails { first = contactDetail.Name }); context.SaveChanges(); context.contactsperusers.Add(new contactsperusers { phonenumberid = newPhoneNumber.id, contactdetailid = newContactDetails.id, userid = foundUser.id }); context.SaveChanges(); } } } } catch { return false; } return true; }
private ContactDetailsCollection GetContactDetails() { var ret=new ContactDetailsCollection(); ret.UserGUID = GlobalSettings.UserGuid; ret.ContactDetails = new List<ContactDetails>(); var data= _Contacts.Select(item=> new ContactDetails() { Name = item.CompleteName.FirstName + " " + item.CompleteName.LastName, Phones=new List<string>(item.PhoneNumbers.Select(ph=>ph.PhoneNumber).ToArray()) } ); ret.ContactDetails.AddRange(data); return ret; }