public void ManyToOneField_CreateInstanceTest()
        {
            // Model Data : Trainee, Groupe, Speciality
            using (ModelContext db = new ModelContext())
            {
                Panel Container   = new Panel();
                Size  SizeLabel   = new Size(100, 20);
                Size  SizeControl = new Size(100, 20);

                IGwinBaseBLO GroupeBLO = new GwinBaseBLO <Group>(db);
                PropertyInfo TaskProjectsPropertyInfo = typeof(Group).GetProperty(nameof(Group.TaskProjects));
                ConfigEntity configEntity             = ConfigEntity.CreateConfigEntity(typeof(Group));
                Trainee      trainee = new Trainee();



                ManyToManyField ManyToManyField = new ManyToManyField(
                    TaskProjectsPropertyInfo,
                    Orientation.Vertical,
                    SizeLabel,
                    SizeControl,
                    configEntity,
                    Container,
                    GroupeBLO);

                // Selected the first speciality
                // selectedindex = 1 , index 0 for EmptyData
                ManyToManyField
                .SelectionFilterManager
                .ListeComboBox[typeof(Project).Name]
                .SelectedIndex = 1;
            }
        }
Beispiel #2
0
        public void Register(IKernelInternal kernel)
        {
            //kernel.Register(
            //    Component.For<SecurityInterceptor>()
            //        .ImplementedBy<SecurityInterceptor>());

            kernel.Register(Component.For <SecurityAspect>());
            kernel.Register(Component.For <LoggingAspect>());



            // Registrer All BLO Objects
            foreach (Type EntityType in new GwinEntitiesManager().GetAll_Entities_Type())
            {
                Type BLOEntity_Type = GwinBaseBLO <BaseEntity> .Detemine_Type_EntityBLO(EntityType, GwinApp.Instance.TypeBaseBLO);


                //   kernel.Register(
                //Component.For(BLOEntity_Type).ImplementedBy(BLOEntity_Type)
                //         .Interceptors(
                //    InterceptorReference.ForType<SecurityInterceptor>()).Anywhere);

                kernel.Register(
                    Component.For(BLOEntity_Type).ImplementedBy(BLOEntity_Type)
                    .Interceptors(
                        typeof(SecurityAspect),
                        typeof(LoggingAspect)));
            }
        }
        public void ManyToOneField_WithOutFilter()
        {
            // Model Data : Trainee, Groupe, Speciality
            using (ModelContext db = new ModelContext())
            {
                Panel Container   = new Panel();
                Size  SizeLabel   = new Size(100, 20);
                Size  SizeControl = new Size(100, 20);

                IGwinBaseBLO GroupeBLO             = new GwinBaseBLO <Group>(db);
                PropertyInfo SpecialtyPropertyInfo = typeof(Group).GetProperty(nameof(Group.Specialty));
                ConfigEntity configEntity          = ConfigEntity.CreateConfigEntity(typeof(Group));
                Group        trainee = new Group();


                Specialty Specialty = db.Specialtys.Where(s => s.Reference == "TDI").SingleOrDefault();

                ManyToOneField manyToOneField = new ManyToOneField(
                    GroupeBLO,
                    SpecialtyPropertyInfo,
                    Container,
                    Orientation.Vertical,
                    SizeLabel,
                    SizeControl,
                    Specialty.Id,
                    configEntity,
                    trainee);



                // Selected the first Groupe
                manyToOneField.SelectedIndex = 0;
            }
        }
Beispiel #4
0
 public void GwinAppStart()
 {
     GwinApp.Start(typeof(ModelContext), typeof(BaseBLO <>), new FormApplication(), null);
     configEntity        = ConfigEntity.CreateConfigEntity(typeof(TaskProject));
     Entity              = new TaskProject();
     entityMiniConfigBLO = GwinBaseBLO <BaseEntity> .CreateBLO_Instance(typeof(TaskProject), typeof(BaseBLO <>));
 }
Beispiel #5
0
        /// <summary>
        /// Create an Show ManagerForm
        /// </summary>
        /// <param name="EntityType">Type of Entity</param>
        /// <returns></returns>
        public ManagerForm ShowManagerForm(Type EntityType)
        {
            IGwinBaseBLO baseRepository = GwinBaseBLO <BaseEntity> .CreateBLO_Instance(EntityType, GwinApp.Instance.TypeBaseBLO);

            ManagerForm form = new ManagerForm(baseRepository, null, null, (Form)this.MdiForm);

            this.ShwoForm(form);
            return(form);
        }
        public void ApplyBusinessRolesAfterValuesChangedTest()
        {
            TaskProject EntityMiniConfig = new TaskProject();

            EntityMiniConfig.Title.Current = "Hello";
            // Create entityMinConfigBLO dynamicly
            IGwinBaseBLO entityMinConfigBLO = GwinBaseBLO <BaseEntity> .CreateBLO_Instance(typeof(TaskProject), typeof(BaseBLO <>));

            entityMinConfigBLO.ApplyBusinessRolesAfterValuesChanged(nameof(TaskProject.Title), EntityMiniConfig);

            Assert.AreEqual(EntityMiniConfig.Title.Current, "HELLO");
        }
        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);
            }
        }
