Added frmVEPROMS parameter to the constructor so that SessionPing can be disabled.
Added frmVEPROMS parameter to the constructor so that SessionPing can be disabled. Disabled SessionPing when Importing a Procedure Set, Added frmVEPROMS parameter to the constructor so that SessionPing can be disabled. Added logic to disable SessionPing.
This commit is contained in:
parent
73d7c13d65
commit
26ad9239f2
@ -49,11 +49,19 @@ namespace VEPROMS
|
||||
_MyApproval.MySessionInfo = _MySessionInfo;
|
||||
}
|
||||
}
|
||||
private ApprovalInfo _MyApproval = new ApprovalInfo();
|
||||
private ApprovalInfo _MyApproval;
|
||||
private bool _CheckForMore = false;
|
||||
private DocVersionInfo _MyDocVersion;
|
||||
public dlgApproveProcedure(DocVersionInfo myDocVersion)
|
||||
frmVEPROMS _MyFrmVEPROMS = null;
|
||||
public frmVEPROMS MyFrmVEPROMS
|
||||
{
|
||||
get { return _MyFrmVEPROMS; }
|
||||
set { _MyFrmVEPROMS = value; }
|
||||
}
|
||||
public dlgApproveProcedure(DocVersionInfo myDocVersion, frmVEPROMS myFrmVEPROMS)
|
||||
{
|
||||
MyFrmVEPROMS = myFrmVEPROMS;// Save frmVEPROMS for Import to shutoff SessionPing
|
||||
_MyApproval = new ApprovalInfo(myFrmVEPROMS);// Save frmVEPROMS for Import to shutoff SessionPing
|
||||
ApplicabilityIndex = myDocVersion.DocVersionConfig.SelectedSlave;
|
||||
this.ConsistencyPrintRequest += new DisplayConsistencyReportEvent(dlgApproveProcedure_ConsistencyPrintRequest);
|
||||
_MyDocVersion = myDocVersion;
|
||||
@ -214,8 +222,10 @@ namespace VEPROMS
|
||||
else
|
||||
return tmpProcedures[GetDisplayNumberOnly(key)];
|
||||
}
|
||||
public dlgApproveProcedure(DocVersionInfo myDocVersion, bool selectSome)
|
||||
public dlgApproveProcedure(DocVersionInfo myDocVersion, bool selectSome, frmVEPROMS myFrmVEPROMS)
|
||||
{
|
||||
MyFrmVEPROMS = myFrmVEPROMS;// Save frmVEPROMS for Import to shutoff SessionPing
|
||||
_MyApproval = new ApprovalInfo(myFrmVEPROMS);// Save frmVEPROMS for Import to shutoff SessionPing
|
||||
this.ConsistencyPrintRequest += new DisplayConsistencyReportEvent(dlgApproveProcedure_ConsistencyPrintRequest);
|
||||
_MyDocVersion = myDocVersion;
|
||||
InitializeComponent();
|
||||
@ -227,8 +237,10 @@ namespace VEPROMS
|
||||
pnlSelect.SendToBack();
|
||||
this.Width = pnlSelect.Width + this.Width - this.ClientSize.Width; ;
|
||||
}
|
||||
public dlgApproveProcedure(ProcedureInfo myProcedure)
|
||||
public dlgApproveProcedure(ProcedureInfo myProcedure, frmVEPROMS myFrmVEPROMS)
|
||||
{
|
||||
MyFrmVEPROMS = myFrmVEPROMS;// Save frmVEPROMS for Import to shutoff SessionPing
|
||||
_MyApproval = new ApprovalInfo(myFrmVEPROMS);// Save frmVEPROMS for Import to shutoff SessionPing
|
||||
this.ConsistencyPrintRequest += new DisplayConsistencyReportEvent(dlgApproveProcedure_ConsistencyPrintRequest);
|
||||
_MyDocVersion = myProcedure.MyDocVersion;
|
||||
InitializeComponent();
|
||||
@ -732,6 +744,12 @@ namespace VEPROMS
|
||||
public delegate void ApprovalStatusChangeEvent(ApprovalInfo sender, ApprovalMessageArgs e);
|
||||
public class ApprovalInfo
|
||||
{
|
||||
frmVEPROMS _MyFrmVEPROMS = null;
|
||||
public frmVEPROMS MyFrmVEPROMS
|
||||
{
|
||||
get { return _MyFrmVEPROMS; }
|
||||
set { _MyFrmVEPROMS = value; }
|
||||
}
|
||||
public event ApprovalStatusChangeEvent StatusUpdated;
|
||||
public void OnStatusUpdated(ApprovalInfo sender, ApprovalMessageArgs e)
|
||||
{
|
||||
@ -804,8 +822,9 @@ namespace VEPROMS
|
||||
get { return _MyProcedures; }
|
||||
//set { _MyProcedures = value; }
|
||||
}
|
||||
public ApprovalInfo()
|
||||
public ApprovalInfo(frmVEPROMS myFrmVEPROMS)
|
||||
{
|
||||
MyFrmVEPROMS = myFrmVEPROMS;// Save frmVEPROMS for Import to shutoff SessionPing
|
||||
_MyProcedures = new List<ApprovalProcedure>();
|
||||
}
|
||||
private static string FormatRev(Match m)
|
||||
@ -1164,7 +1183,7 @@ namespace VEPROMS
|
||||
pi.MyDocVersion.DocVersionConfig.SelectedSlave = 0;
|
||||
if (si.IsApproved == 1)
|
||||
{
|
||||
dlgExportImport dlg = new dlgExportImport("Export", pi); // "true tell export to convert ROs and Transitions to text
|
||||
dlgExportImport dlg = new dlgExportImport("Export", pi, MyFrmVEPROMS); // "true tell export to convert ROs and Transitions to text
|
||||
dlg.DocReplace = frm.DocReplace; // this tells approval to prepare an export file with resolved transitions and ROs, word sections are saved with resolved ROs during approval PDF creation and saved in DocReplace
|
||||
System.Xml.XmlDocument xd = new System.Xml.XmlDocument();
|
||||
dlg.ExportItem(xd, pi, "procedure");
|
||||
|
@ -19,6 +19,12 @@ namespace VEPROMS
|
||||
#region Log4Net
|
||||
private static readonly log4net.ILog _MyLog = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
|
||||
#endregion
|
||||
frmVEPROMS _MyFrmVEPROMS = null;// Save frmVEPROMS for Import to shutoff SessionPing
|
||||
public frmVEPROMS MyFrmVEPROMS
|
||||
{
|
||||
get { return _MyFrmVEPROMS; }
|
||||
set { _MyFrmVEPROMS = value; }
|
||||
}
|
||||
private bool _ConvertROsToTextDuringImport = false;
|
||||
private bool _ConvertROsAndTransitionsToText = false; // set to true when Approval creates an Export file
|
||||
|
||||
@ -59,22 +65,25 @@ namespace VEPROMS
|
||||
xa.InnerText = value;
|
||||
return xa;
|
||||
}
|
||||
public dlgExportImport(string mode, FolderInfo folderInfo)
|
||||
public dlgExportImport(string mode, FolderInfo folderInfo, frmVEPROMS myFrmVEPROMS)
|
||||
{
|
||||
MyFrmVEPROMS = myFrmVEPROMS;// Save frmVEPROMS for Import to shutoff SessionPing
|
||||
_MyMode = mode;
|
||||
MyFolder = folderInfo;
|
||||
InitializeComponent();
|
||||
this.Text = mode + " Dialog for " + folderInfo.Name;
|
||||
}
|
||||
public dlgExportImport(string mode, DocVersionInfo docVersionInfo)
|
||||
{
|
||||
public dlgExportImport(string mode, DocVersionInfo docVersionInfo, frmVEPROMS myFrmVEPROMS)
|
||||
{
|
||||
MyFrmVEPROMS = myFrmVEPROMS;// Save frmVEPROMS for Import to shutoff SessionPing
|
||||
_MyMode = mode;
|
||||
MyDocVersion = docVersionInfo;
|
||||
InitializeComponent();
|
||||
this.Text = mode + " Dialog for " + docVersionInfo.Name + " of " + docVersionInfo.MyFolder.Name;
|
||||
}
|
||||
public dlgExportImport(string mode, ProcedureInfo procedureInfo)
|
||||
{
|
||||
public dlgExportImport(string mode, ProcedureInfo procedureInfo, frmVEPROMS myFrmVEPROMS)
|
||||
{
|
||||
MyFrmVEPROMS = myFrmVEPROMS;// Save frmVEPROMS for Import to shutoff SessionPing
|
||||
_MyMode = mode;
|
||||
MyProcedure = procedureInfo;
|
||||
InitializeComponent();
|
||||
@ -218,9 +227,11 @@ namespace VEPROMS
|
||||
if (MyFolder != null) // import a folder - a .expx file
|
||||
{
|
||||
TurnChangeManagerOff.Execute();
|
||||
MyFrmVEPROMS.DisablePing = true;// Turn-off SessionPing
|
||||
TryToLoadImportDataDocument();// Added Try Catch Error Handling to assure that the Change Manager is tuned-on
|
||||
MyDocVersion = null;
|
||||
isImported = true;
|
||||
MyFrmVEPROMS.DisablePing = false;// Turn-on SessionPing
|
||||
TurnChangeManagerOn.Execute();
|
||||
}
|
||||
if (MyDocVersion != null) // import a procedure - a .pxml file
|
||||
@ -3013,23 +3024,37 @@ namespace VEPROMS
|
||||
{
|
||||
XmlNode image = nd.SelectSingleNode("image");
|
||||
int imageid = int.Parse(image.Attributes.GetNamedItem("imageid").InnerText);
|
||||
ROImage roimage = ROImage.Get(imageid);
|
||||
string config;
|
||||
DateTime dts;
|
||||
string userid;
|
||||
if (roimage == null)
|
||||
using (ROImage roimage = ROImage.GetJustROImage(imageid))//Dispose when done
|
||||
{
|
||||
string filename = image.Attributes.GetNamedItem("filename").InnerText;
|
||||
byte[] content = Convert.FromBase64String(image.Attributes.GetNamedItem("content").InnerText);
|
||||
config = image.Attributes.GetNamedItem("config").InnerText;
|
||||
dts = DateTime.Parse(image.Attributes.GetNamedItem("dts").InnerText);
|
||||
userid = image.Attributes.GetNamedItem("userid").InnerText;
|
||||
roimage = ROImage.MakeROImage(MyRODb, filename, content, config, dts, userid);
|
||||
string config;
|
||||
DateTime dts;
|
||||
string userid;
|
||||
if (roimage == null)
|
||||
{
|
||||
string filename = image.Attributes.GetNamedItem("filename").InnerText;
|
||||
byte[] content = Convert.FromBase64String(image.Attributes.GetNamedItem("content").InnerText);
|
||||
config = image.Attributes.GetNamedItem("config").InnerText;
|
||||
dts = DateTime.Parse(image.Attributes.GetNamedItem("dts").InnerText);
|
||||
userid = image.Attributes.GetNamedItem("userid").InnerText;
|
||||
// Dispose when done
|
||||
using (ROImage roimage1 = ROImage.MakeROImage(MyRODb, filename, content, config, dts, userid))
|
||||
{
|
||||
config = nd.Attributes.GetNamedItem("config").InnerText;
|
||||
dts = DateTime.Parse(nd.Attributes.GetNamedItem("dts").InnerText);
|
||||
userid = nd.Attributes.GetNamedItem("userid").InnerText;
|
||||
// Dispose when done
|
||||
using(Figure fig = Figure.MakeFigure(rofst, roimage, config, dts, userid)){;}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
config = nd.Attributes.GetNamedItem("config").InnerText;
|
||||
dts = DateTime.Parse(nd.Attributes.GetNamedItem("dts").InnerText);
|
||||
userid = nd.Attributes.GetNamedItem("userid").InnerText;
|
||||
// Dispose when done
|
||||
using(Figure fig = Figure.MakeFigure(rofst, roimage, config, dts, userid)){;}
|
||||
}
|
||||
}
|
||||
config = nd.Attributes.GetNamedItem("config").InnerText;
|
||||
dts = DateTime.Parse(nd.Attributes.GetNamedItem("dts").InnerText);
|
||||
userid = nd.Attributes.GetNamedItem("userid").InnerText;
|
||||
Figure fig = Figure.MakeFigure(rofst, roimage, config, dts, userid);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -521,7 +521,7 @@ namespace VEPROMS
|
||||
else
|
||||
{
|
||||
int ownerid = MySessionInfo.CheckOutItem(fi.FolderID, CheckOutType.Session);
|
||||
dlgExportImport dlg = new dlgExportImport(args.Index == 0 ? "Export" : "Import", fi);
|
||||
dlgExportImport dlg = new dlgExportImport(args.Index == 0 ? "Export" : "Import", fi, this);//Added frmVEPROMS Parameter
|
||||
dlg.ShowDialog(this);
|
||||
MySessionInfo.CheckInItem(ownerid);
|
||||
if (args.Index == 1 && dlg.MyNewFolder != null)
|
||||
@ -546,7 +546,7 @@ namespace VEPROMS
|
||||
return;
|
||||
}
|
||||
int ownerid = MySessionInfo.CheckOutItem(dvi.VersionID, CheckOutType.DocVersion);
|
||||
dlgExportImport dlg = new dlgExportImport("Import", dvi);
|
||||
dlgExportImport dlg = new dlgExportImport("Import", dvi, this);//Added frmVEPROMS Parameter
|
||||
dlg.MyNewProcedure = null;
|
||||
dlg.ExternalTransitionItem = null;
|
||||
dlg.ShowDialog(this);
|
||||
@ -568,7 +568,7 @@ namespace VEPROMS
|
||||
else
|
||||
{
|
||||
int ownerid = MySessionInfo.CheckOutItem(pi.ItemID, CheckOutType.Procedure);
|
||||
dlgExportImport dlg = new dlgExportImport("Export", pi);
|
||||
dlgExportImport dlg = new dlgExportImport("Export", pi, this);//Added frmVEPROMS Parameter
|
||||
dlg.ShowDialog(this);
|
||||
MySessionInfo.CheckInItem(ownerid);
|
||||
}
|
||||
@ -717,7 +717,7 @@ namespace VEPROMS
|
||||
}
|
||||
int ownerid = MySessionInfo.CheckOutItem(dvi.VersionID, CheckOutType.DocVersion);
|
||||
dvi.DocVersionConfig.SelectedSlave = args.UnitIndex;
|
||||
dlgApproveProcedure dlg = new dlgApproveProcedure(dvi, true);
|
||||
dlgApproveProcedure dlg = new dlgApproveProcedure(dvi, true, this);//Added frmVEPROMS Parameter
|
||||
dlg.MySessionInfo = MySessionInfo;
|
||||
dlg.ShowDialog(this);
|
||||
displayHistory.RefreshList();
|
||||
@ -738,7 +738,7 @@ namespace VEPROMS
|
||||
}
|
||||
int ownerid = MySessionInfo.CheckOutItem(dvi.VersionID, CheckOutType.DocVersion);
|
||||
dvi.DocVersionConfig.SelectedSlave = args.UnitIndex;
|
||||
dlgApproveProcedure dlg = new dlgApproveProcedure(dvi);
|
||||
dlgApproveProcedure dlg = new dlgApproveProcedure(dvi,this);//Added frmVEPROMS Parameter
|
||||
dlg.MySessionInfo = MySessionInfo;
|
||||
dlg.ShowDialog(this);
|
||||
displayHistory.RefreshList();
|
||||
@ -814,7 +814,7 @@ namespace VEPROMS
|
||||
return;
|
||||
}
|
||||
int ownerid = MySessionInfo.CheckOutItem(pi.ItemID, 0);
|
||||
dlgApproveProcedure dlg = new dlgApproveProcedure(pi);
|
||||
dlgApproveProcedure dlg = new dlgApproveProcedure(pi,this);//Added frmVEPROMS Parameter
|
||||
dlg.MySessionInfo = MySessionInfo;
|
||||
dlg.ShowDialog(this);
|
||||
displayHistory.RefreshList();
|
||||
@ -1193,14 +1193,27 @@ namespace VEPROMS
|
||||
{
|
||||
get { return _MyCloseTabList; }
|
||||
}
|
||||
private bool _DisablePing = false;
|
||||
public bool DisablePing
|
||||
{
|
||||
get { return _DisablePing; }
|
||||
set
|
||||
{
|
||||
_DisablePing = value;
|
||||
//_MyLog.WarnFormat("DisableSessionPing = {0}", value);
|
||||
}
|
||||
}
|
||||
private void PingSession(Object obj)
|
||||
{
|
||||
MySemaphore.WaitOne();
|
||||
List<int> myList = MySessionInfo.PingSession();
|
||||
foreach (DisplayTabItem dti in tc.MyBar.Items)
|
||||
if (!DisablePing)// If Ping is disabled don't do ping - This was causing a deadlock during import
|
||||
{
|
||||
if (!myList.Contains(dti.OwnerID))
|
||||
MyCloseTabList.PushDTI(dti);
|
||||
List<int> myList = MySessionInfo.PingSession();
|
||||
foreach (DisplayTabItem dti in tc.MyBar.Items)
|
||||
{
|
||||
if (!myList.Contains(dti.OwnerID))
|
||||
MyCloseTabList.PushDTI(dti);
|
||||
}
|
||||
}
|
||||
MySemaphore.Release();
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user