Exemplo n.º 1
0
        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);
            }
        }
Exemplo n.º 2
0
        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);
        }