Added ApplicabilityIndex property to dlgApproveProcedure class

Set ApplicabilityIndex to DocVersionConfig.SelectedSlave
Set DocVersionConfig.SelectedSlave to ApplicabilityIndex for each procedure in DocVersion
Set DocVersionConfig.SelectedSlave to DocVersionConfig.SelectedSlave of first procedure to be approved for each procedure listed in select procedure panel
Set ProcedureConfig.SelectedSlave to DocVersionConfig.SelectedSlave in constructor for ApprovalProcedure class
Retrieve current RevisionInfo for ApprovalProcedure class Approve method
For each procedure to be approved, retreive current RevisionInfo
Set myDTS variable to current RevisonInfo DTS if RevNumber is different and latest version is approved
Populate ContentAuditInfoList and AnnotationAuditInfoList for selected unit
Retrieve Revison object for selected unit
Added required closing brace
Store DocVersionConfig.SelectedSlave value to selectedSlave variable then reset DocVersionConfig.SelectedSlave to 0
Update ProcedureConfig based on selectedSlave variable value based on whether StageInfo is approved or not approved
Reset DocVersionConfig.SelectedSlave to value of selectedSlave variable
Changed UpdateProcedureConfig method to inlcude selectedSlave parameter
Set ProcedureConfig SelectedSlave property to passed selectedSlave parameter value
Comment out updating Item DTS during ProcedureConfig update
This commit is contained in:
Rich 2012-12-04 22:44:00 +00:00
parent 8fd70677fc
commit 35da7c4274

View File

