Added code to allow storing approved pdf's into database for multiunit sites.

This commit is contained in:
Rich 2013-11-14 21:28:25 +00:00
parent 3f87a0e39d
commit 99792ab13e

View File

@ -53,16 +53,30 @@ namespace DataLoader
private bool BuildApprovedRevision(Stage myStage, string approvedFolder, DocVersionInfo dvi)
{
bool rv = false;
if (dvi.MultiUnitCount <= 1)
{
ApprovedFolder af = new ApprovedFolder(approvedFolder);
foreach (ProcedureInfo pi in dvi.Procedures)
{
rv |= BuildApprovedRevision(myStage, af, pi);
rv |= BuildApprovedRevision(myStage, af, pi, 0);
}
}
else
{
ApprovedFolder af = new ApprovedFolder(approvedFolder, dvi);
foreach (ProcedureInfo pi in dvi.Procedures)
{
for (int i = 1; i <= dvi.MultiUnitCount; i++)
rv |= BuildApprovedRevision(myStage, af, pi, i);
}
}
return rv;
}
private bool BuildApprovedRevision(Stage myStage, ApprovedFolder af, ProcedureInfo pi)
private bool BuildApprovedRevision(Stage myStage, ApprovedFolder af, ProcedureInfo pi, int selectedSlave)
{
bool rv = false;
if (selectedSlave > 0)
pi.MyDocVersion.DocVersionConfig.SelectedSlave = selectedSlave;
frmMain.MyInfo = string.Format("Loading approved data for Procedure: {0}", pi.DisplayNumber);
// if working draft procedure does not exist in approved folder, don't bother processing
if (!af.EntryFromProc.ContainsKey(pi.DisplayNumber)) return rv;
@ -109,6 +123,8 @@ namespace DataLoader
string notes = "Migration Of Current Approved Revision";
RevisionConfig cfg = new RevisionConfig();
cfg.History_StartDate = pinf.StartDateTime;
if (pi.MyDocVersion.DocVersionConfig.SelectedSlave > 0)
cfg.Applicability_Index = pi.MyDocVersion.DocVersionConfig.SelectedSlave;
string config = cfg.ToString();
System.DateTime dts = pi.DTS;
string userID = pinf.UserID;
@ -287,6 +303,28 @@ namespace DataLoader
FillLibDocs();
_Lookup = new ROFSTLookup(string.Format(@"{0}\RO.FST", Path));
}
public ApprovedFolder(string path, DocVersionInfo dvi)
{
_Path = path;
FillROs();
FillLibDocs();
_Lookup = new ROFSTLookup(string.Format(@"{0}\RO.FST", Path));
_EntryFromProc = FillEntryFromProcMulti(dvi);
}
private Dictionary<string, ProcInfo> FillEntryFromProcMulti(DocVersionInfo dvi)
{
Dictionary<string, ProcInfo> rv = new Dictionary<string, ProcInfo>();
for (int i = 1; i <= dvi.MultiUnitCount; i++)
{
foreach (ProcedureInfo pi in dvi.Procedures)
{
pi.MyDocVersion.DocVersionConfig.SelectedSlave = i;
rv.Add(pi.DisplayNumber, new ProcInfo(pi, Path));
}
}
return rv;
}
private void FillLibDocs()
{
@ -383,6 +421,15 @@ namespace DataLoader
get { return _ReviewDate; }
set { _ReviewDate = value; }
}
public ProcInfo(ProcedureInfo pi, string afpath)
{
Number = pi.DisplayNumber;
Entry = pi.DisplayText;
UserID = pi.UserID;
StartDateTime = pi.DTS;
RevDate = pi.ProcedureConfig.Print_RevDate;
Rev = pi.ProcedureConfig.Print_Rev;
}
public ProcInfo(DataRow dr, string afpath)
{
Number = dr["NUMBER"].ToString();