示例#1
0
        public void Show_and_Read_Entity_In_EntryFormTest()
        {
            BaseEntryForm baseEntryForm = new BaseEntryForm(this.TaskProjectBLO);

            TaskProject taskProject = new TaskProjectBLO().CreateTestInstance();

            // Set Default Values
            // Set Values
            foreach (var prorpertyInfo in taskProject.GetType().GetProperties())
            {
                ConfigProperty    configProperty  = new ConfigProperty(prorpertyInfo, configEntity);
                IFieldTraitements fieldTraitement = BaseFieldTraitement.CreateInstance(configProperty);
                var value = fieldTraitement.GetTestValue(prorpertyInfo);
                // Set Value
                prorpertyInfo.SetValue(taskProject, value);
            }



            baseEntryForm.Entity = taskProject;



            // Show Entity to View
            baseEntryForm.ShowEntity();


            // Read Entity from View
            baseEntryForm.ReadEntity();
        }
        public void WriteEntity_To_EntryFormTest()
        {
            BaseEntryForm baseEntryForm = new BaseEntryForm(entityMiniConfigBLO, Entity, new Dictionary <string, object>(), true);

            baseEntryForm.BaseEntryForm_Load(baseEntryForm, null);
            baseEntryForm.ShowEntity();
        }
示例#3
0
        /// <summary>
        /// Constructor
        /// </summary>
        /// <param name="EntityBLO">Business object instance</param>
        /// <param name="EntryFormInstance">Entry form instance</param>
        /// <param name="FilterValues">Values of Filter</param>
        /// <param name="MdiForm">Mdi form instance</param>
        public ManagerForm(
            IGwinBaseBLO EntityBLO,
            BaseEntryForm EntryFormInstance,
            Dictionary <string, object> FilterValues,
            Form MdiForm)
        {
            InitializeComponent();

            managerFormControl = new ManagerFormControl(EntityBLO,
                                                        EntryFormInstance,
                                                        null, null,
                                                        FilterValues, MdiForm);
            managerFormControl.Dock = DockStyle.Fill;

            this.Name = EntityBLO.GetType().ToString();
            this.Text = EntityBLO.ConfigEntity.ManagementForm?.FormTitle;
            this.Controls.Add(managerFormControl);


            // Confirm RightToLeft
            this.RightToLeft       = RightToLeft.Yes;
            this.RightToLeftLayout = GwinApp.isRightToLeft;

            // Confib Width and Height
            if (EntityBLO.ConfigEntity.ManagementForm.Width != 0)
            {
                this.Width = EntityBLO.ConfigEntity.ManagementForm.Width;
            }
            if (EntityBLO.ConfigEntity.ManagementForm.Height != 0)
            {
                this.Height = EntityBLO.ConfigEntity.ManagementForm.Height;
            }
        }
示例#4
0
        public void ValueChanged(BaseEntryForm EntryForm, object sender)
        {
            BaseField field = sender as BaseField;

            switch (field.Name)
            {
            case nameof(LeaveAsk.leaveCategory):
            {
                //ComboBoxField leavecatfield = field as ComboBoxField;
                //ManyToOneField Stafffield = EntryForm.Fields[nameof(LeaveAsk.staff)] as ManyToOneField;
                //Staff staff = Stafffield.SelectedItem as Staff;
                //Int32Filed nbdays = EntryForm.Fields[nameof(LeaveAsk.nbDaysWanted)] as Int32Filed;

                ManyToOneField leavecatfield = EntryForm.Fields[nameof(LeaveAsk.leaveCategory)] as ManyToOneField;
                LeaveCategory  leavecategory = leavecatfield.SelectedItem as LeaveCategory;
                ManyToOneField stafffield    = EntryForm.Fields[nameof(LeaveAsk.staff)] as ManyToOneField;
                Staff          staff         = stafffield.SelectedItem as Staff;
                Int32Filed     nbdays        = EntryForm.Fields[nameof(LeaveAsk.nbDaysWanted)] as Int32Filed;

                if (leavecategory.Reference == "Administrativeleave")
                {
                    staff.nbTotalDaysAdmin = staff.nbTotalDaysAdmin - nbdays;
                }
            }
            break;
            }
        }
