f_impvehi.cs 28 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Data;
  4. using System.IO;
  5. using System.Linq;
  6. using System.Text;
  7. using System.Threading;
  8. using System.Windows.Forms;
  9. using System.Xml.Linq;
  10. using Excel = Microsoft.Office.Interop.Excel;
  11. namespace Fuel01
  12. {
  13. public partial class F_impvehi : Form
  14. {
  15. private readonly string mode;
  16. private bool hasChanged = false;
  17. private List<Produit> lcarbu = new List<Produit>();
  18. private List<Famille> lfamille = new List<Famille>();
  19. private List<Produit> lproduit = new List<Produit>();
  20. private DataSet1.tb_vehiDataTable tb_vehi = new DataSet1.tb_vehiDataTable();
  21. public F_impvehi(string _mode)
  22. {
  23. InitializeComponent();
  24. mode = _mode;
  25. }
  26. private void Bt_ok_Click(object sender, EventArgs e)
  27. {
  28. if (checkZero.Checked)
  29. {
  30. tb_vehi.Clear();
  31. }
  32. if (mode == "tdf")
  33. {
  34. Import_tdf();
  35. }
  36. }
  37. private void Bt_openFile_Click(object sender, EventArgs e)
  38. {
  39. System.Windows.Forms.DialogResult res = openFileParc.ShowDialog();
  40. if (res == System.Windows.Forms.DialogResult.OK)
  41. {
  42. textNomFile.Text = openFileParc.FileName;
  43. }
  44. bt_ok.Enabled = (res == System.Windows.Forms.DialogResult.OK);
  45. }
  46. private void Combo_energy_TextUpdate(object sender, EventArgs e)
  47. {
  48. Produit cur_Prod = lproduit.Find(p => p.key_prod == combo_energy.Text);
  49. if (cur_Prod != null)
  50. StatusLabel1.Text = cur_Prod.lib_prod;
  51. else
  52. StatusLabel1.Text = "...";
  53. }
  54. private void F_vehi_FormClosing(object sender, FormClosingEventArgs e)
  55. {
  56. DataTable tb_vehi_change = tb_vehi.GetChanges();
  57. if (tb_vehi_change != null || hasChanged)
  58. {
  59. var result = MessageBox.Show("Voulez-vous valider les madifications apportées ?", "Modifications en cours",
  60. MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question);
  61. if (result == DialogResult.Yes)
  62. {
  63. SaveData();
  64. }
  65. if (result == DialogResult.Cancel)
  66. {
  67. e.Cancel = true;
  68. return;
  69. }
  70. }
  71. e.Cancel = false;
  72. }
  73. private void Import_tdf()
  74. {
  75. Excel.Application xlApp;
  76. Excel.Workbook xlWorkBook;
  77. Excel.Worksheet xlWorkSheet;
  78. object misValue = System.Reflection.Missing.Value;
  79. try
  80. {
  81. xlApp = new Excel.Application();
  82. xlWorkBook = xlApp.Workbooks.Open(textNomFile.Text, misValue);
  83. xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1);
  84. }
  85. catch (Exception ex)
  86. {
  87. MessageBox.Show($"Vérifier que le fichier n'est pas ouvert et est un fichier Excel correct\r\n{ex.Message}", "Ouverture de " + textNomFile.Text + " impossible", MessageBoxButtons.OK, MessageBoxIcon.Error);
  88. return;
  89. }
  90. uint[] indexCol = { 1, 2, 6, 8 };
  91. string categ = "A";
  92. int indiceVide = 0;
  93. for (uint row = 2; row < 800 && indiceVide<10; row++)
  94. {
  95. string model = "";
  96. string immat = "";
  97. string bandeau = "";
  98. string cmp = "";
  99. string famille = "";
  100. string pilote = "";
  101. bool ligneVide = true;
  102. int vide = 0;
  103. for (int colNdx = 0; colNdx < indexCol.Length; colNdx++)
  104. {
  105. uint col = indexCol[colNdx];
  106. var varex = xlWorkSheet.Cells[row, col].Value;
  107. if (varex != null)
  108. {
  109. ligneVide = false;
  110. string b = "";
  111. string mytype = varex.GetType().ToString();
  112. switch (mytype)
  113. {
  114. case "System.Int16":
  115. case "System.Int32":
  116. case "System.Int64":
  117. case "System.Double":
  118. b = ((Int32)varex).ToString();
  119. break;
  120. default:
  121. b = (string)varex;
  122. break;
  123. }
  124. int p;
  125. if (col == 12 && (p = b.IndexOf('\n')) != -1)
  126. b = b.Substring(0, p);
  127. b = b.Replace('\n', ' ');
  128. while (b.Contains(" "))
  129. b = b.Replace(" ", " ");
  130. switch (col)
  131. {
  132. case 1:
  133. bandeau = b;
  134. break;
  135. case 2:
  136. model = b;
  137. break;
  138. case 6:
  139. famille = b;
  140. break;
  141. case 8:
  142. immat = b;
  143. break;
  144. }
  145. }
  146. }
  147. if (ligneVide)
  148. {
  149. try
  150. {
  151. string m = (string)(xlWorkSheet.Cells[row, 4].Value);
  152. if (m != null && m.Contains("MOTOS"))
  153. {
  154. categ = "M";
  155. }
  156. }
  157. catch (Exception e)
  158. {
  159. Console.WriteLine(e.Message);
  160. }
  161. indiceVide++;
  162. }
  163. if (bandeau != "")
  164. {
  165. vide = 0;
  166. DataSet1.tb_vehiRow myNewRow = null;
  167. string key = "999999";
  168. bool newrow = false;
  169. try
  170. {
  171. if (!checkZero.Checked)
  172. {
  173. myNewRow = FindOnekey(bandeau);
  174. if (myNewRow != null)
  175. {
  176. key = myNewRow["key_vehi"].ToString();
  177. }
  178. }
  179. if (myNewRow == null)
  180. {
  181. key = FindNewkey();
  182. myNewRow = tb_vehi.Newtb_vehiRow();
  183. newrow = true;
  184. }
  185. myNewRow["key_vehi"] = key;
  186. myNewRow["ope_vehi"] = Program.key_ope;
  187. myNewRow["num_vehi"] = bandeau;
  188. myNewRow["cmpnum_vehi"] = cmp;
  189. myNewRow["immat_vehi"] = immat;
  190. myNewRow["type_vehi"] = model;
  191. myNewRow["famille_vehi"] = famille;
  192. myNewRow["categ_vehi"] = categ;
  193. myNewRow["cond_vehi"] = pilote;
  194. myNewRow["sort1_vehi"] = string.Format("{0}{1:00000}{2}", myNewRow["categ_vehi"], myNewRow["num_vehi"], myNewRow["cmpnum_vehi"]);
  195. myNewRow["carbu_vehi"] = categ == "M" ? "SP98" : "DIESEL";
  196. if (newrow)
  197. tb_vehi.Addtb_vehiRow(myNewRow);
  198. StatusLabel1.Text = string.Format("{0}{1:00000}{2}-{3}-{4}", myNewRow["categ_vehi"], myNewRow["num_vehi"], myNewRow["cmpnum_vehi"], myNewRow["cond_vehi"], myNewRow["immat_vehi"]);
  199. Application.DoEvents();
  200. }
  201. catch (Exception ex)
  202. {
  203. MessageBox.Show(string.Format("{3}\r\nPb. à insertion de {0} {1} {2}", bandeau, pilote, model, ex.Message));
  204. }
  205. }
  206. else
  207. vide++;
  208. if (vide > 10)
  209. break;
  210. }
  211. xlWorkBook?.Close();
  212. xlApp?.Quit();
  213. StatusLabel1.Text = "F I N I .................";
  214. MessageBox.Show($"Importation de {textNomFile.Text} terminée.", "Importation",MessageBoxButtons.OK, MessageBoxIcon.Information);
  215. }
  216. private void Init_list_famille()
  217. {
  218. XDocument xRoot = XDocument.Load(Program.folder + @"\param\famille.xml");
  219. var data = from item in xRoot.Descendants("tb_famille")
  220. orderby item.Element("key_fam").Value
  221. select new Famille()
  222. {
  223. key_fam = item.Element("key_fam").Value
  224. };
  225. lfamille = data.ToList();
  226. combo_famille.Items.Clear();
  227. combo_famille.DisplayMember = "key_fam";
  228. foreach (Famille f in lfamille)
  229. combo_famille.Items.Add(f);
  230. }
  231. private void Init_list_produit()
  232. {
  233. XDocument xRoot = XDocument.Load(Program.folder + @"\param\produit.xml");
  234. var data = from item in xRoot.Descendants("tb_prod")
  235. orderby item.Element("type_prod").Value, item.Element("lib_prod").Value
  236. select new Produit()
  237. {
  238. key_prod = item.Element("key_prod").Value,
  239. lib_prod = item.Element("lib_prod").Value,
  240. type_prod = item.Element("type_prod").Value
  241. };
  242. lproduit = data.ToList();
  243. lcarbu = lproduit.Where(p => p.type_prod == "Carburant").ToList();
  244. combo_energy.Items.Clear();
  245. combo_energy.DisplayMember = "key_prod";
  246. foreach (Produit p in lcarbu)
  247. combo_energy.Items.Add(p);
  248. }
  249. private void SaveData()
  250. {
  251. if (File.Exists(Program.subfolder + @"\vehicule.json"))
  252. File.Copy(Program.subfolder + @"\vehicule.json", Program.subfolder + @"\vehicule.back.json", true);
  253. if (DbUtil.SaveToJson<DataSet1.tb_vehiDataTable>(Program.subfolder + @"\vehicule.json", tb_vehi))
  254. {
  255. tb_vehi.AcceptChanges();
  256. hasChanged = false;
  257. }
  258. }
  259. private void Tb_allValid_Click(object sender, EventArgs e)
  260. {
  261. hasChanged = true;
  262. this.Close();
  263. }
  264. private void Vehi_Load(object sender, EventArgs e)
  265. {
  266. if (!Directory.Exists(Program.subfolder))
  267. Directory.CreateDirectory(Program.subfolder);
  268. else
  269. {
  270. if (File.Exists(Program.subfolder + @"\vehicule.json"))
  271. tb_vehi = DbUtil.LoadFromJson<DataSet1.tb_vehiDataTable>(Program.subfolder + @"\vehicule.json", tb_vehi);
  272. }
  273. tb_vehi.AcceptChanges();
  274. tbvehiculeBindingSource.DataSource = tb_vehi;
  275. Turn_txt(false);
  276. Turn_bt(false);
  277. if (Program.key_ope != null)
  278. this.Text = "Importation Véhicules " + Program.nom_ope;
  279. if (File.Exists(Program.folder + @"\param\famille.xml"))
  280. Init_list_famille();
  281. if (File.Exists(Program.folder + @"\param\produit.xml"))
  282. Init_list_produit();
  283. }
  284. #region affichage
  285. private void Turn_bt(bool act)
  286. {
  287. Bt_Abort.Enabled = act;
  288. bt_Valid.Enabled = act;
  289. bt_Mod.Enabled = !act;
  290. bt_Aj.Enabled = !act;
  291. bt_Sup.Enabled = !act;
  292. dg_vehi.Enabled = !act;
  293. }
  294. private void Turn_txt(bool act)
  295. {
  296. text_immat_vehi.Enabled = act;
  297. text_num_vehi.Enabled = act;
  298. text_cmpnum_vehi.Enabled = act;
  299. text_type_vehi.Enabled = act;
  300. text_kmdep_vehi.Enabled = act;
  301. text_kmarr_vehi.Enabled = act;
  302. text_cond_vehi.Enabled = act;
  303. combo_energy.Enabled = act;
  304. combo_famille.Enabled = act;
  305. text_sort_vehi.Enabled = act;
  306. }
  307. #endregion affichage
  308. #region Boutons
  309. private void Bt_Abort_Click(object sender, EventArgs e)
  310. {
  311. tb_vehi.RejectChanges();
  312. Turn_txt(false);
  313. Turn_bt(false);
  314. }
  315. private void Bt_Aj_Click(object sender, EventArgs e)
  316. {
  317. Turn_txt(true);
  318. Turn_bt(true);
  319. string key = FindNewkey();
  320. DataSet1.tb_vehiRow myNewRow = tb_vehi.Newtb_vehiRow();
  321. myNewRow["key_vehi"] = key;
  322. myNewRow["ope_vehi"] = Program.nom_ope;
  323. tb_vehi.Addtb_vehiRow(myNewRow);
  324. tbvehiculeBindingSource.MoveFirst();
  325. DataRowView myRow = tbvehiculeBindingSource.Current as DataRowView;
  326. while (myRow.Row["key_vehi"].ToString() != key)
  327. {
  328. tbvehiculeBindingSource.MoveNext();
  329. myRow = tbvehiculeBindingSource.Current as DataRowView;
  330. }
  331. }
  332. private void Bt_Mod_Click(object sender, EventArgs e)
  333. {
  334. Turn_bt(true);
  335. Turn_txt(true);
  336. }
  337. private void Bt_Sup_Click(object sender, EventArgs e)
  338. {
  339. DataRowView myRow = tbvehiculeBindingSource.Current as DataRowView;
  340. if (myRow == null) return;
  341. string msg = string.Format("Vehicule {0}\nEtes-vous certain de vouloir supprimer \n{1}", myRow.Row["num_vehi"].ToString(), myRow.Row["immat_vehi"].ToString());
  342. string caption = "Suppression définitive";
  343. if (MessageBox.Show(msg, caption, MessageBoxButtons.YesNo, MessageBoxIcon.Question) == System.Windows.Forms.DialogResult.Yes)
  344. {
  345. DataSet1.tb_vehiRow vehiRow = tb_vehi.FindBykey_vehi(myRow.Row["key_vehi"].ToString());
  346. if (vehiRow != null)
  347. tb_vehi.Removetb_vehiRow(vehiRow);
  348. hasChanged = true;
  349. }
  350. }
  351. private void Bt_Valid_Click(object sender, EventArgs e)
  352. {
  353. tb_vehi.AcceptChanges();
  354. Turn_txt(false);
  355. Turn_bt(false);
  356. hasChanged = true;
  357. }
  358. #endregion Boutons
  359. #region fonctions
  360. private string FindNewkey()
  361. {
  362. Random rand1 = new Random();
  363. string key = rand1.Next(99999).ToString();
  364. while (tb_vehi.FindBykey_vehi(key) != null)
  365. {
  366. key = rand1.Next(99999).ToString();
  367. }
  368. return key;
  369. }
  370. private DataSet1.tb_vehiRow FindOnekey(string bandeau)
  371. {
  372. if (Int32.TryParse(bandeau, out int bandoNum))
  373. {
  374. DataSet1.tb_vehiRow onevevi = tb_vehi.FirstOrDefault(v => v.num_vehi == bandoNum);
  375. return onevevi;
  376. }
  377. else
  378. {
  379. return null;
  380. }
  381. }
  382. #endregion fonctions
  383. }
  384. }
  385. /*
  386. private void Import_parc()
  387. {
  388. Excel.Application xlApp;
  389. Excel.Workbook xlWorkBook;
  390. Excel.Worksheet xlWorkSheet;
  391. object misValue = System.Reflection.Missing.Value;
  392. try
  393. {
  394. xlApp = new Excel.Application();
  395. xlWorkBook = xlApp.Workbooks.Open(textNomFile.Text, misValue);
  396. xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1);
  397. }
  398. catch (Exception ex)
  399. {
  400. MessageBox.Show($"Vérifier que le fichier n'est pas ouvert et est un fichier Excel correct {ex.Message}", "Ouverture de " + textNomFile.Text + " impossible", MessageBoxButtons.OK, MessageBoxIcon.Error);
  401. return;
  402. }
  403. uint[] indexCol = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 15 };
  404. for (uint row = 3; row < 800; row++)
  405. {
  406. string model = "";
  407. string immat = "";
  408. string bandeau = "";
  409. string famille = "";
  410. string pilote = "";
  411. string carbu = "D";
  412. string cmp = "";
  413. string categ = "A";
  414. int vide = 0;
  415. for (int colNdx = 0; colNdx < indexCol.Length; colNdx++)
  416. {
  417. uint col = indexCol[colNdx];
  418. var varex = xlWorkSheet.Cells[row, col].Value;
  419. if (varex != null)
  420. {
  421. string b = "";
  422. string mytype = varex.GetType().ToString();
  423. switch (mytype)
  424. {
  425. case "System.Int16":
  426. case "System.Int32":
  427. case "System.Int64":
  428. case "System.Double":
  429. b = ((Int32)varex).ToString();
  430. break;
  431. default:
  432. b = (string)varex;
  433. break;
  434. }
  435. while (b.Contains(" "))
  436. b = b.Replace(" ", " ");
  437. switch (col)
  438. {
  439. case 1:
  440. bandeau = b;
  441. break;
  442. case 2:
  443. famille = b;
  444. break;
  445. case 3:
  446. pilote = b;
  447. break;
  448. case 4:
  449. pilote = new StringBuilder(pilote).Append(" ").Append(b).ToString();
  450. break;
  451. case 5:
  452. carbu = b;
  453. break;
  454. case 6:
  455. model = b;
  456. break;
  457. case 7:
  458. immat = new StringBuilder(immat).Append(b).Append(" ").ToString();
  459. break;
  460. case 8:
  461. immat = new StringBuilder(immat).Append(b).Append(" ").ToString();
  462. break;
  463. case 9:
  464. immat = new StringBuilder(immat).Append(b).Append(" ").ToString();
  465. break;
  466. case 15:
  467. categ = b.ToUpper() == "M" ? "M" : "A";
  468. break;
  469. }
  470. }
  471. }
  472. if (bandeau != "")
  473. {
  474. vide = 0;
  475. DataSet1.tb_vehiRow myNewRow = null;
  476. string key = "999999";
  477. bool newrow = false;
  478. try
  479. {
  480. if (!checkZero.Checked)
  481. {
  482. myNewRow = FindOnekey(bandeau);
  483. if (myNewRow == null)
  484. {
  485. continue;
  486. }
  487. else
  488. {
  489. key = myNewRow["key_vehi"].ToString();
  490. }
  491. }
  492. if (myNewRow == null)
  493. {
  494. key = FindNewkey();
  495. myNewRow = tb_vehi.Newtb_vehiRow();
  496. newrow = true;
  497. }
  498. myNewRow["key_vehi"] = key;
  499. myNewRow["ope_vehi"] = Program.key_ope;
  500. myNewRow["num_vehi"] = bandeau;
  501. myNewRow["cmpnum_vehi"] = cmp;
  502. myNewRow["immat_vehi"] = immat;
  503. myNewRow["type_vehi"] = model;
  504. myNewRow["famille_vehi"] = famille;
  505. myNewRow["categ_vehi"] = categ;
  506. myNewRow["cond_vehi"] = pilote;
  507. myNewRow["sort1_vehi"] = string.Format("{0}{1:00000}{2}", myNewRow["categ_vehi"], myNewRow["num_vehi"], myNewRow["cmpnum_vehi"]);
  508. switch (carbu)
  509. {
  510. case "D":
  511. carbu = "DIESEL";
  512. break;
  513. case "E":
  514. carbu = "SP98";
  515. break;
  516. default:
  517. carbu = "?";
  518. break;
  519. }
  520. if (carbu == "?")
  521. {
  522. if (categ == "M")
  523. {
  524. myNewRow["carbu_vehi"] = "SP98";
  525. }
  526. else
  527. {
  528. myNewRow["carbu_vehi"] = "DIESEL";
  529. }
  530. }
  531. else
  532. {
  533. myNewRow["carbu_vehi"] = carbu;
  534. }
  535. if (newrow)
  536. tb_vehi.Addtb_vehiRow(myNewRow);
  537. StatusLabel1.Text = string.Format("{0}{1:00000}{2}-{3}-{4}", myNewRow["categ_vehi"], myNewRow["num_vehi"], myNewRow["cmpnum_vehi"], myNewRow["cond_vehi"], myNewRow["immat_vehi"]);
  538. Application.DoEvents();
  539. Thread.Sleep(5);
  540. }
  541. catch (Exception ex)
  542. {
  543. MessageBox.Show(string.Format("{3}\r\nPb. à insertion de {0} {1} {2}", bandeau, pilote, model, ex.Message));
  544. }
  545. }
  546. else
  547. { vide++; }
  548. if (vide > 10)
  549. {
  550. break;
  551. }
  552. }
  553. xlApp?.Quit();
  554. StatusLabel1.Text = "F I N I .................";
  555. }
  556. private void Import_PN()
  557. {
  558. Excel.Application xlApp;
  559. Excel.Workbook xlWorkBook;
  560. Excel.Worksheet xlWorkSheet;
  561. object misValue = System.Reflection.Missing.Value;
  562. try
  563. {
  564. xlApp = new Excel.Application();
  565. xlWorkBook = xlApp.Workbooks.Open(textNomFile.Text, misValue);
  566. xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1);
  567. }
  568. catch (Exception ex)
  569. {
  570. MessageBox.Show($"Vérifier que le fichier n'est pas ouvert et est un fichier Excel correct \r\n {ex.Message}", "Ouverture de " + textNomFile.Text + " impossible", MessageBoxButtons.OK, MessageBoxIcon.Error);
  571. return;
  572. }
  573. uint[] indexCol = { 1, 3, 4, 6, 7, 8, 9 };
  574. string categ = "A";
  575. for (uint row = 2; row < 200; row++)
  576. {
  577. string model = "";
  578. string immat = "";
  579. string bandeau = "";
  580. string carbu = "";
  581. string famille = "";
  582. string pilote = "";
  583. int vide = 0;
  584. for (int colNdx = 0; colNdx < indexCol.Length; colNdx++)
  585. {
  586. uint col = indexCol[colNdx];
  587. var varex = xlWorkSheet.Cells[row, col].Value;
  588. if (varex != null)
  589. {
  590. string b = "";
  591. string mytype = varex.GetType().ToString();
  592. switch (mytype)
  593. {
  594. case "System.Int16":
  595. case "System.Int32":
  596. case "System.Int64":
  597. case "System.Double":
  598. b = ((Int32)varex).ToString();
  599. break;
  600. default:
  601. b = (string)varex;
  602. break;
  603. }
  604. b = b.Replace('\n', ' ');
  605. while (b.Contains(" "))
  606. b = b.Replace(" ", " ");
  607. switch (col)
  608. {
  609. case 1:
  610. bandeau = b;
  611. break;
  612. case 3:
  613. famille = b;
  614. break;
  615. case 4:
  616. pilote = b;
  617. break;
  618. case 6:
  619. model = b;
  620. break;
  621. case 7:
  622. carbu = b;
  623. break;
  624. case 8:
  625. immat = b;
  626. break;
  627. case 9:
  628. categ = b;
  629. break;
  630. }
  631. }
  632. }
  633. if (bandeau != "")
  634. {
  635. vide = 0;
  636. DataSet1.tb_vehiRow myNewRow = null;
  637. string key = "999999";
  638. bool newrow = false;
  639. try
  640. {
  641. if (!checkZero.Checked)
  642. {
  643. myNewRow = FindOnekey(bandeau);
  644. if (myNewRow != null)
  645. {
  646. key = myNewRow["key_vehi"].ToString();
  647. }
  648. }
  649. if (myNewRow == null)
  650. {
  651. key = FindNewkey();
  652. myNewRow = tb_vehi.Newtb_vehiRow();
  653. newrow = true;
  654. }
  655. myNewRow["key_vehi"] = key;
  656. myNewRow["ope_vehi"] = Program.key_ope;
  657. myNewRow["num_vehi"] = bandeau;
  658. myNewRow["cmpnum_vehi"] = "";
  659. myNewRow["immat_vehi"] = immat;
  660. myNewRow["type_vehi"] = model;
  661. myNewRow["famille_vehi"] = famille;
  662. myNewRow["categ_vehi"] = categ;
  663. myNewRow["cond_vehi"] = pilote;
  664. myNewRow["sort1_vehi"] = string.Format("{0}{1:00000}{2}", myNewRow["categ_vehi"], myNewRow["num_vehi"], myNewRow["cmpnum_vehi"]);
  665. myNewRow["carbu_vehi"] = carbu == "E" ? "SP98" : "DIESEL";
  666. if (newrow)
  667. tb_vehi.Addtb_vehiRow(myNewRow);
  668. StatusLabel1.Text = string.Format("{0}{1:00000}{2}-{3}-{4}", myNewRow["categ_vehi"], myNewRow["num_vehi"], myNewRow["cmpnum_vehi"], myNewRow["cond_vehi"], myNewRow["immat_vehi"]);
  669. Application.DoEvents();
  670. }
  671. catch (Exception ex)
  672. {
  673. MessageBox.Show(string.Format("{3}\r\nPb. à insertion de {0} {1} {2}", bandeau, pilote, model, ex.Message));
  674. }
  675. }
  676. else
  677. vide++;
  678. if (vide > 10)
  679. break;
  680. }
  681. xlApp?.Quit();
  682. StatusLabel1.Text = "F I N I .................";
  683. }
  684. */