private void ValidateLoadedFacilities() { if (RequirementFacility == null && SubmissionFacility != null) { // I want to save the cobie here. var filters = new List <string> { "COBie excel|*.xlsx", "COBie binary excel|*.xls" }; FileSelector.Filter = string.Join("|", filters.ToArray()); FileSelector.Title = "Select destination file"; var ret = FileSelector.ShowDialog(); if (ret != DialogResult.OK) { return; } string msg; SubmissionFacility.WriteCobie(FileSelector.FileName, out msg); if (OpenOnExported && File.Exists(FileSelector.FileName)) { Process.Start(FileSelector.FileName); } } else if (RequirementFacility != null && SubmissionFacility != null) { ActivityStatus = "Validation in progress"; var f = new cobieUKValidation.FacilityValidator(); ValidationFacility = f.Validate(RequirementFacility, SubmissionFacility); ActivityStatus = "Validation completed"; if (ExportOnValidated) { ExportValidatedFacility(); } } }
private void CreateWorker() { _worker = new BackgroundWorker { WorkerReportsProgress = true, WorkerSupportsCancellation = true }; _worker.ProgressChanged += delegate(object s, ProgressChangedEventArgs args) { ActivityProgress = args.ProgressPercentage; ActivityStatus = (string)args.UserState; Debug.WriteLine("{0}% {1}", args.ProgressPercentage, (string)args.UserState); }; _worker.RunWorkerCompleted += delegate(object s, RunWorkerCompletedEventArgs args) { if (args.Result is XbimModel) //all ok { _model = args.Result as XbimModel; ActivityProgress = 0; // prepare the facility SubmissionFacility = FacilityFromIfcConverter.FacilityFromModel(_model); if (SubmissionFacility == null) { return; } var jsonFileName = Path.ChangeExtension(SubmissionFileSource, "json"); if (!File.Exists(jsonFileName)) { SubmissionFacility.WriteJson(jsonFileName); } ValidateLoadedFacilities(); } else if (args.Result is Facility) //all ok; this is the model facility { ValidateLoadedFacilities(); } else //we have a problem { var errMsg = args.Result as String; if (!string.IsNullOrEmpty(errMsg)) { ActivityStatus = "Error Opening File"; } if (args.Result is Exception) { var sb = new StringBuilder(); var ex = args.Result as Exception; var indent = ""; while (ex != null) { sb.AppendFormat("{0}{1}\n", indent, ex.Message); ex = ex.InnerException; indent += "\t"; } ActivityStatus = "Error Opening Ifc File\r\n\r\n" + sb; } ActivityProgress = 0; ActivityStatus = "Error/Ready"; } }; }