public void Upload(string path, string languageFilePath) { if (client.BasePath == null) { throw new UserException("You are not logged on to Alba. Please Logon."); } if (string.IsNullOrWhiteSpace(path)) { return; } var languages = LanguageDownloader.LoadLanguagesFrom(languageFilePath); using (var reader = new StreamReader(path)) using (CsvReader csv = new CsvReader(reader, CultureInfo.InvariantCulture)) { csv.Configuration.Delimiter = ","; csv.Configuration.PrepareHeaderForMatch = (string header, int index) => header.ToLower(); var addresses = csv.GetRecords <AlbaAddressImport>(); foreach (var address in addresses) { Thread.Sleep(msDelay); int languageId = languages .First(l => string.Equals( l.Name, address.Language, System.StringComparison.OrdinalIgnoreCase)) .Id; int statusId = AddressStatusText.Status[address.Status]; var save = new AlbaAddressSave { Address_ID = address.Address_ID, Territory_ID = address.Territory_ID, LanguageId = languageId, StatusId = statusId, Name = address.Name, Suite = address.Suite, Address = address.Address, City = address.City, Province = address.Province, Postal_code = address.Postal_code, Country = address.Country, Latitude = address.Latitude, Longitude = address.Longitude, Telephone = address.Telephone, Notes = address.Notes, Notes_private = address.Notes_private }; var saveUrl = RelativeUrlBuilder.SaveAddress(save); var resultString = client.DownloadString(saveUrl); // TODO: Need to geocode } } }
public static string SaveAddress(AlbaAddressSave address) { string formatted = $"/ts?mod=addresses&cmd=save" + $"&id={address.Address_ID}" + $"&lat={address.Latitude}" + $"&lng={address.Longitude}" + $"&territory_id={address.Territory_ID ?? 0}" + $"&status={address.StatusId}" + $"&language_id={address.LanguageId}" + $"&full_name={address.Name}" + $"&suite={address.Suite}" + $"&address={address.Address}" + $"&city={address.City}" + $"&province={address.Province}" + $"&country={address.Country}" + $"&postcode={address.Postal_code}" + $"&telephone={address.Telephone}" + $"¬es={address.Notes}" + $"¬es_private={address.Notes_private}"; return(formatted.Replace(" ", "+").Replace(",", "%2C")); }