Class1.cs 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867
  1. using System;
  2. using System.Collections.Generic;
  3. namespace VINClassLib
  4. {
  5. public class VIN_LIB
  6. {
  7. public string VIN_WMI, VIN_VDS, VIN_VIS;
  8. private static readonly object LockObject = new object();
  9. private static Dictionary<string, string> _wmi;
  10. private static Dictionary<string, string> WorldManufacturerIdentifiers
  11. {
  12. get
  13. {
  14. if (_wmi == null)
  15. {
  16. lock (LockObject)
  17. {
  18. _wmi = new Dictionary<string, string> {
  19. {"10T", "Oshkosh"},
  20. {"11V", "Ottawa"},
  21. {"137", "AM General, Hummer"},
  22. {"15G", "Gillig"},
  23. {"177", "Thomas"},
  24. {"17N", "John Deere"},
  25. {"18X", "WRV"},
  26. {"19U", "Acura"},
  27. {"1A4", "Chrysler"},
  28. {"1A8", "Chrysler"},
  29. {"1AC", "AMC"},
  30. {"1AM", "AMC"},
  31. {"1B3", "Dodge"},
  32. {"1B4", "Dodge"},
  33. {"1B6", "Dodge"},
  34. {"1B7", "Dodge"},
  35. {"1BA", "Blue Bird"},
  36. {"1BB", "Blue Bird"},
  37. {"1BD", "Blue Bird"},
  38. {"1C3", "Chrysler"},
  39. {"1C4", "Chrysler"},
  40. {"1C6", "Chrysler"},
  41. {"1C8", "Chrysler"},
  42. {"1C9", "Chance"},
  43. {"1CY", "Crane Carrier"},
  44. {"1D3", "Dodge"},
  45. {"1D4", "Dodge"},
  46. {"1D5", "Dodge"},
  47. {"1D7", "Dodge"},
  48. {"1D8", "Dodge"},
  49. {"1EC", "Fleetwood"},
  50. {"1F1", "Ford"},
  51. {"1F6", "Ford"},
  52. {"1F9", "FWD Corp."},
  53. {"1FA", "Ford Motor Company"},
  54. {"1FB", "Ford Motor Company"},
  55. {"1FC", "Ford Motor Company"},
  56. {"1FD", "Ford Motor Company"},
  57. {"1FE", "Ford Moter Company"},
  58. {"1FM", "Ford Motor Company"},
  59. {"1FT", "Ford Motor Company"},
  60. {"1FU", "Freightliner"},
  61. {"1FV", "Freightliner"},
  62. {"1G", "General Motors USA"},
  63. {"1G1", "Chevrolet USA"},
  64. {"1G2", "Pontiac USA"},
  65. {"1G3", "Oldsmobile USA"},
  66. {"1G4", "Buick USA"},
  67. {"1G5", "GMC, Pontiac"},
  68. {"1G6", "Cadillac USA"},
  69. {"1G8", "Saturn USA"},
  70. {"1GA", "Chevrolet"},
  71. {"1GB", "Chevrolet"},
  72. {"1GC", "Chevrolet Truck USA"},
  73. {"1GD", "GMC"},
  74. {"1GE", "Cadillac"},
  75. {"1GF", "Flexible"},
  76. {"1GG", "Isuzu"},
  77. {"1GH", "GMC, Oldsmobile"},
  78. {"1GJ", "GMC"},
  79. {"1GK", "GMC"},
  80. {"1GM", "Pontiac USA"},
  81. {"1GN", "Chevrolet"},
  82. {"1GT", "GMC Truck USA"},
  83. {"1GY", "Cadillac USA"},
  84. {"1H", "Honda USA"},
  85. {"1HD", "Harley-Davidson"},
  86. {"1HG", "Honda"},
  87. {"1HS", "International"},
  88. {"1HT", "International"},
  89. {"1HV", "International"},
  90. {"1J4", "Jeep"},
  91. {"1J7", "Jeep"},
  92. {"1J8", "Jeep"},
  93. {"1JC", "AMC, Jeep"},
  94. {"1JD", "AMC"},
  95. {"1JT", "AMC, Jeep"},
  96. {"1L", "Lincoln USA"},
  97. {"1L1", "Lincoln"},
  98. {"1LN", "Lincoln"},
  99. {"1M1", "Mack Truck USA"},
  100. {"1M2", "Mack Truck USA"},
  101. {"1M3", "Mack Truck USA"},
  102. {"1M4", "Mack Truck USA"},
  103. {"1M8", "MCI"},
  104. {"1M9", "Mynatt Truck & Equipment"},
  105. {"1ME", "Mercury USA"},
  106. {"1MR", "Lincoln"},
  107. {"1N", "Nissan USA"},
  108. {"1N4", "Nissan"},
  109. {"1N6", "Datsun, Nissan"},
  110. {"1N9", "Neoplan"},
  111. {"1NK", "Kenworth"},
  112. {"1NP", "Peterbilt"},
  113. {"1NX", "NUMMI USA"},
  114. {"1P3", "Plymouth USA"},
  115. {"1P4", "Plymouth"},
  116. {"1P7", "Plymouth"},
  117. {"1P9", "Panoz"},
  118. {"1R9", "Roadrunner Hay Squeeze USA"},
  119. {"1RF", "Roadmaster"},
  120. {"1S9", "Saleen"},
  121. {"1T8", "Thomas"},
  122. {"1TU", "TMC"},
  123. {"1V1", "Volkswagen"},
  124. {"1VW", "Volkswagen USA"},
  125. {"1WA", "Autostar"},
  126. {"1WB", "Autostar"},
  127. {"1WU", "White Volvo"},
  128. {"1WV", "Winnebago"},
  129. {"1XK", "Kenworth USA"},
  130. {"1XM", "AMC"},
  131. {"1XP", "Peterbilt USA"},
  132. {"1Y1", "Chevrolet, Geo"},
  133. {"1YV", "Mazda USA (AutoAlliance International)"},
  134. {"1Z3", "Mitsubishi"},
  135. {"1Z5", "Mitsubishi"},
  136. {"1Z7", "Mitsubishi"},
  137. {"1ZV", "Ford (AutoAlliance International)"},
  138. {"1ZW", "Mercury"},
  139. {"2A3", "Chrysler"},
  140. {"2A4", "Chrysler Canada"},
  141. {"2A8", "Chrysler"},
  142. {"2B1", "Orion"},
  143. {"2B3", "Dodge Canada"},
  144. {"2B4", "Dodge Canada"},
  145. {"2B5", "Dodge Canada"},
  146. {"2B6", "Dodge Canada"},
  147. {"2B7", "Dodge Canada"},
  148. {"2B8", "Dodge Canada"},
  149. {"2BC", "AMC, Jeep"},
  150. {"2C1", "Chevrolet, Geo"},
  151. {"2C3", "Chrysler Canada"},
  152. {"2C4", "Chrysler"},
  153. {"2C7", "Pontiac"},
  154. {"2C8", "Chrysler"},
  155. {"2CC", "AMC, Eagle"},
  156. {"2CK", "Geo, Pontiac"},
  157. {"2CM", "AMC"},
  158. {"2CN", "CAMI"},
  159. {"2D3", "Dodge Canada"},
  160. {"2D4", "Dodge Canada"},
  161. {"2D6", "Dodge Canada"},
  162. {"2D7", "Dodge Canada"},
  163. {"2D8", "Dodge Canada"},
  164. {"2E3", "Eagle"},
  165. {"2FA", "Ford Motor Company Canada"},
  166. {"2FB", "Ford Motor Company Canada"},
  167. {"2FC", "Ford Motor Company Canada"},
  168. {"2FD", "Ford Motor Company Canada"},
  169. {"2FM", "Ford Motor Company Canada"},
  170. {"2FT", "Ford Motor Company Canada"},
  171. {"2FU", "Freightliner"},
  172. {"2FV", "Freightliner"},
  173. {"2FW", "Sterling"},
  174. {"2FZ", "Sterling"},
  175. {"2G", "General Motors Canada"},
  176. {"2G0", "GMC"},
  177. {"2G1", "Chevrolet Canada"},
  178. {"2G2", "Pontiac Canada"},
  179. {"2G3", "Oldsmobile Canada"},
  180. {"2G4", "Buick Canada"},
  181. {"2G5", "GMC"},
  182. {"2G7", "Pontiac"},
  183. {"2G8", "Chevrolet"},
  184. {"2GA", "Chevrolet"},
  185. {"2GB", "Chevrolet"},
  186. {"2GD", "GMC"},
  187. {"2GJ", "GMC"},
  188. {"2GK", "GMC"},
  189. {"2GN", "Chevrolet"},
  190. {"2GT", "GMC"},
  191. {"2HG", "Honda Canada"},
  192. {"2HH", "Acura"},
  193. {"2HJ", "Honda Canada"},
  194. {"2HK", "Honda Canada"},
  195. {"2HM", "Hyundai Canada"},
  196. {"2HN", "Acura"},
  197. {"2HS", "International"},
  198. {"2HT", "International"},
  199. {"2J4", "Jeep"},
  200. {"2LM", "Lincoln"},
  201. {"2M", "Mercury"},
  202. {"2M2", "Mack"},
  203. {"2ME", "Mercury"},
  204. {"2MH", "Mercury"},
  205. {"2MR", "Mercury"},
  206. {"2NK", "Kenworth"},
  207. {"2NP", "Peterbilt"},
  208. {"2NV", "Nova Bus Canada"},
  209. {"2P3", "Plymouth Canada"},
  210. {"2P4", "Plymouth"},
  211. {"2P5", "Plymouth"},
  212. {"2P9", "Prevost"},
  213. {"2PC", "Prevost"},
  214. {"2S2", "Suzuki"},
  215. {"2S3", "Suzuki"},
  216. {"2T", "Toyota Canada"},
  217. {"2T1", "Toyota"},
  218. {"2T2", "Lexus"},
  219. {"2V4", "Volkswagen Canada"},
  220. {"2V8", "Volkswagen Canada"},
  221. {"2WK", "Western Star Trucks"},
  222. {"2WL", "Western Star Trucks"},
  223. {"2WM", "Western Star"},
  224. {"2XK", "Kenworth"},
  225. {"2XM", "Eagle"},
  226. {"2XP", "Peterbilt"},
  227. {"3A4", "Chrysler"},
  228. {"3A8", "Chrysler"},
  229. {"3AB", "Dina"},
  230. {"3AL", "Freightliner"},
  231. {"3B3", "Dodge"},
  232. {"3B4", "Dodge"},
  233. {"3B6", "Dodge"},
  234. {"3B7", "Dodge"},
  235. {"3BK", "Kenworth"},
  236. {"3BP", "Peterbilt"},
  237. {"3C3", "Chrysler Mexico"},
  238. {"3C4", "Chrysler Mexico"},
  239. {"3C8", "Chrysler Mexico"},
  240. {"3CA", "Chrysler Mexico"},
  241. {"3D3", "Dodge Mexico"},
  242. {"3D5", "Dodge Mexico"},
  243. {"3D6", "Dodge Mexico"},
  244. {"3D7", "Dodge Mexico"},
  245. {"3FA", "Ford Motor Company Mexico"},
  246. {"3FC", "Ford"},
  247. {"3FD", "Ford"},
  248. {"3FE", "Ford Motor Company Mexico"},
  249. {"3FR", "Ford"},
  250. {"3FT", "Ford"},
  251. {"3G", "General Motors Mexico"},
  252. {"3G1", "Chevrolet"},
  253. {"3G2", "Pontiac"},
  254. {"3G4", "Buick"},
  255. {"3G5", "Buick"},
  256. {"3G7", "Pontiac"},
  257. {"3GB", "Chevrolet"},
  258. {"3GC", "Chevrolet"},
  259. {"3GD", "GMC"},
  260. {"3GE", "Chevrolet"},
  261. {"3GK", "GMC"},
  262. {"3GN", "Chevrolet"},
  263. {"3GT", "GMC"},
  264. {"3GY", "Cadillac"},
  265. {"3H", "Honda Mexico"},
  266. {"3HA", "International"},
  267. {"3HG", "Honda"},
  268. {"3HM", "Honda"},
  269. {"3HS", "International"},
  270. {"3HT", "International"},
  271. {"3JB", "BRP Mexico (all-terrain vehicles)"},
  272. {"3LN", "Lincoln"},
  273. {"3MA", "Mercury"},
  274. {"3ME", "Mercury"},
  275. {"3MZ", "Mazda Mexico"},
  276. {"3N", "Nissan Mexico"},
  277. {"3N1", "Nissan"},
  278. {"3NK", "Kenworth"},
  279. {"3NM", "Peterbilt"},
  280. {"3P3", "Plymouth Mexico"},
  281. {"3TM", "Toyota"},
  282. {"3VW", "Volkswagen Mexico"},
  283. {"3WK", "Kenworth"},
  284. {"45V", "Utilimaster"},
  285. {"46G", "Gillig"},
  286. {"49H", "Sterling"},
  287. {"4A3", "Mitsubishi"},
  288. {"4A4", "Mitsubishi"},
  289. {"4B3", "Dodge"},
  290. {"4C3", "Chrysler"},
  291. {"4CD", "Oshkosh"},
  292. {"4DR", "Genesis, International"},
  293. {"4E3", "Eagle"},
  294. {"4F", "Mazda USA"},
  295. {"4F2", "Mazda"},
  296. {"4F4", "Mazda"},
  297. {"4G1", "Chevrolet"},
  298. {"4G2", "Pontiac"},
  299. {"4GD", "GMC"},
  300. {"4GT", "Isuzu, WhiteGMC"},
  301. {"4JG", "Mercedes-Benz USA"},
  302. {"4KB", "Chevrolet"},
  303. {"4KD", "GMC"},
  304. {"4KL", "Isuzu"},
  305. {"4M", "Mercury"},
  306. {"4M2", "Mercury"},
  307. {"4N1", "Nissan"},
  308. {"4N2", "Nissan"},
  309. {"4NU", "Isuzu"},
  310. {"4P3", "Plymouth"},
  311. {"4RK", "Nova Bus USA"},
  312. {"4S", "Subaru-Isuzu Automotive"},
  313. {"4S1", "Isuzu"},
  314. {"4S2", "Isuzu"},
  315. {"4S3", "Subaru"},
  316. {"4S4", "Subaru"},
  317. {"4S6", "Honda"},
  318. {"4S7", "Spartan"},
  319. {"4SL", "Magnum"},
  320. {"4T", "Toyota"},
  321. {"4T1", "Toyota"},
  322. {"4T3", "Toyota"},
  323. {"4T9", "Lumen Motors (zero-emission mid-engined car)"},
  324. {"4TA", "Toyota"},
  325. {"4UF", "Arctic Cat Inc."},
  326. {"4US", "BMW USA"},
  327. {"4UZ", "Freightliner"},
  328. {"4V1", "Volvo"},
  329. {"4V2", "Volvo"},
  330. {"4V3", "Volvo"},
  331. {"4V4", "Volvo"},
  332. {"4V5", "Volvo"},
  333. {"4V6", "Volvo"},
  334. {"4VA", "Volvo"},
  335. {"4VG", "Volvo"},
  336. {"4VH", "Volvo"},
  337. {"4VL", "Volvo"},
  338. {"4VM", "Volvo"},
  339. {"4VZ", "Volvo"},
  340. {"538", "Zero Motorcycles (USA)"},
  341. {"5AS", "GEM"},
  342. {"5B4", "Workhorse"},
  343. {"5CK", "Western Star Trucks"},
  344. {"5F", "Honda USA-Alabama"},
  345. {"5FN", "Honda"},
  346. {"5FY", "New Flyer"},
  347. {"5GA", "Buick"},
  348. {"5GR", "Hummer"},
  349. {"5GT", "Hummer"},
  350. {"5GZ", "Saturn"},
  351. {"5J6", "Honda"},
  352. {"5J8", "Acura"},
  353. {"5KJ", "Western Star Trucks"},
  354. {"5KK", "Western Star Trucks"},
  355. {"5L", "Lincoln"},
  356. {"5LM", "Lincoln"},
  357. {"5LT", "Lincoln"},
  358. {"5N1", "Nissan USA"},
  359. {"5N3", "Infiniti"},
  360. {"5NM", "Hyundai"},
  361. {"5NP", "Hyundai USA"},
  362. {"5PV", "Hino"},
  363. {"5S3", "Saab"},
  364. {"5SX", "Amercian LeFrance"},
  365. {"5T", "Toyota USA - trucks"},
  366. {"5T4", "Workhorse"},
  367. {"5TB", "Toyota"},
  368. {"5TD", "Toyota"},
  369. {"5TE", "Toyota"},
  370. {"5TF", "Toyota"},
  371. {"5UM", "BMW"},
  372. {"5UX", "BMW"},
  373. {"5Y2", "Pontiac"},
  374. {"5YJ", "Tesla Motors"},
  375. {"6AB", "MAN Australia"},
  376. {"6F4", "Nissan Motor Company Australia"},
  377. {"6F5", "Kenworth Australia"},
  378. {"6FP", "Ford Motor Company Australia"},
  379. {"6G1", "General Motors-Holden (post Nov 2002)"},
  380. {"6G2", "Pontiac Australia (GTO & G8)"},
  381. {"6H8", "General Motors-Holden (pre Nov 2002)"},
  382. {"6MM", "Mitsubishi Motors Australia"},
  383. {"6MP", "Mercury"},
  384. {"6T1", "Toyota Motor Corporation Australia"},
  385. {"6U9", "Privately Imported car in Australia"},
  386. {"8A1", "Renault Argentina"},
  387. {"8AD", "Peugeot Argentina"},
  388. {"8AF", "Ford Motor Company Argentina"},
  389. {"8AG", "Chevrolet Argentina"},
  390. {"8AJ", "Toyota Argentina"},
  391. {"8AK", "Suzuki Argentina"},
  392. {"8AP", "Fiat Argentina"},
  393. {"8AW", "Volkswagen Argentina"},
  394. {"8GD", "Peugeot Chile"},
  395. {"8GG", "Chevrolet Chile"},
  396. {"935", "Citroën Brazil"},
  397. {"936", "Peugeot Brazil"},
  398. {"93H", "Honda Brazil"},
  399. {"93R", "Toyota Brazil"},
  400. {"93U", "Audi Brazil"},
  401. {"93V", "Audi Brazil"},
  402. {"93X", "Mitsubishi Motors Brazil"},
  403. {"93Y", "Renault Brazil"},
  404. {"94D", "Nissan Brazil"},
  405. {"9BD", "Fiat Brazil"},
  406. {"9BF", "Ford Motor Company Brazil"},
  407. {"9BG", "Chevrolet Brazil"},
  408. {"9BM", "Mercedes-Benz Brazil"},
  409. {"9BR", "Toyota Brazil"},
  410. {"9BS", "Scania Brazil"},
  411. {"9BW", "Volkswagen Brazil"},
  412. {"9DW", "Volkswagen"},
  413. {"9FB", "Renault Colombia"},
  414. {"AAV", "Volkswagen South Africa"},
  415. {"AC5", "Hyundai South Africa"},
  416. {"ADD", "Hyundai South Africa"},
  417. {"AFA", "Ford South Africa"},
  418. {"AHT", "Toyota South Africa"},
  419. {"J81", "Chevrolet,Geo"},
  420. {"J87", "Isuzu"},
  421. {"J8B", "Chevrolet"},
  422. {"J8D", "GMC"},
  423. {"J8Z", "Chevrolet"},
  424. {"JA", "Isuzu"},
  425. {"JA3", "Mitsubishi"},
  426. {"JA4", "Mitsubishi"},
  427. {"JA7", "Mitsubishi"},
  428. {"JAA", "Isuzu"},
  429. {"JAB", "Isuzu"},
  430. {"JAC", "Isuzu"},
  431. {"JAE", "Acura"},
  432. {"JAL", "Isuzu"},
  433. {"JB3", "Dodge"},
  434. {"JB4", "Dodge"},
  435. {"JB7", "Dodge"},
  436. {"JC2", "Ford"},
  437. {"JD", "Daihatsu"},
  438. {"JD1", "Daihatsu"},
  439. {"JD2", "Daihatsu"},
  440. {"JE3", "Eagle"},
  441. {"JF", "Fuji Heavy Industries (Subaru)"},
  442. {"JF1", "Subaru"},
  443. {"JF2", "Subaru"},
  444. {"JF3", "Subaru"},
  445. {"JF4", "Saab"},
  446. {"JG1", "Chevrolet, Geo"},
  447. {"JG7", "Pontiac"},
  448. {"JGC", "Geo"},
  449. {"JH", "Honda"},
  450. {"JH4", "Acura"},
  451. {"JHB", "Hino"},
  452. {"JHL", "Honda"},
  453. {"JHM", "Honda"},
  454. {"JJ3", "Chrysler"},
  455. {"JK", "Kawasaki (motorcycles)"},
  456. {"JL5", "Mitsubishi Fuso"},
  457. {"JL6", "Mitsubishi"},
  458. {"JLS", "Sterling"},
  459. {"JM1", "Mazda"},
  460. {"JM2", "Mazda"},
  461. {"JM3", "Mazda"},
  462. {"JMB", "Mitsubishi Motors"},
  463. {"JMY", "Mitsubishi Motors"},
  464. {"JMZ", "Mazda"},
  465. {"JN", "Nissan"},
  466. {"JN1", "Datsun, Nissan"},
  467. {"JN3", "Nissan"},
  468. {"JN4", "Nissan"},
  469. {"JN6", "Datsun, Nissan"},
  470. {"JN8", "Nissan"},
  471. {"JNA", "Nissan"},
  472. {"JNK", "Infiniti"},
  473. {"JNR", "Infiniti"},
  474. {"JNX", "Infiniti"},
  475. {"JP3", "Plymouth"},
  476. {"JP4", "Plymouth"},
  477. {"JP7", "Plymouth"},
  478. {"JR2", "Isuzu"},
  479. {"JS", "Suzuki"},
  480. {"JS2", "Suzuki"},
  481. {"JS3", "Suzuki"},
  482. {"JS4", "Suzuki"},
  483. {"JT", "Toyota"},
  484. {"JT2", "Toyota"},
  485. {"JT3", "Toyota"},
  486. {"JT4", "Toyota"},
  487. {"JT5", "Toyota"},
  488. {"JT6", "Lexus"},
  489. {"JT8", "Lexus"},
  490. {"JTD", "Toyota"},
  491. {"JTE", "Toyota"},
  492. {"JTH", "Lexus"},
  493. {"JTJ", "Lexus"},
  494. {"JTK", "Scion"},
  495. {"JTL", "Scion"},
  496. {"JTM", "Toyota"},
  497. {"JTN", "Toyota"},
  498. {"JW6", "Mitsubishi"},
  499. {"JW7", "Mitsubishi"},
  500. {"JY", "Yamaha (motorcycles)"},
  501. {"KL", "Daewoo General Motors South Korea"},
  502. {"KL1", "Chevrolet"},
  503. {"KL2", "Pontiac"},
  504. {"KL5", "Suzuki"},
  505. {"KL7", "Asuna"},
  506. {"KLA", "Daewoo"},
  507. {"KM", "Hyundai"},
  508. {"KM1", "Hyosung (motorcycles)"},
  509. {"KM8", "Hyundai"},
  510. {"KMF", "Hyundai"},
  511. {"KMH", "Hyundai"},
  512. {"KMY", "Daelim (motorcycles)"},
  513. {"KN", "Kia"},
  514. {"KNA", "Kia"},
  515. {"KND", "Hyundai, Kia"},
  516. {"KNJ", "Ford"},
  517. {"KNM", "Renault Samsung"},
  518. {"KPA", "SsangYong"},
  519. {"KPH", "Mitsubishi"},
  520. {"KPT", "SsangYong"},
  521. {"L4B", "Xingyue Group (motorcycles)"},
  522. {"L5C", "KangDi (ATV)"},
  523. {"L5K", "Zhejiang Yongkang Easy Vehicle"},
  524. {"L5N", "Zhejiang Taotao, China (ATV & motorcycles)"},
  525. {"L5Y", "Merato Motorcycle Taizhou Zhongneng"},
  526. {"L85", "Zhejiang Yongkang Huabao Electric Appliance"},
  527. {"L8X", "Zhejiang Summit Huawin Motorcycle"},
  528. {"LAN", "Changzhou Yamasaki Motorcycle"},
  529. {"LB2", "Geely Motorcycles"},
  530. {"LBB", "Zhejiang Qianjiang Motorcycle (Keeway/Generic)"},
  531. {"LBE", "Beijing Hyundai"},
  532. {"LBM", "Zongshen Piaggio"},
  533. {"LBP", "Chongqing Jainshe Yamaha (motorcycles)"},
  534. {"LCE", "Hangzhou Chunfeng Motorcycles (CFMOTO)"},
  535. {"LDC", "Dong Feng Peugeot Citroen (DPCA), China"},
  536. {"LDD", "Dandong Huanghai Automobile"},
  537. {"LDN", "SouEast Motor"},
  538. {"LDY", "Zhongtong Coach, China"},
  539. {"LE4", "Beijing Benz, China"},
  540. {"LES", "Isuzu"},
  541. {"LET", "Jiangling-Isuzu Motors, China"},
  542. {"LFB", "FAW, China (busses)"},
  543. {"LFG", "Taizhou Chuanl Motorcycle Manufacturing"},
  544. {"LFP", "FAW, China (passenger vehicles)"},
  545. {"LFT", "FAW, China (trailers)"},
  546. {"LFV", "FAW-Volkswagen, China"},
  547. {"LFW", "FAW JieFang, China"},
  548. {"LFY", "Changshu Light Motorcycle Factory"},
  549. {"LGB", "Dong Feng (DFM), China"},
  550. {"LGH", "Qoros (formerly Dong Feng (DFM)), China"},
  551. {"LGX", "BYD Auto, China"},
  552. {"LH1", "FAW-Haima, China"},
  553. {"LHB", "Beijing Automotive Industry Holding"},
  554. {"LJ1", "JAC, China"},
  555. {"LJC", "JAC, China"},
  556. {"LKL", "Suzhou King Long, China"},
  557. {"LL6", "Hunan Changfeng Manufacture Joint-Stock"},
  558. {"LL8", "Linhai (ATV)"},
  559. {"LM5", "Isuzu"},
  560. {"LMC", "Suzuki Hong Kong (motorcycles)"},
  561. {"LPR", "Yamaha Hong Kong (motorcycles)"},
  562. {"LSG", "Shanghai General Motors, China"},
  563. {"LSJ", "MG Motor UK Limited - SAIC Motor, Shanghai, China"},
  564. {"LSV", "Shanghai Volkswagen, China"},
  565. {"LSY", "Brilliance Zhonghua"},
  566. {"LTV", "Toyota Tian Jin"},
  567. {"LUC", "Guangqi Honda, China"},
  568. {"LVS", "Ford Chang An"},
  569. {"LVV", "Chery, China"},
  570. {"LVZ", "Dong Feng Sokon Motor Company (DFSK)"},
  571. {"LZE", "Isuzu Guangzhou, China"},
  572. {"LZG", "Shaanxi Automobile Group, China"},
  573. {"LZM", "MAN China"},
  574. {"LZP", "Zhongshan Guochi Motorcycle (Baotian)"},
  575. {"LZY", "Yutong Zhengzhou, China"},
  576. {"LZZ", "Chongqing Shuangzing Mech & Elec (Howo)"},
  577. {"MA1", "Mahindra & Mahindra"},
  578. {"MA3", "Suzuki India (Maruti)"},
  579. {"MA6", "GM India"},
  580. {"MA7", "Mitsubishi India (formerly Honda)"},
  581. {"MAB", "Mahindra & Mahindra"},
  582. {"MAC", "Mahindra & Mahindra"},
  583. {"MAJ", "Ford India"},
  584. {"MAK", "Honda Siel Cars India"},
  585. {"MAL", "Hyundai"},
  586. {"MAT", "Tata Motors"},
  587. {"MB1", "Ashok Leyland"},
  588. {"MBH", "Suzuki India (Maruti)"},
  589. {"MBJ", "Toyota India"},
  590. {"MBR", "Mercedes-Benz India"},
  591. {"MC2", "Volvo Eicher commercial vehicles limited."},
  592. {"MCA", "Fiat India"},
  593. {"MCB", "GM India"},
  594. {"MD2", "Bajaj Auto"},
  595. {"MDH", "Nissan India"},
  596. {"MEE", "Renault India"},
  597. {"MEX", "Volkswagen India"},
  598. {"MHF", "Toyota Indonesia"},
  599. {"MHR", "Honda Indonesia"},
  600. {"ML3", "Dodge"},
  601. {"MLC", "Suzuki Thailand"},
  602. {"MLH", "Honda Thailand"},
  603. {"MM8", "Mazda Thailand"},
  604. {"MMB", "Mitsubishi Thailand"},
  605. {"MMC", "Mitsubishi Thailand"},
  606. {"MMM", "Chevrolet Thailand"},
  607. {"MMT", "Mitsubishi Thailand"},
  608. {"MNB", "Ford Thailand"},
  609. {"MNT", "Nissan Thailand"},
  610. {"MP1", "Isuzu Thailand"},
  611. {"MPA", "Isuzu Thailand"},
  612. {"MR0", "Toyota Thailand"},
  613. {"MRH", "Honda Thailand"},
  614. {"NLA", "Honda Türkiye"},
  615. {"NLE", "Mercedes-Benz Türk Truck"},
  616. {"NLH", "Hyundai Assan"},
  617. {"NM0", "Ford Turkey"},
  618. {"NM4", "Tofaş Türk"},
  619. {"NMT", "Toyota Türkiye"},
  620. {"PE1", "Ford Phillipines"},
  621. {"PE3", "Mazda Phillipines"},
  622. {"PL1", "Proton, Malaysia"},
  623. {"PNA", "NAZA, Malaysia (Peugeot)"},
  624. {"RF3", "Aeon Motor, Taiwan"},
  625. {"RFB", "Kymco, Taiwan"},
  626. {"RFG", "Sanyang SYM, Taiwan"},
  627. {"RFL", "Adly, Taiwan"},
  628. {"RFT", "CPI, Taiwan"},
  629. {"SA9", "Morgan"},
  630. {"SAJ", "Jaguar"},
  631. {"SAL", "Land Rover"},
  632. {"SAR", "Rover"},
  633. {"SAT", "Triumph"},
  634. {"SAX", "Sterling"},
  635. {"SB1", "Toyota UK"},
  636. {"SBM", "McLaren"},
  637. {"SCA", "Rolls Royce"},
  638. {"SCB", "Bentley"},
  639. {"SCC", "Lotus Cars"},
  640. {"SCE", "DeLorean Motor Cars N. Ireland (UK)"},
  641. {"SCF", "Aston Martin"},
  642. {"SDB", "Peugeot UK (formerly Talbot)"},
  643. {"SDL", "TVR Engineering"},
  644. {"SED", "General Motors Luton Plant"},
  645. {"SEY", "LDV"},
  646. {"SFA", "Ford UK"},
  647. {"SFD", "Alexander Dennis UK"},
  648. {"SHH", "Honda UK"},
  649. {"SHS", "Honda UK"},
  650. {"SJN", "Nissan UK"},
  651. {"SKF", "Vauxhall"},
  652. {"SLP", "JCB Research UK"},
  653. {"SMT", "Triumph Motorcycles"},
  654. {"SUF", "Fiat Auto Poland"},
  655. {"SUL", "FSC (Poland)"},
  656. {"SUP", "FSO-Daewoo (Poland)"},
  657. {"SUU", "Solaris Bus & Coach (Poland)"},
  658. {"TCC", "Micro Compact Car AG (smart 1998-1999)"},
  659. {"TDM", "QUANTYA Swiss Electric Movement (Switzerland)"},
  660. {"TM9", "Škoda trolleybuses (Czech Republic)"},
  661. {"TMA", "Hyundai Motor Manufacturing Czech"},
  662. {"TMB", "Škoda (Czech Republic)"},
  663. {"TMK", "Karosa (Czech Republic)"},
  664. {"TMP", "Škoda trolleybuses (Czech Republic)"},
  665. {"TMT", "Tatra (Czech Republic)"},
  666. {"TN9", "Karosa (Czech Republic)"},
  667. {"TNE", "TAZ"},
  668. {"TRA", "Ikarus Bus"},
  669. {"TRU", "Audi Hungary"},
  670. {"TSE", "Ikarus Egyedi Autobuszgyar, (Hungary)"},
  671. {"TSM", "Suzuki Hungary"},
  672. {"TW1", "Toyota Caetano Portugal"},
  673. {"TYA", "Mitsubishi Trucks Portugal"},
  674. {"TYB", "Mitsubishi Trucks Portugal"},
  675. {"U5Y", "Kia Motors Slovakia"},
  676. {"U6Y", "Kia Motors Slovakia"},
  677. {"UU1", "Renault Dacia, (Romania)"},
  678. {"UU3", "ARO"},
  679. {"UU6", "Daewoo Romania"},
  680. {"VAG", "Magna Steyr Puch"},
  681. {"VAN", "MAN Austria"},
  682. {"VBK", "KTM (Motorcycles)"},
  683. {"VF1", "Renault"},
  684. {"VF2", "Renault"},
  685. {"VF3", "Peugeot"},
  686. {"VF4", "Talbot"},
  687. {"VF6", "Renault (Trucks & Buses)"},
  688. {"VF7", "Citroën"},
  689. {"VF8", "Matra"},
  690. {"VG5", "MBK (motorcycles)"},
  691. {"VG6", "Mack"},
  692. {"VLU", "Scania France"},
  693. {"VN1", "SOVAB (France)"},
  694. {"VNE", "Irisbus (France)"},
  695. {"VNK", "Toyota France"},
  696. {"VNV", "Renault-Nissan"},
  697. {"VS6", "Ford Spain"},
  698. {"VS7", "Citroën Spain"},
  699. {"VS9", "Carrocerias Ayats (Spain)"},
  700. {"VSA", "Mercedes-Benz Spain"},
  701. {"VSE", "Suzuki Spain (Santana Motors)"},
  702. {"VSK", "Nissan Spain"},
  703. {"VSS", "Seat"},
  704. {"VSX", "Opel Spain"},
  705. {"VTH", "Derbi (motorcycles)"},
  706. {"VTT", "Suzuki Spain (motorcycles)"},
  707. {"VV9", "TAURO Spain"},
  708. {"VWA", "Nissan Spain"},
  709. {"VWV", "Volkswagen Spain"},
  710. {"VX1", "Zastava / Yugo Serbia"},
  711. {"W06", "Cadillac"},
  712. {"W0L", "Opel"},
  713. {"WA1", "Audi SUV"},
  714. {"WAG", "Neoplan"},
  715. {"WAU", "Audi"},
  716. {"WBA", "BMW"},
  717. {"WBS", "BMW"},
  718. {"WBX", "BMW"},
  719. {"WD0", "Dodge"},
  720. {"WD1", "Dodge"},
  721. {"WD2", "Dodge"},
  722. {"WD5", "Dodge"},
  723. {"WD8", "Dodge"},
  724. {"WDA", "Daimler"},
  725. {"WDB", "Maybach, Mercedes-Benz"},
  726. {"WDC", "Mercedes-Benz"},
  727. {"WDD", "Mercedes-Benz"},
  728. {"WDF", "Mercedes-Benz (commercial vehicles)"},
  729. {"WDP", "Dodge"},
  730. {"WDX", "Dodge"},
  731. {"WDY", "Dodge"},
  732. {"WEB", "Evobus GmbH (Mercedes-Bus)"},
  733. {"WF0", "Ford Germany"},
  734. {"WF1", "Merkur"},
  735. {"WJM", "Iveco Magirus"},
  736. {"WKK", "Fahrzeugwerke"},
  737. {"WMA", "MAN Germany"},
  738. {"WME", "Mercedes-Benz"},
  739. {"WMW", "Mini"},
  740. {"WMX", "Mercedes-AMG"},
  741. {"WP0", "Porsche"},
  742. {"WP1", "Porsche SUV"},
  743. {"WUA", "Audi"},
  744. {"WV1", "Volkswagen Commercial Vehicles"},
  745. {"WV2", "Volkswagen Bus/Van"},
  746. {"WV3", "Volkswagen Trucks"},
  747. {"WVG", "Volkswagen MPV/SUV"},
  748. {"WVW", "Volkswagen"},
  749. {"X4X", "AvtoTor (Russia, BMW SKD)"},
  750. {"X7L", "Renault AvtoFramos (Russia)"},
  751. {"X7M", "Hyundai TagAZ (Russia)"},
  752. {"XLB", "Volvo (NedCar)"},
  753. {"XLE", "Scania Netherlands"},
  754. {"XLR", "DAF (trucks)"},
  755. {"XMC", "Mitsubishi (NedCar)"},
  756. {"XTA", "Lada/AutoVaz (Russia)"},
  757. {"XTT", "UAZ/Sollers (Russia)"},
  758. {"XUF", "General Motors Russia"},
  759. {"XUU", "AvtoTor (Russia, General Motors SKD)"},
  760. {"XW8", "Volkswagen Group Russia"},
  761. {"XWB", "UZ-Daewoo (Uzbekistan)"},
  762. {"XWE", "AvtoTor (Russia, Hyundai-Kia SKD)"},
  763. {"Y6D", "Zaporozhets/AvtoZAZ (Ukraine)"},
  764. {"YB3", "Volvo"},
  765. {"YBW", "Volkswagen Belgium"},
  766. {"YCM", "Mazda Belgium"},
  767. {"YE2", "Van Hool (buses)"},
  768. {"YK1", "Saab-Valmet Finland"},
  769. {"YS2", "Scania AB"},
  770. {"YS3", "Saab"},
  771. {"YS4", "Scania Bus"},
  772. {"YTN", "Saab NEVS"},
  773. {"YU7", "Husaberg (motorcycles)"},
  774. {"YV1", "Volvo Cars"},
  775. {"YV2", "Volvo Trucks"},
  776. {"YV3", "Volvo Buses"},
  777. {"YV4", "Volvo Cars"},
  778. {"YV5", "Volvo"},
  779. {"Z8M", "Marussia (Russia)"},
  780. {"ZA9", "Lamborghini"},
  781. {"ZAA", "Autobianchi"},
  782. {"ZAM", "Maserati"},
  783. {"ZAP", "Piaggio/Vespa/Gilera"},
  784. {"ZAR", "Alfa Romeo"},
  785. {"ZBN", "Benelli"},
  786. {"ZC2", "Chrysler"},
  787. {"ZCF", "Iveco"},
  788. {"ZCG", "Cagiva SpA / MV Agusta"},
  789. {"ZD0", "Yamaha Italy"},
  790. {"ZD3", "Beta Motor"},
  791. {"ZD4", "Aprilia"},
  792. {"ZDF", "Ferrari Dino"},
  793. {"ZDM", "Ducati Motor Holdings SpA"},
  794. {"ZFA", "Fiat"},
  795. {"ZFC", "Fiat V.I."},
  796. {"ZFF", "Ferrari"},
  797. {"ZGU", "Moto Guzzi"},
  798. {"ZHW", "Lamborghini"},
  799. {"ZJM", "Malaguti"},
  800. {"ZJN", "Innocenti"},
  801. {"ZKH", "Husqvarna Motorcycles Italy"},
  802. {"ZLA", "Lancia"},
  803. {"ZOM", "OM"}
  804. };
  805. }
  806. }
  807. return _wmi;
  808. }
  809. }
  810. public string GetVINCountry (string vin)
  811. {
  812. if (IsStringValid(vin))
  813. {
  814. try
  815. {
  816. CreateSegmentsFromVIN(vin);
  817. string CountryCode = VIN_WMI.Substring(0, 2);
  818. return $"WMI: {VIN_WMI}\nVDS: {VIN_VDS}\nVIS: {VIN_VIS}\nПроизводитель: {WorldManufacturerIdentifiers[VIN_WMI]} ";
  819. }
  820. catch (System.ArgumentOutOfRangeException) { return "Исключение"; }
  821. }
  822. else return "Неверный формат VIN-кода";
  823. }
  824. public string CheckVIN(string vin)
  825. {
  826. if (IsStringValid(vin))
  827. return $"{vin} является верным VIN-кодом";
  828. else
  829. return $"{vin} не является верным VIN-кодом";
  830. }
  831. public string GetTransportYear(string vin)
  832. {
  833. return "don't work yet";
  834. }
  835. public bool IsStringValid (string vin)
  836. {
  837. if (vin.Length == 17)
  838. {
  839. return true;
  840. }
  841. else return false;
  842. }
  843. public void CreateSegmentsFromVIN (string vin)
  844. { if (IsStringValid(vin))
  845. {
  846. VIN_WMI = vin.Substring(0, 3);
  847. VIN_VDS = vin.Substring(4, 6);
  848. VIN_VIS = vin.Substring(10, 7);
  849. }
  850. }
  851. public bool IsSegmentsValid(string VIN_WMI, string VIN_VDS, string VIN_VIS)
  852. {
  853. if (VIN_WMI.Length == 3 && VIN_VDS.Length == 6 && VIN_VIS.Length == 8) return true; else return false;
  854. }
  855. }
  856. }