diff --git a/PROMS/VEPROMS User Interface/dlgExportImport.cs b/PROMS/VEPROMS User Interface/dlgExportImport.cs index d18edc30..8c54bcfd 100644 --- a/PROMS/VEPROMS User Interface/dlgExportImport.cs +++ b/PROMS/VEPROMS User Interface/dlgExportImport.cs @@ -38,7 +38,7 @@ namespace VEPROMS //C2025-024 Proms EP XML Output //this will hold if a specific unit was selected - protected int _UnitIndex = 0; + readonly protected int _UnitIndex; private ItemInfo _ExternalTransitionItem = null; public ItemInfo ExternalTransitionItem @@ -75,7 +75,7 @@ namespace VEPROMS xa.InnerText = value; return xa; } - public dlgExportImport(string mode, FolderInfo folderInfo, frmVEPROMS myFrmVEPROMS, E_UCFImportOptions frset) + public dlgExportImport(string mode, FolderInfo folderInfo, frmVEPROMS myFrmVEPROMS, E_UCFImportOptions frset, int unitIndex = 0) { UCFImportDefaultFromSettings = frset; MyFrmVEPROMS = myFrmVEPROMS;// Save frmVEPROMS for Import to shutoff SessionPing @@ -83,8 +83,21 @@ namespace VEPROMS MyFolder = folderInfo; InitializeComponent(); this.Text = mode + " Dialog for " + folderInfo.Name; + _UnitIndex = unitIndex; + + if (_UnitIndex > 0) + { + foreach (DocVersionInfo docver in MyFolder.FolderDocVersions) + { + docver.DocVersionConfig.SelectedSlave = _UnitIndex; + + foreach (ItemInfo proc in docver.Procedures) + proc.MyProcedure.MyDocVersion.DocVersionConfig.SelectedSlave = _UnitIndex; + } + FormClosed += RemoveUnit_OnClose; + } } - public dlgExportImport(string mode, DocVersionInfo docVersionInfo, frmVEPROMS myFrmVEPROMS, E_UCFImportOptions frset) + public dlgExportImport(string mode, DocVersionInfo docVersionInfo, frmVEPROMS myFrmVEPROMS, E_UCFImportOptions frset, int unitIndex = 0) { UCFImportDefaultFromSettings = frset; MyFrmVEPROMS = myFrmVEPROMS;// Save frmVEPROMS for Import to shutoff SessionPing @@ -95,8 +108,19 @@ namespace VEPROMS this.Text = mode; else this.Text = mode + " Dialog for " + docVersionInfo.Name + " of " + docVersionInfo.MyFolder.Name; + _UnitIndex = unitIndex; + + if (_UnitIndex > 0) + { + MyDocVersion.DocVersionConfig.SelectedSlave = _UnitIndex; + + foreach (ItemInfo proc in MyDocVersion.Procedures) + proc.MyProcedure.MyDocVersion.DocVersionConfig.SelectedSlave = _UnitIndex; + + FormClosed += RemoveUnit_OnClose; + } } - public dlgExportImport(string mode, ProcedureInfo procedureInfo, frmVEPROMS myFrmVEPROMS, E_UCFImportOptions frset) + public dlgExportImport(string mode, ProcedureInfo procedureInfo, frmVEPROMS myFrmVEPROMS, E_UCFImportOptions frset, int unitIndex = 0) { UCFImportDefaultFromSettings = frset; MyFrmVEPROMS = myFrmVEPROMS;// Save frmVEPROMS for Import to shutoff SessionPing @@ -108,6 +132,14 @@ namespace VEPROMS //Preset path for single procedures. PEIPath = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\VEPROMS\PEI_" + Database.VEPROMS_SqlConnection.Database; txtExport.Text = string.Format(@"{0}\{1}.pxml", PEIPath, MyProcedure.DisplayNumber.Replace("/", "_").Replace("\\", "_")); + _UnitIndex = unitIndex; + + if (_UnitIndex > 0) + { + MyProcedure.MyDocVersion.DocVersionConfig.SelectedSlave = _UnitIndex; + MyProcedure.MyProcedure.MyDocVersion.DocVersionConfig.SelectedSlave = _UnitIndex; + FormClosed += RemoveUnit_OnClose; + } } private void dlgExportImport_Load(object sender, EventArgs e) { @@ -3938,5 +3970,32 @@ namespace VEPROMS { this.Close(); } + + //unset the unit (SelectedSlave) + private void RemoveUnit_OnClose(object sender, EventArgs e) + { + if (MyProcedure != null) + { + MyProcedure.MyDocVersion.DocVersionConfig.SelectedSlave = 0; + MyProcedure.MyProcedure.MyDocVersion.DocVersionConfig.SelectedSlave = 0; + } + if (MyDocVersion != null) + { + MyDocVersion.DocVersionConfig.SelectedSlave = 0; + + foreach (ItemInfo proc in MyDocVersion.Procedures) + proc.MyProcedure.MyDocVersion.DocVersionConfig.SelectedSlave = _UnitIndex; + } + if (MyFolder != null) + { + foreach (DocVersionInfo docver in MyFolder.FolderDocVersions) + { + docver.DocVersionConfig.SelectedSlave = _UnitIndex; + + foreach (ItemInfo proc in docver.Procedures) + proc.MyProcedure.MyDocVersion.DocVersionConfig.SelectedSlave = _UnitIndex; + } + } + } } } diff --git a/PROMS/VEPROMS User Interface/dlgExportImportEP.cs b/PROMS/VEPROMS User Interface/dlgExportImportEP.cs index c13203e5..0715d8b5 100644 --- a/PROMS/VEPROMS User Interface/dlgExportImportEP.cs +++ b/PROMS/VEPROMS User Interface/dlgExportImportEP.cs @@ -21,58 +21,29 @@ namespace VEPROMS private static Regex _ROAccPageTokenPattern = new Regex("[<][^<>-]+-[^<>]+[>]"); - public dlgExportImportEP(string mode, FolderInfo folderInfo, frmVEPROMS myFrmVEPROMS, int annotationTypeId, int unitIndex) : base(mode, folderInfo, myFrmVEPROMS, (E_UCFImportOptions)0) + public dlgExportImportEP(string mode, FolderInfo folderInfo, frmVEPROMS myFrmVEPROMS, int annotationTypeId, int unitIndex = 0) : base(mode, folderInfo, myFrmVEPROMS, (E_UCFImportOptions)0, unitIndex) { _AnnotationType = AnnotationTypeInfo.Get(annotationTypeId); - _UnitIndex = unitIndex; _ExportBothConvertedandNot = true; DocReplace = new Dictionary(); FormClosed += OnClose; Text = $"{mode} Electronic Procedure ({_AnnotationType.Name}) Dialog for {folderInfo.Name}"; - - if (_UnitIndex > 0) - { - foreach (DocVersionInfo docver in MyFolder.FolderDocVersions) - { - docver.DocVersionConfig.SelectedSlave = _UnitIndex; - - foreach (ItemInfo proc in docver.Procedures) - proc.MyProcedure.MyDocVersion.DocVersionConfig.SelectedSlave = _UnitIndex; - } - } } - public dlgExportImportEP(string mode, DocVersionInfo docVersionInfo, frmVEPROMS myFrmVEPROMS, int annotationTypeId, int unitIndex) : base(mode, docVersionInfo, myFrmVEPROMS, (E_UCFImportOptions)0) + public dlgExportImportEP(string mode, DocVersionInfo docVersionInfo, frmVEPROMS myFrmVEPROMS, int annotationTypeId, int unitIndex = 0) : base(mode, docVersionInfo, myFrmVEPROMS, (E_UCFImportOptions)0, unitIndex) { _AnnotationType = AnnotationTypeInfo.Get(annotationTypeId); - _UnitIndex = unitIndex; _ExportBothConvertedandNot = true; DocReplace = new Dictionary(); FormClosed += OnClose; Text = $"{mode} Electronic Procedure ({_AnnotationType.Name}) Dialog for {docVersionInfo.Name} of {docVersionInfo.MyFolder.Name}"; - - if (_UnitIndex > 0) - { - MyDocVersion.DocVersionConfig.SelectedSlave = _UnitIndex; - - foreach (ItemInfo proc in MyDocVersion.Procedures) - proc.MyProcedure.MyDocVersion.DocVersionConfig.SelectedSlave = _UnitIndex; - } } - public dlgExportImportEP(string mode, ProcedureInfo procedureInfo, frmVEPROMS myFrmVEPROMS, int annotationTypeId, int unitIndex) : base(mode, procedureInfo, myFrmVEPROMS, (E_UCFImportOptions)0) + public dlgExportImportEP(string mode, ProcedureInfo procedureInfo, frmVEPROMS myFrmVEPROMS, int annotationTypeId, int unitIndex = 0) : base(mode, procedureInfo, myFrmVEPROMS, (E_UCFImportOptions)0, unitIndex) { _AnnotationType = AnnotationTypeInfo.Get(annotationTypeId); - _UnitIndex = unitIndex; _ExportBothConvertedandNot = true; DocReplace = new Dictionary(); FormClosed += OnClose; Text = $"{mode} Electronic Procedure ({_AnnotationType.Name}) Dialog for {procedureInfo.DisplayNumber}"; - - if (_UnitIndex > 0) - { - MyProcedure.MyDocVersion.DocVersionConfig.SelectedSlave = _UnitIndex; - MyProcedure.MyProcedure.MyDocVersion.DocVersionConfig.SelectedSlave = _UnitIndex; - } - } //Overridden function to handle export of EP data @@ -344,32 +315,8 @@ namespace VEPROMS } //clear objects to release memory - //and unset the unit (SelectedSlave) private void OnClose(object sender, EventArgs e) { - if (MyProcedure != null) - { - MyProcedure.MyDocVersion.DocVersionConfig.SelectedSlave = 0; - MyProcedure.MyProcedure.MyDocVersion.DocVersionConfig.SelectedSlave = 0; - } - if (MyDocVersion != null) - { - MyDocVersion.DocVersionConfig.SelectedSlave = 0; - - foreach (ItemInfo proc in MyDocVersion.Procedures) - proc.MyProcedure.MyDocVersion.DocVersionConfig.SelectedSlave = _UnitIndex; - } - if (MyFolder != null) - { - foreach (DocVersionInfo docver in MyFolder.FolderDocVersions) - { - docver.DocVersionConfig.SelectedSlave = _UnitIndex; - - foreach (ItemInfo proc in docver.Procedures) - proc.MyProcedure.MyDocVersion.DocVersionConfig.SelectedSlave = _UnitIndex; - } - } - DocReplace.Clear(); DocReplace = null; }