示例#5
0
        /// <summary>
        /// Afficher une gestion avec une formulaire spécifique
        /// </summary>
        /// <typeparam name="T">L'objet à gérer</typeparam>
        /// <param name="formulaire">Le Formulaire spécifique</param>
        public EntityManagementForm AfficherUneGestion <T>(BaseEntryForm formulaire) where T : BaseEntity
        {
            EntityManagementForm form = new EntityManagementForm(formulaire.Service, formulaire, null, this.FormApplicationMdi);

            this.Afficher(form);
            return(form);
        }
        public void ValueChanged(BaseEntryForm EntryForm, object sender)
        {
            BaseField field = sender as BaseField;

            switch (field.Name)
            {
            // Physical State Explication
            case nameof(Departure.Type):
            {
                ComboBoxField DepartureTypeField = field as ComboBoxField;

                DepartureType DepartureType = (DepartureType)DepartureTypeField.Value;

                if (DepartureType == DepartureType.Externe)
                {
                    EntryForm.Fields[nameof(Departure.Observations)].Hide();
                }
                else
                {
                    EntryForm.Fields[nameof(Departure.Observations)].Show();
                }
            }
            break;
            }
        }
示例#7
0
        /// <summary>
        /// Boutton Ajouter un nouveau entité
        /// </summary>
        public void bt_Ajouter_Click(object sender, EventArgs e)
        {
            // Insertion de la page TabAjouter s'il n'existe pas
            if (tabControl.TabPages.IndexOfKey("TabAjouter") == -1)
            {
                //
                // Création de TabPage - Ajouter
                //
                TabPage tabAjouter = new TabPage();
                tabAjouter.Text = this.Service.getAffichageDansFormGestionAttribute().TitreButtonAjouter;
                tabAjouter.Name = "TabAjouter";
                tabControl.TabPages.Add(tabAjouter);
                tabControl.CausesValidation = false;

                //
                // Insertion du formulaire
                //
                BaseEntity    Entity = (BaseEntity)this.Service.CreateInstanceObjet();
                BaseEntryForm form   = Formulaire.CreateInstance(Service, Entity, this.BaseFilterControl.CritereRechercheFiltre());
                form.Name = "Form";
                form.Dock = DockStyle.Fill;
                form.WriteEntityToField(this.BaseFilterControl.CritereRechercheFiltre());


                this.tabControl.TabPages["TabAjouter"].Controls.Add(form);
                tabControl.SelectedTab = tabAjouter;
                form.EnregistrerClick += Form_EnregistrerClick;
                form.AnnulerClick     += Form_AnnulerAjouterClick;
            }
        }
        /// <summary>
        /// Editer un objet séléctioné du DataGridView
        /// </summary>
        private void EditerObjet()
        {
            BaseEntity entity        = (BaseEntity)ObjetBindingSource.Current;
            string     tabEditerName = "TabEditer-" + entity.Id;

            if (tabControl.TabPages.IndexOfKey(tabEditerName) == -1)
            {
                // Création de Tab
                TabPage tabEditer = new TabPage();
                tabEditer.Text = entity.ToString();
                tabEditer.Name = tabEditerName;
                tabControl.TabPages.Add(tabEditer);
                tabControl.CausesValidation = false;

                // Insertion du formulaire
                BaseEntryForm form = Formulaire.CreateInstance(this.Service, entity, null);
                form.Name = "EntityForm";
                form.Dock = DockStyle.Fill;

                this.tabControl.TabPages[tabEditerName].Controls.Add(form);
                tabControl.SelectedTab = tabEditer;

                form.WriteEntityToField(this.BaseFilterControl.CritereRechercheFiltre());
                form.EnregistrerClick += Form_EditerClick;
                form.AnnulerClick     += Form_AnnulerEditerClick;
            }
            else
            {
                TabPage tabEditer = this.tabControl.TabPages[tabEditerName];
                tabControl.SelectedTab = tabEditer;
            }
        }
