Example #1
0
        public static ContactCompleteDetails GetContactDetails(JObject jsonOnj)
        {
            ContactCompleteDetails con = new ContactCompleteDetails();
            JToken jt;

            if (jsonOnj.TryGetValue(HikeConstants.CS_NAME, out jt) && jt != null)
            {
                con.name = jt.ToString();
            }

            KeyValuePair <string, JToken> kv;

            if (jsonOnj.TryGetValue(HikeConstants.CS_PHONE_NUMBERS, out jt) && jt != null && jt is JArray)
            {
                JArray phoneNumbers = (JArray)jt;

                List <string> listUnAssignedNumbers = new List <string>();
                foreach (JObject jobj in phoneNumbers)
                {
                    IEnumerator <KeyValuePair <string, JToken> > keyVals = jobj.GetEnumerator();
                    while (keyVals.MoveNext())
                    {
                        kv = keyVals.Current;

                        if (string.IsNullOrEmpty(con.mobileNumber) && kv.Key.ToLower().Contains(HikeConstants.CS_MOBILE_KEY.ToLower()))
                        {
                            con.mobileNumber = kv.Value.ToString();
                        }
                        else if (string.IsNullOrEmpty(con.homePhone) && kv.Key.ToLower().Contains(HikeConstants.CS_HOME_KEY.ToLower()))
                        {
                            con.homePhone = kv.Value.ToString();
                        }
                        else if (string.IsNullOrEmpty(con.workPhone) && kv.Key.ToLower().Contains(HikeConstants.CS_WORK_KEY.ToLower()))
                        {
                            con.workPhone = kv.Value.ToString();
                        }
                        else
                        {
                            listUnAssignedNumbers.Add(kv.Value.ToString());
                        }
                    }
                }

                if (listUnAssignedNumbers.Count > 0)
                {
                    int i = 0;
                    if (string.IsNullOrEmpty(con.mobileNumber) && listUnAssignedNumbers.Count > i)
                    {
                        con.mobileNumber = listUnAssignedNumbers[i];
                        i++;
                    }
                    if (string.IsNullOrEmpty(con.homePhone) && listUnAssignedNumbers.Count > i)
                    {
                        con.homePhone = listUnAssignedNumbers[i];
                        i++;
                    }
                    if (string.IsNullOrEmpty(con.workPhone) && listUnAssignedNumbers.Count > i)
                    {
                        con.workPhone = listUnAssignedNumbers[i];
                    }
                }
            }


            if (jsonOnj.TryGetValue(HikeConstants.CS_EMAILS, out jt) && jt != null && jt is JArray)
            {
                JArray emails = (JArray)jt;

                foreach (JObject jobj in emails)
                {
                    IEnumerator <KeyValuePair <string, JToken> > keyVals = jobj.GetEnumerator();
                    while (keyVals.MoveNext())
                    {
                        kv = keyVals.Current;

                        if (kv.Key.ToLower().Contains(HikeConstants.CS_WORK_KEY.ToLower()))
                        {
                            con.workEmail = kv.Value.ToString();
                        }

                        else if (kv.Key.ToLower().Contains(HikeConstants.CS_HOME_KEY.ToLower()))
                        {
                            con.personalEmail = kv.Value.ToString();
                        }

                        else if (kv.Key.ToLower().Contains(HikeConstants.CS_OTHERS_KEY.ToLower()))
                        {
                            con.otherEmail = kv.Value.ToString();
                        }
                    }
                }
            }

            if (jsonOnj.TryGetValue(HikeConstants.CS_ADDRESSES, out jt) && jt != null && jt is JArray)
            {
                JArray addressess = (JArray)jt;

                foreach (JObject jobj in addressess)
                {
                    IEnumerator <KeyValuePair <string, JToken> > keyVals = jobj.GetEnumerator();
                    while (keyVals.MoveNext())
                    {
                        kv = keyVals.Current;
                        if (kv.Key.ToLower().Contains(HikeConstants.CS_WORK_KEY.ToLower()))
                        {
                            con.workAddress = kv.Value.ToString();
                        }

                        else if (kv.Key.ToLower().Contains(HikeConstants.CS_HOME_KEY.ToLower()))
                        {
                            con.homeAddress = kv.Value.ToString();
                        }
                    }
                }
            }
            return(con);
        }
Example #2
0
        public static ContactCompleteDetails GetContactDetails(Contact c)
        {
            ContactCompleteDetails con = new ContactCompleteDetails();

            if (c.CompleteName != null)
            {
                if (!string.IsNullOrEmpty(c.CompleteName.FirstName))
                {
                    con.name = c.CompleteName.FirstName;
                }
                if (!string.IsNullOrEmpty(c.CompleteName.MiddleName))
                {
                    con.name += " " + c.CompleteName.MiddleName;
                }
                if (!string.IsNullOrEmpty(c.CompleteName.LastName))
                {
                    con.name += " " + c.CompleteName.LastName;
                }
            }

            foreach (ContactPhoneNumber ph in c.PhoneNumbers)
            {
                if (ph.Kind == PhoneNumberKind.Mobile)
                {
                    con.mobileNumber = ph.PhoneNumber;
                }
                else if (ph.Kind == PhoneNumberKind.Home)
                {
                    con.homePhone = ph.PhoneNumber;
                }
                else if (ph.Kind == PhoneNumberKind.Work)
                {
                    con.workPhone = ph.PhoneNumber;
                }
            }

            foreach (ContactEmailAddress email in c.EmailAddresses)
            {
                if (email.Kind == EmailAddressKind.Work)
                {
                    con.workEmail = email.EmailAddress;
                }
                else if (email.Kind == EmailAddressKind.Personal)
                {
                    con.personalEmail = email.EmailAddress;
                }
                else if (email.Kind == EmailAddressKind.Other)
                {
                    con.otherEmail = email.EmailAddress;
                }
            }

            foreach (ContactAddress address in c.Addresses)
            {
                if (address.Kind == AddressKind.Work)
                {
                    con.workAddress = GetCompleteAddress(address.PhysicalAddress);
                }
                else if (address.Kind == AddressKind.Home)
                {
                    con.homeAddress = GetCompleteAddress(address.PhysicalAddress);
                }
            }
            return(con);
        }