Esempio n. 1
0
        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;
        }
Esempio n. 3
0
 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;
 }