public VinInfo Parse(string json) { LastError = String.Empty; try { JObject jObj = JObject.Parse(json); if (null != jObj["error"] || null != jObj["status"]) { LastError = jObj["message"].Value <string>(); } else { var array = jObj["styleHolder"]; var j = array[0]; int year = j["year"].Value <int>(); string make = j["makeName"].Value <string>(); string model = j["modelName"].Value <string>(); var vi = new VinInfo() { Vin = Vin, Year = year, Model = model, Make = make }; return(vi); } } catch (Exception ex) { LastError = "parser failed : " + ex.Message; } return(null); }
public VinInfo Parse(string json) { LastError = String.Empty; try { JObject jObj = JObject.Parse(json); if (null != jObj["Message"] || "Results returned successfully".Equals(jObj["Message"].Value <string>())) { var array = jObj["Results"]; int fieldsFound = 0; VinInfo vi = new VinInfo(); for (int i = 0; i < array.Count(); ++i) { var j = array[i]; long variableId = j["VariableId"].Value <long>(); string valueId = j["ValueId"].Value <string>(); string value = j["Value"].Value <string>(); if (143 == variableId && "7".Equals(valueId)) { LastError = value; return(null); } else if (26 == variableId) { vi.Make = value; ++fieldsFound; } else if (28 == variableId) { vi.Model = value; ++fieldsFound; } else if (29 == variableId) { if (int.TryParse(value, out int year)) { vi.Year = year; } ++fieldsFound; } if (3 == fieldsFound) { vi.Vin = Vin; break; } } return(vi); } else { LastError = jObj["message"].Value <string>(); } } catch (Exception ex) { LastError = "parser failed : " + ex.Message; } return(null); }