private void Application_Startup(object sender, StartupEventArgs e) { XmlConfigurator.Configure(); PrintHeader(); Current.DispatcherUnhandledException += (s, ex) => { LOGGER.Error("DispatcherUnhandledException", ex.Exception as Exception); }; if (IsAdministrator()) { if (!InstanceChecker.AlreadyRunning("27ec7e49-6567-4ee2-9ad6-073705189109")) { // initialization sequence Kernel.Get <IEnvironmentManager>(); Kernel.Get <Splashscreen>().Show(); Kernel.Get <PluginManager>().Start(); (Kernel.Get <IProfileManager>() as ProfileManager).Start(); (Kernel.Get <IWindowManager>() as WindowManager).Start(); } else { Application.Current.Shutdown(); } } else { MessageBox.Show("Administrator Privileges are required to run DMO AdvancedLauncher. Please run application as Administrator.", "Please run application as Administrator", MessageBoxButton.OK, MessageBoxImage.Warning); } }
private static void CheckInstance(Instance instance) { var instanceChecker = new InstanceChecker(); var instanceStatus = instanceChecker.Check(instance); if (instanceStatus != InstanceChecker.InstanceStatus.Ok) { throw new Exception($"Incorrect instance: {instanceStatus}"); } }
private static int Run(CmdOptions opts) { var prescriptionPath = DatasetGeneratorPrescriptionPath(opts); if (!File.Exists(prescriptionPath)) { Console.WriteLine($"Dataset generator prescription file {prescriptionPath} does not exist."); return(1); } var prescription = JsonConvert.DeserializeObject <Prescription>( File.ReadAllText(prescriptionPath), new JsonSerializerSettings() { DefaultValueHandling = DefaultValueHandling.Populate }); var datasetsPath = Program.DatasetsPath(opts); if (!Directory.Exists(datasetsPath)) { Directory.CreateDirectory(datasetsPath); } var allDatasetGeneratorTypes = GetDatasetGeneratorTypes(); Type datasetGeneratorType; if (allDatasetGeneratorTypes.TryGetValue(prescription.DatasetGeneratorName, out datasetGeneratorType) == false) { Console.WriteLine($"Dataset generator {prescription.DatasetGeneratorName} does not exist."); return(1); } var datasetGenerator = (IDatasetGenerator)Activator.CreateInstance(datasetGeneratorType); var datasetName = Path.GetFileNameWithoutExtension(opts.PrescriptionFile); var datasetPath = Program.DatasetPath(opts, datasetName); if (Directory.Exists(datasetPath)) { Directory.Delete(datasetPath, true); } Directory.CreateDirectory(datasetPath); var instanceWriter = new JsonInputWriter(); var instanceIndex = 0; foreach (var instance in datasetGenerator.GenerateInstances(prescription, prescriptionPath)) { var instanceChecker = new InstanceChecker(); var instanceStatus = instanceChecker.Check(instance); if (instanceStatus != InstanceChecker.InstanceStatus.Ok) { Console.WriteLine($"Instance check: {instanceStatus}"); return(1); } instance.TimeForExtendedInstance = TimeForExtendedInstance(instance); instanceWriter.WriteToPath( instance, Path.Combine(datasetPath, $"{instanceIndex}.json")); instanceIndex++; } Console.WriteLine($"Dataset {opts.PrescriptionFile} generated."); return(0); }