public static void Main(string[] args) { switch (args[0]) { case "install": InstallArgs installArgs = new InstallArgs(args); InstallProcess installProcess = new InstallProcess(); installProcess.Execute(installArgs); break; case "delete": DeleteArgs deleteArgs = new DeleteArgs(args); DeleteProcess deleteProcess = new DeleteProcess(); deleteProcess.Execute(deleteArgs); break; case "export": var exportArgs = new ExportArgs(args); var exportProcess = new ExportProcess(); exportProcess.Execute(exportArgs); break; case "import": var importArgs = new ImportArgs(args); var importProcess = new ImportProcess(); importProcess.Execute(importArgs); break; } }
protected override bool OnExecute() { if (ExoEngine.ActiveWorld != null) { if (ExoEngine.Commands.Execute(typeof(FileClose)) != true) { return(false); } } string strFileName = null; if (this.Params != null) { if (this.Params[0] is string) { strFileName = (string)this.Params[0]; } } else { OpenFileDialog ofd = new OpenFileDialog(); ofd.Multiselect = false; ofd.Title = "Import Worldcraft Map"; ofd.Filter = ExoEngine.sWorldcraftMapFileFilter; ofd.InitialDirectory = ExoEngine.sWorldcraftMapPath; DialogResult result = ofd.ShowDialog(); if (result != DialogResult.OK) { return(false); } strFileName = ofd.FileName; } if (strFileName == null || File.Exists(strFileName) == false) { return(false); } ExoEngine.MainForm.Update(); ImportProcess ip = new ImportProcess(); ip.WorldcraftFileName = strFileName; //Debug2.Push(); if (ip.Execute(ExoEngine.MainForm) != true) { return(false); } //Debug2.Pop(); ip.World.Reset(); ip.World.Dirty = true; ExoEngine.ActiveWorld = ip.World; ExoEngine.UpdateAll(); return(true); }
public void LoadUtilServerProcesses() { foreach (var util in Env.UtilServers) { UtilServer UtilCache = new UtilServer(util["name"]); List <String> ParentIds = new List <String>(); ParentIds = this.IRData.GetParentIdsByServer(util["keyname"]); log.Debug($"Initializnig Cache Load: {util["name"]}"); if (ParentIds.Count > 0) { foreach (var id in ParentIds) { ImportProcess process = this.DeconstructImportProcess(id); // if(Env.DEBUG) { log.Info($"ParentId: {id}"); } if (process is ImportProcess) { UtilCache.Processes.Add(process); } else { log.Error($"Could not build Import Process DAO for Parent ID: {id}"); } } } else { log.Error($"No Parent IDs returned by query on{util["name"]}"); } if (UtilCache.Processes.Count > 0) { this.Servers.Add(UtilCache); } } }
protected String ProcessErrReport(ImportProcess import) { StringBuilder report = new StringBuilder(); report.Append($"\n\t{import.ProcessDisplayName}\n"); report.Append($"\t{import.DirError}\n"); report.Append($"\t{import.DirImport}\n"); report.Append($"\t{import.DirProcessed}\n"); report.Append($"\t{import.ProcessDescription}\n"); return(report.ToString()); }
public ImportProcess DeconstructImportProcess(String id) { ImportProcess ProcessDefinition = new ImportProcess(); var ImportProcessFields = ProcessDefinition.GetType().GetProperties(); foreach (var field in ImportProcessFields) { field.SetValue(ProcessDefinition, this.SetProcessAttribute(id, field.Name, this.ProcessKeyNameMap[field.Name])); } return(ProcessDefinition); }
public Result Execute( ExternalCommandData commandData, ref string message, ElementSet elements) { UIApplication uiapp = commandData.Application; UIDocument uidoc = uiapp.ActiveUIDocument; Autodesk.Revit.ApplicationServices.Application app = uiapp.Application; Document doc = uidoc.Document; Document docUi = uidoc.Document; bool allGoodInTheHood = false; //app.SharedParametersFilename = LocalFiles.localSpFile; //DefinitionFile defFile = app.OpenSharedParameterFile(); //DefinitionGroups myGroups = defFile.Groups; //DefinitionGroup myGroup = myGroups.get_Item("Mechanical"); //Definitions myDefinitions = myGroup.Definitions; //ExternalDefinition eDef = myDefinitions.get_Item("AirFlowAirTerminal") as ExternalDefinition; // Create local directory LocalFiles.CreateLocalDir(); // Checks last time the OpenRFA online database was udpated LocalFiles.GetLastUpdateJsonOnline(); MainWindow appDialog = new MainWindow(); appDialog.WindowStartupLocation = WindowStartupLocation.CenterScreen; // Prompt user to select files Microsoft.Win32.OpenFileDialog openFilesDlg = new Microsoft.Win32.OpenFileDialog(); // Set filter for file extension and default file extension openFilesDlg.DefaultExt = ".rfa"; openFilesDlg.Filter = "Revit Family (*.rfa)|*.rfa"; openFilesDlg.Multiselect = true; openFilesDlg.Title = "Select Revit families to load parameters"; // Only open window if continueCommand is set true if (ImportProcess.continueCommand == true) { openFilesDlg.ShowDialog(); // Only open MainWindow if files are selected if (openFilesDlg.FileNames.Length > 0) { appDialog.ShowDialog(); // Print all families to be modified StringBuilder sb = new StringBuilder(); sb.Append("The following files will be modified. It is recommended to backup your families before proceeding. Would you like to continue?\n\n"); foreach (string fileName in openFilesDlg.FileNames) { sb.Append(fileName + "\n"); } MessageBoxResult resultConfirmOverwrite = System.Windows.MessageBox.Show(sb.ToString(), "Warning", MessageBoxButton.OKCancel); switch (resultConfirmOverwrite) { // Execute command if user confirmed case MessageBoxResult.OK: // Only executes if the user clicked "OK" button if (appDialog.DialogResult.HasValue && appDialog.DialogResult.Value) { // Opens configuration window ConfigureImport confDialog = new ConfigureImport(); confDialog.WindowStartupLocation = WindowStartupLocation.CenterScreen; confDialog.ShowDialog(); // Only execute command if configure process is committed by user if (confDialog.DialogResult.HasValue && confDialog.DialogResult.Value) { // Iterate through selected families and add parameters to each foreach (string fileName in openFilesDlg.FileNames) { // Check if user is trying to modify active doc if (fileName == docUi.PathName) { System.Windows.MessageBox.Show("This addin cannot be run on the active document. This family has been skipped in the process: \n" + fileName); } else { System.Windows.MessageBox.Show("Adding parameters to: " + fileName); doc = app.OpenDocumentFile(fileName); // Complete import process ImportProcess.ProcessImport(doc, app, confDialog.DialogResult.HasValue, confDialog.DialogResult.Value); doc.Close(true); } } } } // Clear all data in case addin is run again in the same session // TODO: Call this method with every method that uses the datatables? ImportProcess.ClearAllData(); allGoodInTheHood = true; break; case MessageBoxResult.Cancel: ImportProcess.ClearAllData(); allGoodInTheHood = false; break; } } } // Return results if (allGoodInTheHood) { return(Result.Succeeded); } else { return(Result.Cancelled); } }
public bool StartImport() { CurtDevDataContext db = new CurtDevDataContext(); ImportProcess currentProcess = db.ImportProcesses.Where(x => x.endTime.Equals(null)).FirstOrDefault<ImportProcess>(); int count = db.Parts.Count(); if (currentProcess != null && currentProcess.ID > 0) { return false; } else { ImportProcess newProcess = new ImportProcess { startTime = DateTime.Now, partCount = count, currentCount = 0 }; db.ImportProcesses.InsertOnSubmit(newProcess); db.SubmitChanges(); return true; } }