Пример #1
0
        /// <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;
            }
        }
Пример #2
0
        /// <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;
        }
Пример #3
0
        /// <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"];
        }