Assure that the selected slave is set when looking up transition destinations.

Added logic to properly find a procedure title when the first applicable step is not the first step.
This commit is contained in:
Rich 2014-05-21 20:39:49 +00:00
parent c116a586fe
commit dc3d894195
2 changed files with 18 additions and 10 deletions

View File

@ -4850,17 +4850,18 @@ namespace VEPROMS.CSLA.Library
ProcedureInfo tmp = DataPortal.Fetch<ProcedureInfo>(new ItemAndChildrenByUnitCriteria(args.ProcID, 0, args.UnitID));
if (tmp.MyDocVersion != null)
{
if (tmp.MyDocVersion.VersionID == args.MyDocVersion.VersionID)
{
(tmp.MyConfig as ProcedureConfig).SelectedSlave = args.UnitID;
ItemInfo.SetParentSectionAndDocVersion(tmp, args.MyDocVersion, null, tmp, args.MyDocVersion);
}
else
{
//if (tmp.MyDocVersion.VersionID == args.MyDocVersion.VersionID)
//{
// args.MyDocVersion.DocVersionConfig.SelectedSlave = args.UnitID;
// (tmp.MyConfig as ProcedureConfig).SelectedSlave = args.UnitID;
// ItemInfo.SetParentSectionAndDocVersion(tmp, args.MyDocVersion, null, tmp, args.MyDocVersion);
//}
//else
//{
tmp.MyDocVersion.DocVersionConfig.SelectedSlave = args.UnitID;
(tmp.MyConfig as ProcedureConfig).SelectedSlave = args.UnitID;
ItemInfo.SetParentSectionAndDocVersion(tmp, tmp.MyDocVersion, null, tmp, tmp.MyDocVersion);
}
//}
}
return tmp;
}

View File

@ -699,8 +699,15 @@ namespace VEPROMS.CSLA.Library
// if can't find procedure, just put in a question mark.
if (tb._ToItem.PreviousID == null && tb._ToItem.ItemPartCount == 0 && tb._ToItem.ItemDocVersionCount == 0)
{
tb.Append("?");
return true; // (tb.TextAdded = true);
if (tb._ToItem.ActiveParent is ItemInfo && (tb._ToItem.ActiveParent as ItemInfo).Steps[0].ItemID == tb._ToItem.ItemID)
{
// If the transition is to the first applicable step, then use the location rather than outputting a question mark.
}
else
{
tb.Append("?");
return true; // (tb.TextAdded = true);
}
}
string parenstr = tb._ToItem.MyProcedure.MyContent.Text;
parenstr = parenstr.Replace("\\LINE ", " ").Replace("\r\n", " ");