C2025-023 Electronic Procedures - Modifications to PROMS (Phase 1)

This commit is contained in:
2025-04-08 10:54:19 -04:00
parent 689ea71846
commit 6fd84e2f2a
23 changed files with 2791 additions and 1316 deletions

View File

@@ -19,6 +19,7 @@ using System.Xml;
using System.Drawing;
using System.ComponentModel;
using System.Collections.Generic;
using Volian.Base.Library;
namespace VEPROMS.CSLA.Library
{
@@ -226,6 +227,34 @@ namespace VEPROMS.CSLA.Library
//}
}
OnFormatLoaded(null, new FormatEventArgs("Formats Updated"));
//C2025-023 - Electronic Procedures - Modifications to PROMS
//Begin section for processing Electronic Procedure (EP) Format Files
// now loop through all EP format files
string epPath = fmtPath.Replace("\\fmtall", "\\epall");
DirectoryInfo diEP = new DirectoryInfo(epPath);
if (diEP.Exists)
{
FileInfo[] fisEP = diEP.GetFiles("*.xml");
OnFormatLoaded(null, new FormatEventArgs(fisEP.Length.ToString() + " EP Formats to Load"));
foreach (FileInfo fi in fisEP)
{
string fmtname = Path.GetFileNameWithoutExtension(fi.Name);
try
{
AddEPFormatToDB(fmtname, DateTime.Now, VlnSettings.UserID, epPath);
}
catch (Exception ex)
{
Console.WriteLine("{0} - {1}", ex.GetType().Name, ex.Message);
}
}
OnFormatLoaded(null, new FormatEventArgs("EP Formats Updated"));
// update all in-use annotation types that have Electronic Procedures
EPFormatFile.UpdateAllInUseEPAnnotationTypes();
}
}
private static Dictionary<string, int> _LookupFormats;
@@ -338,8 +367,54 @@ namespace VEPROMS.CSLA.Library
}
return rec;
}
//C2025-023 - Electronic Procedures - Modifications to PROMS
//Procedure to load the EP format fiels into the DB
private static void AddEPFormatToDB(string formatname, DateTime Dts, string Userid, string epPath)
{
string fmtdata = null;
FileInfo fmtfi = null;
XmlDocument xd = null;
OnFormatLoaded(null, new FormatEventArgs("Loading Format " + formatname));
string path = Path.Combine(epPath, formatname + ".xml");
if (File.Exists(path))
{
try
{
using (StreamReader srf = new StreamReader(path))
{
fmtfi = new FileInfo(path);
xd = new XmlDocument();
xd.XmlResolver = null;
xd.Load(srf);
fmtdata = xd.OuterXml;
}
}
catch (Exception ex)
{
OnFormatLoaded(null, new FormatEventArgs("Error Loading Format " + formatname));
_MyLog.ErrorFormat($"AddEPFormatToDB('{path}')");
return;
}
}
if (string.IsNullOrEmpty(Userid)) Userid = "Migration";
try
{
EPFormatFile.UpdateEPFormat(formatname, fmtdata, Userid);
}
catch (Exception ex)
{
_MyLog.ErrorFormat($"AddFormatToDB-make format('{path}')");
}
}
}
public partial class FormatInfo : IFormatOrFormatInfo
public partial class FormatInfo : IFormatOrFormatInfo
{
//transition report stuff
private static Dictionary<int, string> _TransitionTypes;