コード例 #1
0
        /// <summary>
        /// Restart Gwin Application
        /// </summary>
        public static void Restart()
        {
            GwinApp old_instance = GwinApp.instance;

            GwinApp.End();
            GwinApp.Start(old_instance.TypeDBContext, old_instance.TypeBaseBLO, old_instance.FormApplication, old_instance.user);
        }
コード例 #2
0
        /// <summary>
        /// Change Application Language
        /// </summary>
        /// <param name="cultureInfo">CultureInfo Instance</param>
        public static void ChangeLanguage(CultureInfo cultureInfo)
        {
            GwinApp.instance.user.Language = Convert_CultureInfo_Language(cultureInfo);
            SetLanguage(cultureInfo);

            //[Role] Restart must be after Language change, for Set Application Name Title after
            // Initialize Form
            GwinApp.Restart();
        }
コード例 #3
0
        /// <summary>
        /// Authentification
        /// </summary>
        private static void Login()
        {
            // Authentication fo Guest User
            // Change GuestUser by Current User
            if (GwinApp.Instance.user.Reference == nameof(User.Users.Guest))
            {
                do
                {
                    // Authentification
                    LoginForm loginForm = new LoginForm();

                    loginForm.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
                    loginForm.ShowDialog();
                } while (GwinApp.Instance.user.Reference == nameof(User.Users.Guest));
                GwinApp.Restart();
            }
        }
コード例 #4
0
        /// <summary>
        /// Set Language at the first Time, first GwinApp start
        /// </summary>
        /// <param name="cultureInfo">CultureInfo Instance</param>
        public static void SetLanguage(CultureInfo cultureInfo)
        {
            GwinApp.TestIf_Gwin_isStart();



            // Must Delete All Entity Configuration, bacause it demande with language
            ConfigEntity.Despose();

            // Set Date as Latin Date
            cultureInfo.DateTimeFormat.Calendar = new System.Globalization.GregorianCalendar();

            // Change Gwin CultureInfo Instance
            GwinApp.Instance.CultureInfo = cultureInfo;

            // Change Thread CultureInfo Instance
            Thread.CurrentThread.CurrentCulture   = cultureInfo;
            Thread.CurrentThread.CurrentUICulture = cultureInfo;

            // ReLoad Applicaton Interface
            instance.FormApplication.Reload();
        }
コード例 #5
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();
        }
コード例 #6
0
 /// <summary>
 /// End GwinApp
 /// </summary>
 public static void End()
 {
     GwinApp.instance = null;
     // Despose All Calculated Configuration
     ConfigEntity.Despose();
 }