public static bool AddAddressToContact(string address1, string address2, string city, string state, string zipCode, AddressTypeEnum addressType, DataModels.ContactCard.ContactCard contact, DataModels.Location.Country country)
        {

            try
            {
                var add = new DataModels.ContactCard.Address
                {
                    Address1 = address1,
                    Address2 = address2,
                    StateRaw = state,
                    CityRaw = city,
                    Zip = zipCode,
                    Country = country,
                    AddressType = (byte)addressType
                };

                var coords = OpenStreetMap.FindLatLongOfAddress(add.Address1, add.Address2, add.Zip, add.CityRaw, add.StateRaw, add.Country != null ? add.Country.Name : string.Empty);
                add.Coords = new System.Device.Location.GeoCoordinate();

                if (coords != null)
                {
                    add.Coords.Latitude = coords.Latitude;
                    add.Coords.Longitude = coords.Longitude;
                }
                else
                {
                    add.Coords.Latitude = 0;
                    add.Coords.Longitude = 0;
                }
                add.Coords.Altitude = 0;
                add.Coords.Course = 0;
                add.Coords.HorizontalAccuracy = 1;
                add.Coords.Speed = 0;
                add.Coords.VerticalAccuracy = 1;

                contact.Addresses.Add(add);
                return true;
            }
            catch (Exception exception)
            {
                ErrorDatabaseManager.AddException(exception, exception.GetType(), additionalInformation: address1 + " " + address2 + " " + city + " " + state + " " + zipCode + " " + country);
            }
            return false;
        }
 public static bool UpdateAddressToContact(string address1, string address2, string city, string state, string zipCode, AddressTypeEnum addressType, DataModels.ContactCard.ContactCard card, DataModels.Location.Country country)
 {
     try
     {
         if (card.Addresses.FirstOrDefault() != null)
             UpdateAddressToContact(address1, address2, city, state, zipCode, addressType, card.Addresses.FirstOrDefault(), country);
         else
         {
             DataModels.ContactCard.Address add = new DataModels.ContactCard.Address();
             UpdateAddressToContact(address1, address2, city, state, zipCode, addressType, add, country);
             card.Addresses.Add(add);
         } return true;
     }
     catch (Exception exception)
     {
         ErrorDatabaseManager.AddException(exception, exception.GetType());
     }
     return false;
 }