Exemplo n.º 1
0
        static void Main()
        {
            var appStartTime = DateTime.Now;
            var environment  = new DrPipeEnvironment();

            environment.ProcessFileName = Process.GetCurrentProcess().MainModule.FileName;
            environment.ProcessDirName  = Path.GetDirectoryName(environment.ProcessFileName);
            environment.AppDataDirName  = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);        // %AppData%
            environment.RootDirectory   = Path.Combine(environment.AppDataDirName, "DrPipe");                          // %AppData%\DrPipe
            environment.LogsDirectory   = Path.Combine(environment.RootDirectory, "logs");                             // %AppData%\DrPipe\logs
            environment.DataDirectory   = Path.Combine(environment.RootDirectory, "data");                             // %AppData%\DrPipe\data
            //environment.DialogDefaultDirectory = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);     // %UserProfile%\documents
            environment.DialogDefaultDirectory = Path.Combine(environment.ProcessDirName, @"samples");
            environment.EpanetFileName         = Path.Combine(environment.ProcessDirName, @"epanet\epanet2w\Epanet2w.exe");
            environment.TempDirectory          = Path.Combine(environment.ProcessDirName, @"_temp");
            environment.FirebirdClientFileName = Path.Combine(environment.ProcessDirName, @"firebird\fbembed.dll");
            environment.FirebirdGbakFileName   = Path.Combine(environment.ProcessDirName, @"firebird\gbak.exe");
            environment.LoggerName             = "drpipe";

            Directory.CreateDirectory(environment.RootDirectory);
            Directory.CreateDirectory(environment.LogsDirectory);
            Directory.CreateDirectory(environment.DataDirectory);
            Directory.CreateDirectory(environment.TempDirectory);

            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);

            Application.ThreadException += OnApplicationThreadException;
            AppDomain.CurrentDomain.UnhandledException += OnCurrentDomainUnhandledException;

            try
            {
                InitializeLogger(environment.LoggerName, environment.LogsDirectory);
                InitializeSyncfusion();

                Appearances.DefaultFont = new System.Drawing.Font(
                    "나눔바른고딕",
                    8F,
                    System.Drawing.FontStyle.Regular,
                    System.Drawing.GraphicsUnit.Point,
                    0);

                var dialog = new DialogService(
                    messageBoxTitle: "Dr.Pipe",
                    openTitle: "열기 - Dr.Pipe",
                    saveTitle: "저장 - Dr.Pipe",
                    defaultDirectory: environment.DialogDefaultDirectory);
                var views = new ViewService();
                var shell = new Shell(environment, dialog, views);
                Log.Logger.Information($"Initialized ({(DateTime.Now - appStartTime).TotalSeconds} sec)");
                Application.Run(shell);
                Log.Logger.Information("Shutdown");
            }
            catch (Exception e)
            {
                ShowExceptionDetails(e);
            }
        }
Exemplo n.º 2
0
 public Shell(
     DrPipeEnvironment environment,
     DialogService dialog,
     ViewService views)
 {
     InitializeComponent();
     AppTitle          = "K-Water Dr.Pipe";
     Dialog            = dialog;
     Views             = views;
     DrPipeEnvironment = environment;
     DockManager       = new DockManager(dockingManager, this);
     RibbonManager     = new RibbonManager(ribbonControlAdv1);
     Appearances.MainRibbon(ribbonControlAdv1);
     Load += async(s, e) => await Initialize();
 }