protected async Task <VINDetailResultViewModel> GetItem(string url) { var xdoc = new XmlDocument(); var result = new VINDetailResultViewModel(); //Call KApi API via HttpClient using (var client = await GetHttpClient()) { url += string.Format("&accesscode={0}", VINQueryKey); var xml = client.GetStringAsync(url).Result; xdoc.LoadXml(xml); var status = xdoc.SelectSingleNode("/VINquery/VIN/@Status").Value; if (status == "SUCCESS") { result.VIN = xdoc.SelectSingleNode("/VINquery/VIN/@Number").Value; result.Year = xdoc.SelectSingleNode("/VINquery/VIN/Vehicle/@Model_Year").Value; result.Make = xdoc.SelectSingleNode("/VINquery/VIN/Vehicle/@Make").Value; result.Model = xdoc.SelectSingleNode("/VINquery/VIN/Vehicle/@Model").Value; result.Engine = xdoc.SelectSingleNode("/VINquery/VIN/Vehicle/Item[@Key='Engine Type']/@Value").Value; result.Transmission = xdoc.SelectSingleNode("/VINquery/VIN/Vehicle/Item[@Key='Transmission-short']/@Value").Value; result.DriveLine = xdoc.SelectSingleNode("/VINquery/VIN/Vehicle/Item[@Key='Driveline']/@Value").Value; result.BrakeSystem = xdoc.SelectSingleNode("/VINquery/VIN/Vehicle/Item[@Key='Anti-Brake System']/@Value").Value; result.Steering = xdoc.SelectSingleNode("/VINquery/VIN/Vehicle/Item[@Key='Steering Type']/@Value").Value; result.Seating = xdoc.SelectSingleNode("/VINquery/VIN/Vehicle/Item[@Key='Standard Seating']/@Value").Value; } return(result); } }
public async Task <VINDetailResultViewModel> GetVINDecode(string vin) { var result = new VINDetailResultViewModel(); result.VIN = vin; var vinDecode = await GetVINDetail(vin.ToUpper()); if (!string.IsNullOrWhiteSpace(vinDecode.Engine)) { var extract = vinDecode.Engine.Substring(0, vinDecode.Engine.IndexOf("L")); try { double engine; double.TryParse(extract, NumberStyles.AllowDecimalPoint, CultureInfo.InvariantCulture, out engine); vinDecode.Engine = engine != 0 ? extract : string.Empty; } catch (Exception) { vinDecode.Engine = string.Empty; } } return(vinDecode); }