@ -33,11 +33,18 @@ namespace VEPROMS
tsslStatus.Text = value ? "" : "Need to correct the Rev Numbers marked with Question Marks";
}
}
private int _ApplicabilityIndex = 0;
public int ApplicabilityIndex
{
get { return _ApplicabilityIndex; }
set { _ApplicabilityIndex = value; }
}
private ApprovalInfo _MyApproval = new ApprovalInfo();
private bool _CheckForMore = false;
private DocVersionInfo _MyDocVersion;
public dlgApproveProcedure(DocVersionInfo myDocVersion)
{
ApplicabilityIndex = myDocVersion.DocVersionConfig.SelectedSlave;
this.ConsistencyPrintRequest += new DisplayConsistencyReportEvent(dlgApproveProcedure_ConsistencyPrintRequest);
_MyDocVersion = myDocVersion;
InitializeComponent();
@ -45,7 +52,10 @@ namespace VEPROMS
_MyApproval.StatusUpdated += new ApprovalStatusChangeEvent(_MyApproval_StatusUpdated);
SetupComboBoxes();
foreach (ProcedureInfo pi in myDocVersion.Procedures)
{
pi.MyDocVersion.DocVersionConfig.SelectedSlave = ApplicabilityIndex;
_MyApproval.AddProcedure(pi);
}
SetupMyApproval();
//pnlApprove.LocationChanged += new EventHandler(Panel_LocationChanged);
//pnlSelect.LocationChanged += new EventHandler(Panel_LocationChanged);
@ -162,6 +172,7 @@ namespace VEPROMS
{
foreach (ProcedureInfo pi in _MyDocVersion.Procedures)
{
pi.MyDocVersion.DocVersionConfig.SelectedSlave = _MyDocVersion.DocVersionConfig.SelectedSlave;
clbMore.Items.Add(pi.DisplayNumber);
tmpProcedures.Add(pi.DisplayNumber, pi);
}
@ -637,6 +648,7 @@ namespace VEPROMS
}
public ApprovalProcedure(ProcedureInfo proc)
{
proc.ProcedureConfig.SelectedSlave = proc.MyDocVersion.DocVersionConfig.SelectedSlave;
ProcInfo = proc;
RevNumber = proc.ProcedureConfig.Print_Rev == string.Empty ? "0" : proc.ProcedureConfig.Print_Rev;
//AppRevDate Change
@ -929,7 +941,8 @@ namespace VEPROMS
StageInfo nsi = StageInfo.Get(RevStage);
foreach (ApprovalProcedure ap in MyProcedures) //spin thru looking for updating current revision
{
RevisionInfo ric = RevisionInfo.GetCurrentByItemID(ap.ProcInfo.ItemID);
//RevisionInfo ric = RevisionInfo.GetCurrentByItemID(ap.ProcInfo.ItemID);
RevisionInfo ric = ap.ProcInfo.MyDocVersion.DocVersionConfig.SelectedSlave > 0 ? RevisionInfo.GetCurrentByItemIDandUnitID(ap.ProcInfo.ItemID,ap.ProcInfo.MyDocVersion.DocVersionConfig.SelectedSlave) : RevisionInfo.GetCurrentByItemID(ap.ProcInfo.ItemID);
if (ric != null)
{
VersionInfo vi = ric.LatestVersion;
@ -950,17 +963,40 @@ namespace VEPROMS
{
ProcedureInfo pi = ap.ProcInfo;
OnStatusUpdated(this, new ApprovalMessageArgs(string.Format("Processing {0}", pi.DisplayNumber)));
RevisionInfo ric = RevisionInfo.GetCurrentByItemID(pi.ItemID);
RevisionInfo ric = pi.MyDocVersion.DocVersionConfig.SelectedSlave > 0 ? RevisionInfo.GetCurrentByItemIDandUnitID(pi.ItemID,pi.MyDocVersion.DocVersionConfig.SelectedSlave) : RevisionInfo.GetCurrentByItemID(pi.ItemID);
// RevisionInfo rip = RevisionInfo.GetPreviousByItemID(pi.ItemID);
DateTime myDTS = pi.DTS;
if (ric != null && ap.RevNumber == ric.RevisionNumber && ric.LatestVersion.MyStage.IsApproved == 1)
{
myDTS = ric.MyConfig.History_StartDate;
UpdateProcedureDTS(pi, myDTS);
//UpdateProcedureDTS(pi, myDTS);
}
if (ric != null && ap.RevNumber != ric.RevisionNumber && ric.LatestVersion.MyStage.IsApproved == 1)
{
myDTS = ric.DTS;
// myDTS = DateTime.Parse(pi.ProcedureConfig.Print_RevDate);
}
string summaryPDF = VlnSettings.TemporaryFolder + @"\MySummary.pdf";
ContentAuditInfoList cail = ContentAuditInfoList.GetSummary(pi.ItemID, pi.ItemID, false);
AnnotationAuditInfoList aail = AnnotationAuditInfoList.GetChronology(pi.ItemID, pi.ItemID);
ContentAuditInfoList cail;
AnnotationAuditInfoList aail;
if (pi.MyDocVersion.DocVersionConfig.SelectedSlave > 0)
{
cail = ContentAuditInfoList.GetSummaryByUnit(pi.ItemID, pi.ItemID, false, pi.MyDocVersion.DocVersionConfig.SelectedSlave);
aail = AnnotationAuditInfoList.GetChronologyByUnit(pi.ItemID, pi.ItemID, pi.MyDocVersion.DocVersionConfig.SelectedSlave);
}
else
{
cail = ContentAuditInfoList.GetSummary(pi.ItemID, pi.ItemID, false);
aail = AnnotationAuditInfoList.GetChronology(pi.ItemID, pi.ItemID);
}
if (pi.MyDocVersion.DocVersionConfig.SelectedSlave > 0)
{
pi = ProcedureInfo.GetItemAndChildrenByUnit(pi.ItemID, 0, pi.MyDocVersion.DocVersionConfig.SelectedSlave);
}
//else
//{
// pi = ProcedureInfo.GetItemAndChildren(pi.ItemID, 0);
//}
Volian.Print.Library.PDFChronologyReport myChronoRpt = new Volian.Print.Library.PDFChronologyReport(summaryPDF, pi, cail, aail);
myChronoRpt.BuildSummary(ViewPDF);
FileInfo pdfFile = new FileInfo(summaryPDF);
@ -968,22 +1004,47 @@ namespace VEPROMS
byte[] summaryBuf = new byte[pdfFile.Length];
fs.Read(summaryBuf, 0, summaryBuf.Length);
fs.Close();
Revision revision = Revision.GetByItemIDAndRevisionNumber(pi.ItemID, ap.RevNumber);
if (revision == null)
Revision revision = null;
if (ap.ProcInfo.MyDocVersion.DocVersionConfig.SelectedSlave > 0)
{
RevisionConfig cfg = new RevisionConfig();
cfg.History_StartDate = pi.DTS;
//cfg.Save();
revision = Revision.MakeRevision(pi.ItemID, RevType, ap.RevNumber, ap.RevDate, RevNote, cfg.ToString(), DateTime.Now, Volian.Base.Library.VlnSettings.UserID);
// revision.MyConfig.History_StartDate = pi.DTS;
// revision.MyConfig.Save();
// revision = revision.Save();
revision = Revision.GetByItemIDAndRevisionNumberAndUnitID(pi.ItemID, ap.RevNumber, ap.ProcInfo.MyDocVersion.DocVersionConfig.SelectedSlave);
if (revision == null)
{
RevisionConfig cfg = new RevisionConfig();
cfg.History_StartDate = pi.DTS;
cfg.Applicability_Index = ap.ProcInfo.MyDocVersion.DocVersionConfig.SelectedSlave;
//cfg.Save();
revision = Revision.MakeRevision(pi.ItemID, RevType, ap.RevNumber, ap.RevDate, RevNote, cfg.ToString(), DateTime.Now, Volian.Base.Library.VlnSettings.UserID);
// revision.MyConfig.History_StartDate = pi.DTS;
// revision.MyConfig.Save();
// revision = revision.Save();
}
else if (revision.Notes != RevNote || revision.RevisionDate != ap.RevDate)
{
revision.Notes = RevNote;
revision.RevisionDate = ap.RevDate;
revision = revision.Save();
}
}
else if (revision.Notes != RevNote || revision.RevisionDate != ap.RevDate)
else
{
revision.Notes = RevNote;
revision.RevisionDate = ap.RevDate;
revision = revision.Save();
revision = Revision.GetByItemIDAndRevisionNumber(pi.ItemID, ap.RevNumber);
if (revision == null)
{
RevisionConfig cfg = new RevisionConfig();
cfg.History_StartDate = pi.DTS;
//cfg.Save();
revision = Revision.MakeRevision(pi.ItemID, RevType, ap.RevNumber, ap.RevDate, RevNote, cfg.ToString(), DateTime.Now, Volian.Base.Library.VlnSettings.UserID);
// revision.MyConfig.History_StartDate = pi.DTS;
// revision.MyConfig.Save();
// revision = revision.Save();
}
else if (revision.Notes != RevNote || revision.RevisionDate != ap.RevDate)
{
revision.Notes = RevNote;
revision.RevisionDate = ap.RevDate;
revision = revision.Save();
}
}
DateTime currentDTS = DateTime.Now;
Check check = Check.MakeCheck(revision, Stage.Get(RevStage), RevisionInfo.BuildRevisionChecks(pi), currentDTS, VlnSettings.UserID);
@ -996,9 +1057,9 @@ namespace VEPROMS
using (ProcedureInfo myproc = ProcedureInfo.GetItemAndChildren(pi.ItemID))
{
frmPDFStatusForm frm = new frmPDFStatusForm(myproc, ap.RevNumber, /* revdate change: ap.RevDate.ToString("MM/dd/yyyy") ,*/ waterMark, false, false, ViewPDF, true, VlnSettings.TemporaryFolder, new ChangeBarDefinition(pi.MyDocVersion.MyConfig as DocVersionConfig, pi.ActiveFormat), pdfTmp, location);
frm.AllowAllWatermarks = true;
frm.CloseWhenDone = !ViewPDF;
frm.ShowDialog();
frm.AllowAllWatermarks = true;
frm.CloseWhenDone = !ViewPDF;
frm.ShowDialog();
}
pdfFile = new FileInfo(pdfPath);
fs = pdfFile.Open(FileMode.Open, FileAccess.Read, FileShare.ReadWrite);
@ -1007,11 +1068,14 @@ namespace VEPROMS
fs.Close();
VEPROMS.CSLA.Library.Version version = VEPROMS.CSLA.Library.Version.MakeVersion(revision, Stage.Get(RevStage), buf, summaryBuf, currentDTS, VlnSettings.UserID);
StageInfo si = StageInfo.Get(RevStage);
int selectedSlave = pi.MyDocVersion.DocVersionConfig.SelectedSlave;
pi.MyDocVersion.DocVersionConfig.SelectedSlave = 0;
if (si.IsApproved == 1)
UpdateProcedureConfig(pi, ap.RevNumber, ap.RevDate, DateTime.Now);
UpdateProcedureConfig(pi, ap.RevNumber, ap.RevDate, DateTime.Now, selectedSlave);
else
UpdateProcedureConfig(pi, ap.RevNumber, ap.RevDate, myDTS);
UpdateProcedureConfig(pi, ap.RevNumber, ap.RevDate, myDTS, selectedSlave);
//UpdateProcedureDTS(pi, DateTime.Now);
pi.MyDocVersion.DocVersionConfig.SelectedSlave = selectedSlave;
}
return true;
}
@ -1024,17 +1088,18 @@ namespace VEPROMS
itm.Save();
}
}
private void UpdateProcedureConfig(ProcedureInfo procedureInfo, string revNumber, DateTime revDate, DateTime dts)
private void UpdateProcedureConfig(ProcedureInfo procedureInfo, string revNumber, DateTime revDate, DateTime dts, int selectedSlave)
{
ProcedureConfig pc = procedureInfo.MyConfig as ProcedureConfig;
if (pc == null) return;
pc.SelectedSlave = selectedSlave;
pc.Print_Rev = revNumber;
//AppRevDate Change
pc.Print_RevDate = revDate.ToString("MM/dd/yyyy");
using (Item itm = Item.Get(procedureInfo.ItemID))
{
itm.MyContent.Config = pc.ToString();
itm.DTS = dts;
//itm.DTS = dts;
itm.UserID = Volian.Base.Library.VlnSettings.UserID;
itm.Save();
}