示例#9
0
        /// <summary>
        /// Create an Show ManagerForm
        /// </summary>
        /// <typeparam name="T">Type of Entity</typeparam>
        /// <param name="EntryFormInstance">Entry Form Instance</param>
        /// <returns></returns>
        public ManagerForm ShowManagerForm <T>(BaseEntryForm EntryFormInstance) where T : BaseEntity
        {
            ManagerForm form = new ManagerForm(EntryFormInstance.EntityBLO, EntryFormInstance, null, (Form)this.MdiForm);

            this.ShwoForm(form);
            return(form);
        }
 public void FormAfterInit(BaseEntryForm EntryForm)
 {
     // In
     //EntryForm.Fields[nameof(MaterialInOut.InDate)].Hide();
     //EntryForm.Fields[nameof(MaterialInOut.InReason)].Hide();
     // Location
     EntryForm.Fields[nameof(MaterialInOut.Location)].Hide();
 }
        public void CreateField_In_EntryFormTest()
        {
            BaseEntryForm baseEntryForm = new BaseEntryForm(entityMiniConfigBLO, Entity, new Dictionary <string, object>(), true);

            baseEntryForm.BaseEntryForm_Load(baseEntryForm, null);
            // Load EntityMiniConfigBLO dynamicly

            Assert.AreEqual(typeof(TaskProjectBLO), entityMiniConfigBLO.GetUnProxyType());
        }
        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.TabPages[tabEditerName];

            tabControl.TabPages.Remove(tabEditer);
        }
示例#13
0
        /// <summary>
        /// Enregistrer un Stagiaire
        /// </summary>
        private void Form_EnregistrerClick(object sender, EventArgs e)
        {
            TabPage       tabAjouter = this.tabControl.TabPages["TabAjouter"];
            BaseEntryForm form       = (BaseEntryForm)tabAjouter.Controls
                                       .Find("Form", false).First();

            this.tabControl.TabPages.Remove(tabAjouter);
            this.Actualiser();
        }
        private void tabControl_Selected(object sender, TabControlEventArgs e)
        {
            IEnumerable <BaseEntryForm> ls = tabControl.SelectedTab.Controls.OfType <BaseEntryForm>();

            if (ls.Count() == 1)
            {
                BaseEntryForm BaseEntryForm = ls.First();
                this.ParentForm.AcceptButton = BaseEntryForm.btEnregistrer;
            }
        }
 public void ValueChanged(BaseEntryForm EntryForm, object sender)
 {
     if ((string)EntryForm.Fields[nameof(Group.Name)].Value != String.Empty)
     {
         EntryForm.Fields[nameof(Group.Specialty)].Show();
     }
     else
     {
         EntryForm.Fields[nameof(Group.Specialty)].Hide();
     }
 }
        public void ManyToOneField_Form()
        {
            using (ModelContext db = new ModelContext())
            {
                IGwinBaseBLO GroupeBLO             = new GwinBaseBLO <Group>(db);
                Dictionary <string, object> filter = new Dictionary <string, object>();

                Specialty Specialty = db.Specialtys.Where(s => s.Reference == "TDI").SingleOrDefault();
                filter.Add(nameof(Specialty), Specialty.Id);
                BaseEntryForm GroupeEntryForm = new BaseEntryForm(GroupeBLO, null, filter, true);
            }
        }
