/// <summary> /// DataGridControl_EditClick event /// </summary> private void DataGridControl_EditClick(object sender, EventArgs e) { BaseEntity entity = (BaseEntity)this.DataGridControl_Instance.SelectedEntity; string tabEditerName = "TabEditer-" + entity.Id; if (tabControl_MainManager.TabPages.IndexOfKey(tabEditerName) == -1) { // Creation of Edit Tab page TabPage tabEditer = new TabPage(); tabEditer.Text = Glossary.Update + " : " + entity.ToString(); tabEditer.Name = tabEditerName; tabEditer.Font = this.tabControl_MainManager.TabPages["TabGrid"].Font; tabControl_MainManager.TabPages.Add(tabEditer); tabControl_MainManager.CausesValidation = false; // Creation of EntryForm BaseEntryForm form = EntryForm_Instance.CreateInstance(this.BLO_Instance, entity, null); form.Name = "EntityForm"; form.Dock = DockStyle.Fill; this.tabControl_MainManager.TabPages[tabEditerName].Controls.Add(form); tabControl_MainManager.SelectedTab = tabEditer; form.ShowEntity(this.Filter_Instance.GetFilterValues(), BaseEntryForm.EntityActions.Update); // Entry Form Events form.EnregistrerClick += Form_EditerClick; form.AnnulerClick += Form_AnnulerEditerClick; } else { TabPage tabEditer = this.tabControl_MainManager.TabPages[tabEditerName]; tabControl_MainManager.SelectedTab = tabEditer; } }
/// <summary> /// Add new Entity Click /// </summary> public void AddEntity_Click(object sender, EventArgs e) { // Return if Add Entity is Allready shwowen if (tabPageAdd.Text != Glossary.Add) { return; } // Show TabAdd Page tabPageAdd.Text = this.BLO_Instance.ConfigEntity.AddButton?.Title; tabControl_MainManager.CausesValidation = false; tabControl_MainManager.SelectedTab = tabPageAdd; // Fix MetroFrameWork Scrol TabPage Bug this.tabControl_MainManager.TabPages["tabPageAdd"].CreateControl(); // Create EntryForm Instance BaseEntity Entity = (BaseEntity)this.BLO_Instance.CreateEntityInstance(); BaseEntryForm form = EntryForm_Instance.CreateInstance(BLO_Instance, Entity, this.Filter_Instance.GetFilterValues()); form.Name = "Form"; form.Dock = DockStyle.Fill; form.ShowEntity(this.Filter_Instance.GetFilterValues(), BaseEntryForm.EntityActions.Add); tabPageAdd.Controls.Add(form); form.EnregistrerClick += EntryFormSave_Click; form.AnnulerClick += CancelEntryForm_Click; }
/// <summary> /// EntryForm Save Click /// </summary> private void EntryFormSave_Click(object sender, EventArgs e) { BaseEntryForm form = (BaseEntryForm)tabPageAdd.Controls .Find("Form", false).First(); this._EndAdd(); this.RefreshData(); }
/// <summary> /// Exécuter aprés un click sur le button annuler sur le formulaire de mise à jour /// </summary> private void Form_AnnulerEditerClick(object sender, EventArgs e) { BaseEntryForm form = (BaseEntryForm)sender; BaseEntity entity = form.Entity; string tabEditerName = "TabEditer-" + entity.Id; TabPage tabEditer = this.tabControl_MainManager.TabPages[tabEditerName]; tabControl_MainManager.TabPages.Remove(tabEditer); }
/// <summary> /// Exécuter aprés un click sur le button éditer sur le formulaire de mise à jour /// </summary> private void Form_EditerClick(object sender, EventArgs e) { BaseEntryForm form = (BaseEntryForm)sender; BaseEntity entity = form.Entity; string tabEditerName = "TabEditer-" + entity.Id; TabPage tabEditer = this.tabControl_MainManager.TabPages[tabEditerName]; // Suppression de la page Editer this.tabControl_MainManager.TabPages.Remove(tabEditer); this.RefreshData(); }
/// <summary> /// Create Instance as this EntryForm /// </summary> /// <returns></returns> public virtual BaseEntryForm CreateInstance(IGwinBaseBLO Service, BaseEntity entity, Dictionary <string, object> CritereRechercheFiltre) { BaseEntryForm formilaire = (BaseEntryForm)Activator.CreateInstance(this.GetType(), Service, entity, CritereRechercheFiltre, true); return(formilaire); }
public virtual BaseEntryForm CreateInstance(IGwinBaseBLO Service) { BaseEntryForm formilaire = (BaseEntryForm)Activator.CreateInstance(this.GetType(), Service); return(formilaire); }
/// Constructor /// </summary> /// <param name="BLO">Business OBject Instance</param> /// <param name="EntryForm_Instance">Entry Form Instance</param> /// <param name="Filter_Instance">Filter Instance</param> /// <param name="DataGrid_Instance">DataGrid Instance</param> /// <param name="DefaultFilterValues">Default Filter Values</param> /// <param name="FrmParent">Mdi Parent Form</param> public ManagerFormControl( IGwinBaseBLO BLO, BaseEntryForm EntryForm_Instance, BaseFilterControl Filter_Instance, GwinDataGridComponent DataGrid_Instance, Dictionary <string, object> DefaultFilterValues, Form FrmParent) { InitializeComponent(); // Init Properties values this.BLO_Instance = BLO; this.EntryForm_Instance = EntryForm_Instance; this.Filter_Instance = Filter_Instance; this.DataGridControl_Instance = DataGrid_Instance; this.DefaultFilterValues = DefaultFilterValues; this.FrmParent = FrmParent; // Create Entry Form Instance if (this.EntryForm_Instance == null) { if (this.BLO_Instance.ConfigEntity.GwinForm == null) { this.EntryForm_Instance = new BaseEntryForm(this.BLO_Instance); } else { this.EntryForm_Instance = (BaseEntryForm)Activator.CreateInstance(this.BLO_Instance.ConfigEntity.GwinForm.FormType, this.BLO_Instance); } } // Create and Init filtre Instance if (this.Filter_Instance == null) { this.Filter_Instance = new BaseFilterControl(this.BLO_Instance, this.DefaultFilterValues); } this.Filter_Instance.Dock = DockStyle.Fill; this.panel_Filtre.Controls.Add(this.Filter_Instance); this.Filter_Instance.RefreshEvent += BaseFilterControl_RefreshEvent; // Create and Init DataGrid Instance if (this.DataGridControl_Instance == null) { this.DataGridControl_Instance = new GwinDataGridComponent(this.BLO_Instance, this.DefaultFilterValues); } this.DataGridControl_Instance.Dock = DockStyle.Fill; groupBoxDataGrid.Controls.Add(this.DataGridControl_Instance); groupBoxDataGrid.CreateControl(); this.DataGridControl_Instance.EditClick += DataGridControl_EditClick; this.DataGridControl_Instance.EditManyToMany_Creation += DataGridControl_ManyToMany_Creation; // Create ActionsComponent this.ActionsComponent = new ActionsComponent(this); ActionsComponent.Dock = DockStyle.Fill; this.groupBoxActions.Controls.Add(this.ActionsComponent); // Update Titles this.Name = nameof(ManagerFormControl) + this.BLO_Instance.TypeEntity.ToString(); this.Text = this.BLO_Instance.ConfigEntity.ManagementForm.FormTitle; this.tabPageAdd.ToolTipText = this.BLO_Instance.ConfigEntity.AddButton.Title; this.tabControl_MainManager.TabPages["TabGrid"].Text = this.BLO_Instance.ConfigEntity.ManagementForm.TitrePageGridView; // TagAdd Title this.tabControl_MainManager.TabPages["tabPageAdd"].Text = Glossary.Add; // Selected Tab this.tabControl_MainManager.SelectedTab = this.tabControl_MainManager.TabPages["TabGrid"]; }