Beispiel #8
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);
                }
            }
        }
        /// <summary>
        /// Constructor : Create Application Menu
        /// </summary>
        /// <param name="FormMenu">MDI Form that cotain Menu of Application</param>
        public CreateApplicationMenu(IApplicationMenu FormMenu)
        {
            // Params
            this.MdiFormWithMenu = FormMenu;
            this.menuStrip       = FormMenu.getMenuStrip();
            // MenuStruct Instance
            MenuItems  = new Dictionary <string, Type>();
            MenuStruct = new MenuStruct();
            // Properties
            this.ShowManagementForm         = new CreateAndShowManagerFormHelper(GwinApp.Instance.TypeDBContext, FormMenu);
            this.MenuItemApplicationService = GwinBaseBLO <BaseEntity>
                                              .CreateBLO_Instance(typeof(MenuItemApplication), GwinApp.Instance.TypeBaseBLO);

            // Create Menu
            this.CalculateMenuItems();
            this.ShowMenuItems();
        }
        /// <summary>
        /// Check if User Exist
        /// </summary>
        /// <param name="login">Login </param>
        /// <param name="password">Password </param>
        /// <returns>Existance User or Null</returns>
        private User CheckUser(string login, string password)
        {
            // Create UserBLO Instance
            IGwinBaseBLO userBLO = GwinBaseBLO <User> .CreateBLO_Instance(typeof(User), GwinApp.Instance.TypeBaseBLO);

            Dictionary <string, object> rechercheInfos = new Dictionary <string, object>();

            rechercheInfos.Add(nameof(User.Login), "=" + login);
            rechercheInfos.Add(nameof(User.Password), "=" + password);

            List <object> resultat = userBLO.Recherche(rechercheInfos);

            if (resultat != null && resultat.Count > 0)
            {
                return(resultat[0] as User);
            }
            else
            {
                return(null);
            }
        }
        public void ManyToOneField_WithFilter()
        {
            // Model Data : Trainee, Groupe, Speciality
            using (ModelContext db = new ModelContext())
            {
                Panel Container   = new Panel();
                Size  SizeLabel   = new Size(100, 20);
                Size  SizeControl = new Size(100, 20);

                IGwinBaseBLO TraineeBLO         = new GwinBaseBLO <Trainee>(db);
                PropertyInfo groupePropertyInfo = typeof(Trainee).GetProperty(nameof(Trainee.Group));
                ConfigEntity configEntity       = ConfigEntity.CreateConfigEntity(typeof(Trainee));
                Trainee      trainee            = new Trainee();



                ManyToOneField manyToOneField = new ManyToOneField(
                    TraineeBLO,
                    groupePropertyInfo,
                    Container,
                    Orientation.Vertical,
                    SizeLabel,
                    SizeControl,
                    0,
                    configEntity,
                    trainee);

                // Selected the first speciality
                // selectedindex = 1 , index 0 for EmptyData
                manyToOneField
                .SelectionFilterManager
                .ListeComboBox[typeof(Specialty).Name]
                .SelectedIndex = 1;

                // Selected the first Groupe
                manyToOneField.SelectedIndex = 0;
            }
        }
Beispiel #12
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="AppMenu">Main Form application,
        /// it contrain the menu of application
        /// it is Mdi Form
        /// </param>
        /// <param name="user">Connected user,
        /// it can be null if the user is not yet connected
        /// </param>
        /// <param name="TypeDbContext">
        /// Type of EntityFramework DbContext
        /// id used to create instance of GwinApp EntityBAO object
        /// </param>
        public static void Start(Type TypeDbContext, Type TypeBaseBLO, FormApplication AppMenu, User user)
        {
            // User must not be null
            CheckPramIsNull.CheckParam_is_NotNull(user, nameof(GwinApp), nameof(user));

            // Lunch Loading Interface
            GwinApp.Loading_Start();
            GwinApp.Loading_Status("Start Gwin Applicaton ...");

            // Create GwinInstance to Authenticate
            GwinApp.Instance = new GwinApp(TypeDbContext, TypeBaseBLO, AppMenu, user);

            //Layer configuration : Initialize the dependency resolver
            DependencyResolver.Initialize();



            //
            // Update Menu
            //
            // Change User Culture and Tread to do Update with User Language
            GwinApp.instance.CultureInfo          = new CultureInfo(user.Language.ToString());
            Thread.CurrentThread.CurrentCulture   = GwinApp.instance.CultureInfo;
            Thread.CurrentThread.CurrentUICulture = GwinApp.instance.CultureInfo;
            // Update GwinApplicatio, after  ModelConfiguration changes
            //[Update]
            // Must be befor Language Change, because SetLanguge Use MenuTable
            InstallApplicationGwinBLO installApplication = new InstallApplicationGwinBLO(TypeDbContext);

            installApplication.Update();



            // Change Gwin Language
            if (AppMenu != null && user != null)
            {
                GwinApp.SetLanguage(GwinApp.Instance.CultureInfo);
            }



            // Load ApplicationName Instance
            IGwinBaseBLO  ApplicationNameBLO = new GwinBaseBLO <ApplicationName>((DbContext)Activator.CreateInstance(instance.TypeDBContext));
            List <object> ls_apps            = ApplicationNameBLO.GetAll();

            if (ls_apps != null && ls_apps.Count > 0)
            {
                GwinApp.instance.ApplicationName = (ApplicationName)ls_apps.First();
            }
            else
            {
                ApplicationName applicationName = new ApplicationName();
                applicationName.Name             = new Entities.MultiLanguage.LocalizedString();
                applicationName.Name.Current     = "Gwin Application";
                GwinApp.instance.ApplicationName = applicationName;
            }

            // Set Name Applicatoin in ApplicationMenu
            if (AppMenu != null)
            {
                AppMenu.Text = instance.ApplicationName.Name.Current;
            }

            // Close Loading Interface
            GwinApp.Loading_Close();

            // Authentification
            Login();
        }