示例#17
0
        public void Add_BaseEntryFormTest()
        {
            // Test All EntryForm
            using (ModelContext db = new ModelContext())
            {
                foreach (var item in new GwinEntitiesManager().GetAll_Entities_Type())
                {
                    IGwinBaseBLO EntityBLO = GwinBaseBLO <BaseEntity> .CreateBLO_Instance(item, GwinApp.Instance.TypeBaseBLO);

                    BaseEntryForm baseEntryForm = new BaseEntryForm(EntityBLO);
                }
            }
        }
        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.TabPages[tabEditerName];

            // Suppression de la page Editer
            this.tabControl.TabPages.Remove(tabEditer);
            this.Actualiser();
        }
        public void ValueChanged(BaseEntryForm EntryForm, object sender)
        {
            //// In
            //if ((bool)EntryForm.Fields[nameof(MaterialInOut.InStock)].Value == true)
            //{
            //    EntryForm.Fields[nameof(MaterialInOut.InDate)].Show();
            //    EntryForm.Fields[nameof(MaterialInOut.InReason)].Show();
            //}
            //else
            //{
            //    EntryForm.Fields[nameof(MaterialInOut.InDate)].Hide();
            //    EntryForm.Fields[nameof(MaterialInOut.InReason)].Hide();
            //}

            // Location
            BaseField field = sender as BaseField;

            switch (field.Name)
            {
            // Location
            case nameof(MaterialInOut.Service):
            {
                ManyToOneField servicefield = field as ManyToOneField;

                Service service = servicefield.SelectedItem as Service;

                if (service != null && new LocationBLO(db).LocationsByService(service).Count > 0)
                {
                    EntryForm.Fields[nameof(MaterialInOut.Location)].Show();

                    ManyToOneField  LocationField = EntryForm.Fields[nameof(MaterialInOut.Location)] as ManyToOneField;
                    List <Location> lc            = new LocationBLO(db).LocationsByService(service);
                    LocationField.DataSource = lc;
                }
                else
                {
                    EntryForm.Fields[nameof(MaterialInOut.Location)].Hide();
                }
            }
            break;
            }
        }
        public void ValueChanged(BaseEntryForm EntryForm, object sender)
        {
            BaseField field = sender as BaseField;

            switch (field.Name)
            {
            // Physical State Explication
            case nameof(Material.PhysicalState):
            {
                ComboBoxField PhysicalstateField = field as ComboBoxField;

                PhysicalStates PhysicalState = (PhysicalStates)PhysicalstateField.Value;

                if (PhysicalState == PhysicalStates.autre)
                {
                    EntryForm.Fields[nameof(Material.PhysicalStateExplication)].Show();
                }
            }
            break;
            }
        }
示例#21
0
        public void ValueChanged(BaseEntryForm EntryForm, object sender)
        {
            BaseField field = sender as BaseField;

            switch (field.Name)
            {
            case nameof(AdvancementGrade.gradecategory):
            {
                ManyToOneField gradecatfield = field as ManyToOneField;
                GradeCategory  gradecategory = gradecatfield.SelectedItem as GradeCategory;
                if (gradecategory != null)
                {
                    EntryForm.Fields[nameof(AdvancementGrade.grade)].Show();
                    ManyToOneField    gradefield = EntryForm.Fields[nameof(AdvancementGrade.grade)] as ManyToOneField;
                    List <StaffGrade> ls         = gradecategory.grades;
                    gradefield.DataSource = ls;
                }
            }
            break;
            }
        }
 public void FormBeforInit(BaseEntryForm EntryForm)
 {
 }
 public void ValidatingFiled(BaseEntryForm EntryForm, object sender)
 {
 }
示例#24
0
 public void FormAfterInit(BaseEntryForm EntryForm)
 {
     EntryForm.Fields[nameof(AdvancementGrade.grade)].Hide();
 }
 public void FormAfterInit(BaseEntryForm EntryForm)
 {
     // EntryForm.GroupsBoxes[]
     // Physical State Explication
     EntryForm.Fields[nameof(Material.PhysicalStateExplication)].Hide();
 }
示例#26
0
 public void FormAfterInit(BaseEntryForm EntryForm)
 {
     EntryForm.Fields[nameof(MissionOrder.Staff)].Hide();
     EntryForm.Fields[nameof(MissionOrder.Car)].Hide();
     EntryForm.Fields[nameof(MissionOrder.ValidationDate)].Hide();
 }
