private void InsertRecordIntoAddressBase(CsvUploadRecord addressBaseRecord) { DbConnection.Execute( "INSERT INTO dbo.address_base (uprn,parent_uprn,udprn,usrn,toid,classification_code,easting,northing,latitude,longitude,rpc,last_update_date,single_line_address,po_box,organisation,sub_building,building_name,building_number,street_name,locality,town_name,post_town,change_code,island,postcode,delivery_point_suffix,gss_code)" + "VALUES (@uprn,@parent_uprn,@udprn,@usrn,@toid,@classification_code,@easting,@northing,@latitude,@longitude,@rpc,@last_update_date,@single_line_address,@po_box,@organisation,@sub_building,@building_name,@building_number,@street_name,@locality,@town_name,@post_town,@change_code,@island,@postcode,@delivery_point_suffix,@gss_code)", addressBaseRecord); }
private static Address MapToExpectedAddressRecord(CsvUploadRecord addressBaseRecord) { var usage = addressBaseRecord.classification_code.First() switch { 'R' => "Residential", 'C' => "commercial", 'P' => "Parent Shell", 'L' => "Land", 'X' => "Dual Use", _ => "Unclassified" }; var addressLines = addressBaseRecord.single_line_address.Split(','); var expectedNationalAddress = new Address { blpu_end_date = 0, blpu_last_update_date = 0, blpu_start_date = 0, lpi_start_date = 0, lpi_end_date = 0, lpi_last_update_date = 0, blpu_class = addressBaseRecord.classification_code.Substring(0, 4), building_number = addressBaseRecord.building_number, easting = addressBaseRecord.easting, gazetteer = addressBaseRecord.gss_code == _hackneyGssCode ? "local" : "national", latitude = addressBaseRecord.latitude, line1 = addressLines.ElementAt(0), line2 = addressLines.Length > 1 ? addressLines.ElementAt(1) : null, line3 = addressLines.Length > 2 ? addressLines.ElementAt(2) : null, line4 = null, locality = addressBaseRecord.locality, longitude = addressBaseRecord.longitude, lpi_logical_status = "Approved Preferred", neverexport = false, northing = addressBaseRecord.northing, organisation = addressBaseRecord.organisation, pao_text = addressBaseRecord.building_name, parent_uprn = (long?)addressBaseRecord.parent_uprn, planning_use_class = "", postcode = addressBaseRecord.postcode, postcode_nospace = addressBaseRecord.postcode.Replace(" ", ""), property_shell = addressBaseRecord.classification_code.First() == 'P', sao_text = addressBaseRecord.sub_building, street_description = addressBaseRecord.street_name, town = addressBaseRecord.town_name, uprn = (long)addressBaseRecord.uprn, usage_description = usage, usage_primary = usage, usrn = (int)addressBaseRecord.usrn, ward = "", }; return(expectedNationalAddress); }