using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace Fuel01 { public partial class f_param : Form { bool familleHasChanged = false; bool prodHasChanged = false; bool paysHasChanged = false; DataSet1.tb_familleDataTable tb_famille = new DataSet1.tb_familleDataTable(); DataSet1.tb_prodDataTable tb_prod = new DataSet1.tb_prodDataTable(); DataSet1.tb_paysDataTable tb_pays = new DataSet1.tb_paysDataTable(); public f_param() { InitializeComponent(); } private void f_param_Load(object sender, EventArgs e) { if (File.Exists(Program.folder + @"\Param\famille.xml")) tb_famille.ReadXml(Program.folder + @"\Param\famille.xml"); if (File.Exists(Program.folder + @"\Param\produit.xml")) tb_prod.ReadXml(Program.folder + @"\Param\produit.xml"); if (File.Exists(Program.folder + @"\Param\pays.xml")) tb_pays.ReadXml(Program.folder + @"\Param\pays.xml"); tb_famille.AcceptChanges(); tbfamilleBindingSource.DataSource = tb_famille; tb_famille.tb_familleRowChanged += tb_famille_tb_familleRowChanged; tb_prod.AcceptChanges(); tbprodBindingSource.DataSource = tb_prod; tb_prod.tb_prodRowChanged += tb_prod_tb_prodRowChanged; tb_pays.AcceptChanges(); tbpaysBindingSource.DataSource = tb_pays; tb_pays.tb_paysRowChanged += tb_pays_tb_paysRowChanged; } #region param #region famille void tb_famille_tb_familleRowChanged(object sender, DataSet1.tb_familleRowChangeEvent e) { familleHasChanged = true; } private void SupFam() { DataRowView myRow = tbfamilleBindingSource.Current as DataRowView; if (myRow == null) return; string msg = string.Format("Etes-vous certain de vouloir supprimer {0} ", myRow.Row["key_fam"].ToString()); string caption = "Suppression définitive"; if (MessageBox.Show(msg, caption, MessageBoxButtons.YesNo, MessageBoxIcon.Question) == System.Windows.Forms.DialogResult.Yes) { DataSet1.tb_familleRow familleRow = tb_famille.FindBykey_fam(myRow.Row["key_fam"].ToString()); if (familleRow != null) tb_famille.Removetb_familleRow(familleRow); familleHasChanged = true; } } #endregion #region produit void tb_prod_tb_prodRowChanged(object sender, DataSet1.tb_prodRowChangeEvent e) { prodHasChanged = true; } private void SupProd() { DataRowView myRow = tbprodBindingSource.Current as DataRowView; if (myRow == null) return; string msg = string.Format("Produit {0} {1}\nEtes-vous certain de vouloir supprimer ", myRow.Row["key_prod"].ToString(), myRow.Row["lib_prod"].ToString()); string caption = "Suppression définitive"; if (MessageBox.Show(msg, caption, MessageBoxButtons.YesNo, MessageBoxIcon.Question) == System.Windows.Forms.DialogResult.Yes) { DataSet1.tb_prodRow prodRow = tb_prod.FindBykey_prod(myRow.Row["key_prod"].ToString()); if (prodRow != null) tb_prod.Removetb_prodRow(prodRow); prodHasChanged = true; } } #endregion #region Pays void tb_pays_tb_paysRowChanged(object sender, DataSet1.tb_paysRowChangeEvent e) { paysHasChanged = true; } private void SupPays() { DataRowView myRow = tbpaysBindingSource.Current as DataRowView; if (myRow == null) return; string msg = string.Format("Pays {0} {1}\nEtes-vous certain de vouloir supprimer ", myRow.Row["key_pays"].ToString(), myRow.Row["nom_pays"].ToString()); string caption = "Suppression définitive"; if (MessageBox.Show(msg, caption, MessageBoxButtons.YesNo, MessageBoxIcon.Question) == System.Windows.Forms.DialogResult.Yes) { DataSet1.tb_paysRow paysRow = tb_pays.FindBykey_pays(myRow.Row["key_pays"].ToString()); if (paysRow != null) tb_pays.Removetb_paysRow(paysRow); paysHasChanged = true; } } #endregion private void f_param_FormClosing(object sender, FormClosingEventArgs e) { if (familleHasChanged) { tb_famille.WriteXml(Program.folder + @"\Param\famille.xml", XmlWriteMode.WriteSchema); } if (prodHasChanged) { tb_prod.WriteXml(Program.folder + @"\Param\produit.xml", XmlWriteMode.WriteSchema); } if (paysHasChanged) { tb_pays.WriteXml(Program.folder + @"\Param\pays.xml", XmlWriteMode.WriteSchema); } e.Cancel = false; } #endregion private void bt_Sup_Click(object sender, EventArgs e) { switch( tabParam.SelectedTab.Name ) { case "tabFam": SupFam(); break; case "tabProd": SupProd(); break; case "tabPays": SupPays(); break; } } } }