Mini Kabibi Habibi

Current Path : C:/Users/Public/Documents/DXperience 13.1 Demos/WinForms/CS/WinRTLiveTileManagerMainDemo/
Upload File :
Current File : C:/Users/Public/Documents/DXperience 13.1 Demos/WinForms/CS/WinRTLiveTileManagerMainDemo/Program.cs

using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Windows.Forms;

namespace DevExpress.WinRTLiveTileManager.Demos {
	static class Program {
        static string moduleName;
        static string[] cmdArgs;
        static frmMain mainForm = new frmMain();
		[STAThread]
		static void Main() {
            if(CheckAlreadyRun()) return;
            cmdArgs = Environment.GetCommandLineArgs();
			DevExpress.UserSkins.BonusSkins.Register();
            DevExpress.XtraBars.WinRTLiveTiles.WinRTLiveTileManager.InitializeNavigation();
            DevExpress.XtraBars.WinRTLiveTiles.WinRTLiveTileManager.OnNavigated += WinRTLiveTileManager_OnNavigated;
            ModuleCreator.CreateModules();
            SendModuleName();
			Application.Run(mainForm);
		}
        static bool CheckAlreadyRun() {
            Process[] processes = Process.GetProcessesByName("WinRTLiveTileManagerMainDemo");
            return processes.Length > 1 ? true : false;
        }

        static void SendModuleName() {
            if(cmdArgs.Length ==2 && !String.IsNullOrEmpty(cmdArgs[1])) {
                frmMain.startupModuleName = GetModuleName(cmdArgs[1]);
            }
        }

        static void WinRTLiveTileManager_OnNavigated(string obj) {
            moduleName = GetModuleName(obj);
            mainForm.BeginInvoke(new MethodInvoker(delegate { mainForm.ResetNavbarSelectedLink(); }));
            mainForm.BeginInvoke(new MethodInvoker(delegate { mainForm.ShowModule(moduleName); }));
        }
        static string GetModuleName(string input) {
            switch(input) {
                case "5108ce18-b841-4521-bf9f-59979b1ef0c2":
                    return "KPI";
                case "dcef255d-5648-41ec-8b14-55449add314e":
                    return "Outlook Style";
                default:
                    return "About Live Tiles";
            }
        }

	}
}