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; }