示例#27
0
        public void ValueChanged(BaseEntryForm EntryForm, object sender)
        {
            BaseField field = sender as BaseField;

            switch (field.Name)
            {
            case  nameof(MissionOrder.MissionConvocation):
            {
                ManyToOneField     missionField       = field as ManyToOneField;
                MissionConvocation MissionConvocation = missionField.SelectedItem as MissionConvocation;

                if (MissionConvocation != null)
                {
                    EntryForm.Fields[nameof(MissionOrder.Staff)].Show();
                    ManyToOneField StaffField = EntryForm.Fields[nameof(MissionOrder.Staff)] as ManyToOneField;

                    List <Staff> ls = MissionConvocation.Staffs;
                    //  ls.Insert(0, new Staff()); throw Datetime2 exception
                    StaffField.DataSource = ls;
                }
            }

            break;

            case  nameof(MissionOrder.MeansTransportCategory):
            {
                ComboBoxField missioncarfieled = field as ComboBoxField;

                meanscatG = (MeansTransportCategories)missioncarfieled.Value;

                this.ShowCars(meanscatG, staffG, EntryForm);
            }
            break;

            case nameof(MissionOrder.Validation):
            {
                BooleanField missionValiditionfield = field as BooleanField;
                bool         validation             = (bool)missionValiditionfield.Value;
                if (validation)
                {
                    EntryForm.Fields[nameof(MissionOrder.ValidationDate)].Show();
                    BooleanField validitionfield = EntryForm.Fields[nameof(MissionOrder.ValidationDate)] as BooleanField;
                }
                else
                {
                    EntryForm.Fields[nameof(MissionOrder.ValidationDate)].Hide();
                    BooleanField validitionfield = EntryForm.Fields[nameof(MissionOrder.ValidationDate)] as BooleanField;
                }
            }
            break;

            case nameof(MissionOrder.Staff):
            {
                ManyToOneField missionStaffield = field as ManyToOneField;

                staffG = missionStaffield.SelectedItem as Staff;

                this.ShowCars(meanscatG, staffG, EntryForm);
            }
            break;
            }
        }
示例#28
0
        public void ShowCars(MeansTransportCategories meansTransportCategories, Staff staff, BaseEntryForm EntryForm)
        {
            if (staff == null || meansTransportCategories == MeansTransportCategories.Public)
            {
                EntryForm.Fields[nameof(MissionOrder.Car)].Hide();
            }
            else
            if (staff != null && meansTransportCategories == MeansTransportCategories.Public)
            {
                EntryForm.Fields[nameof(MissionOrder.Car)].Hide();
            }
            else
            if (staff == null && meansTransportCategories == MeansTransportCategories.Voiture_de_Service)
            {
                EntryForm.Fields[nameof(MissionOrder.Car)].Show();
                ManyToOneField CarField = EntryForm.Fields[nameof(MissionOrder.Car)] as ManyToOneField;
                List <Car>     ls       = new ModelContext().Cars.Where(r => r.PersonelCar == false).ToList <Car>();
                CarField.DataSource = ls;
                if (ls.Count < 1)
                {
                    CarField.TextCombobox = "";
                }
            }
            else
            if (staff != null && meansTransportCategories == MeansTransportCategories.Voiture_de_Service)
            {
                EntryForm.Fields[nameof(MissionOrder.Car)].Show();
                ManyToOneField CarField = EntryForm.Fields[nameof(MissionOrder.Car)] as ManyToOneField;
                List <Car>     ls       = new ModelContext().Cars.Where(r => r.PersonelCar == false).ToList <Car>();
                CarField.DataSource = ls;
                if (ls.Count < 1)
                {
                    CarField.TextCombobox = "";
                }
            }
            else
            if (staff == null && meansTransportCategories == MeansTransportCategories.Voiture_Personnel)
            {
                EntryForm.Fields[nameof(MissionOrder.Car)].Show();
            }
            else
            if (staff != null && meansTransportCategories == MeansTransportCategories.Voiture_Personnel)
            {
                ManyToOneField CarField = EntryForm.Fields[nameof(MissionOrder.Car)] as ManyToOneField;

                List <Car> ls = new ModelContext().Cars.Where(r => r.Staff.Id == staff.Id).ToList <Car>();
                CarField.DataSource = ls;
                EntryForm.Fields[nameof(MissionOrder.Car)].Show();
                if (ls.Count < 1)
                {
                    CarField.TextCombobox = "";
                }
            }
        }
 public EntityTabControl(IBaseRepository Service,
                         EntityFilterControl BaseFilterControl, Form MdiParent, BaseEntryForm Formulaire) : base(Service, BaseFilterControl, MdiParent, Formulaire)
 {
     InitializeComponent();
     InitDataGridView();
     setTitre();
 }
 public void FormAfterInit(BaseEntryForm EntryForm)
 {
     EntryForm.Fields[nameof(Group.Specialty)].Hide();
 }