C2016-020: Enhanced tabs use source tab and if not linked use ‘NA’. This replaces using ordinal for tab for enhanced tabs
This commit is contained in:
parent
e4573a6880
commit
324bc4aa30
@ -3008,6 +3008,16 @@ namespace VEPROMS.CSLA.Library
|
|||||||
{
|
{
|
||||||
get { return this.MyContent.ContentPartCount > 0; }
|
get { return this.MyContent.ContentPartCount > 0; }
|
||||||
}
|
}
|
||||||
|
public bool HasEnhancedLinkedStep
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
if (!IsStep) return false;
|
||||||
|
StepConfig sc = MyConfig as StepConfig;
|
||||||
|
if (sc.MyEnhancedDocuments != null && sc.MyEnhancedDocuments.Count > 0 && sc.MyEnhancedDocuments[0].Type != 0) return true;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
public bool HasWordContent
|
public bool HasWordContent
|
||||||
{
|
{
|
||||||
get { return this.MyContent.MyEntry != null; }
|
get { return this.MyContent.MyEntry != null; }
|
||||||
@ -3334,6 +3344,34 @@ namespace VEPROMS.CSLA.Library
|
|||||||
_TagsSetup = true;
|
_TagsSetup = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
public string LinkedTab
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
EnhancedDocuments eds = GetMyEnhancedDocuments();
|
||||||
|
if (eds != null && eds.Count == 1 && eds[0].Type == 0)
|
||||||
|
{
|
||||||
|
ItemInfo srcItem = ItemInfo.Get(eds[0].ItemID);
|
||||||
|
return srcItem.MyTab.ToString();
|
||||||
|
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
public int? LinkedOrdinal
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
EnhancedDocuments eds = GetMyEnhancedDocuments();
|
||||||
|
if (eds != null && eds.Count == 1 && eds[0].Type == 0)
|
||||||
|
{
|
||||||
|
ItemInfo srcItem = ItemInfo.Get(eds[0].ItemID);
|
||||||
|
return srcItem.Ordinal;
|
||||||
|
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
[NonSerialized]
|
[NonSerialized]
|
||||||
protected MetaTag _MyHeader;
|
protected MetaTag _MyHeader;
|
||||||
public MetaTag MyHeader
|
public MetaTag MyHeader
|
||||||
@ -3411,16 +3449,19 @@ namespace VEPROMS.CSLA.Library
|
|||||||
if (((ActiveFormat.PlantFormat.FormatData.PurchaseOptions.Value & E_PurchaseOptions.EnhancedBackgrounds) == E_PurchaseOptions.EnhancedBackgrounds) ||
|
if (((ActiveFormat.PlantFormat.FormatData.PurchaseOptions.Value & E_PurchaseOptions.EnhancedBackgrounds) == E_PurchaseOptions.EnhancedBackgrounds) ||
|
||||||
((ActiveFormat.PlantFormat.FormatData.PurchaseOptions.Value & E_PurchaseOptions.EnhancedDeviations) == E_PurchaseOptions.EnhancedDeviations))
|
((ActiveFormat.PlantFormat.FormatData.PurchaseOptions.Value & E_PurchaseOptions.EnhancedDeviations) == E_PurchaseOptions.EnhancedDeviations))
|
||||||
{
|
{
|
||||||
|
// LinkedOrdinal & LinkedTab (in code below) are tabs from the source and account for unlinked steps. See C2016-020 and other
|
||||||
|
// references to these properties.
|
||||||
if (tbformat.Contains("{LNK C/N Num}"))
|
if (tbformat.Contains("{LNK C/N Num}"))
|
||||||
{
|
{
|
||||||
tbformat = tbformat.Replace("{LNK C/N Num}", Ordinal.ToString());
|
string tb = (LinkedOrdinal==null)? "NA" : LinkedOrdinal.ToString();
|
||||||
tbformat = tbformat.Replace("{LNK Step Num}", (ActiveParent as ItemInfo).Ordinal.ToString());
|
tbformat = tbformat.Replace("{LNK C/N Num}", tb);
|
||||||
|
tbformat = tbformat.Replace("{LNK Step Num}", (ActiveParent as ItemInfo).LinkedTab.Trim(" .".ToCharArray())); //(ActiveParent as ItemInfo).Ordinal.ToString());
|
||||||
tbformat = tbformat.TrimStart(" ".ToCharArray());
|
tbformat = tbformat.TrimStart(" ".ToCharArray());
|
||||||
}
|
}
|
||||||
if (tbformat.Contains("{LNK Step Num}"))
|
if (tbformat.Contains("{LNK Step Num}"))
|
||||||
tbformat = tbformat.Replace("{LNK Step Num}", Ordinal.ToString().PadLeft(2));
|
tbformat = tbformat.Replace("{LNK Step Num}", LinkedTab==null?"NA":LinkedTab.Trim(" .".ToCharArray()).PadLeft(2));//Ordinal.ToString().PadLeft(2));
|
||||||
if (tbformate != null && tbformate.Contains("{LNK Step Num}"))
|
if (tbformate != null && tbformate.Contains("{LNK Step Num}"))
|
||||||
tbformate = tbformate.Replace("{LNK Step Num}", Ordinal.ToString());
|
tbformate = tbformate.Replace("{LNK Step Num}", LinkedTab == null ? "NA" : LinkedTab.Trim(" .".ToCharArray()).PadLeft(2));//Ordinal.ToString());
|
||||||
}
|
}
|
||||||
if (tbformat.Contains("{indent}")) // Robinson Background format CPBCK
|
if (tbformat.Contains("{indent}")) // Robinson Background format CPBCK
|
||||||
tbformat = tbformat.Substring(8); // we just need to remove the "{indent}" and leave the spaces
|
tbformat = tbformat.Substring(8); // we just need to remove the "{indent}" and leave the spaces
|
||||||
@ -3655,7 +3696,24 @@ namespace VEPROMS.CSLA.Library
|
|||||||
}
|
}
|
||||||
bool isAlpha = tbformat.ToUpper().Contains("ALPHA");
|
bool isAlpha = tbformat.ToUpper().Contains("ALPHA");
|
||||||
int ordinal = Ordinal;
|
int ordinal = Ordinal;
|
||||||
string alpha = AlphabeticalNumbering(ordinal);
|
bool useLinked = false; // if this is enhanced, and the LinkedTab isn't numeric, flag to use 'LinkedTab' for the tab.
|
||||||
|
if (MyActiveSection.IsEnhancedSection)
|
||||||
|
{
|
||||||
|
if (IsEnhancedStep)
|
||||||
|
try
|
||||||
|
{
|
||||||
|
ordinal = int.Parse("0" + LinkedTab ?? "0");
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
// use LinkedTab and don't do the AlphabeticalNumbering below. LinkedTab had alpha chars
|
||||||
|
useLinked = true;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
ordinal = 0;
|
||||||
|
}
|
||||||
|
string alpha = useLinked?LinkedTab.Trim():AlphabeticalNumbering(ordinal);
|
||||||
|
|
||||||
tbformat = tbformat.Replace("{alpha}", alpha.ToLower());
|
tbformat = tbformat.Replace("{alpha}", alpha.ToLower());
|
||||||
tbformat = tbformat.Replace("{alphaWpar}", alpha.ToLower());
|
tbformat = tbformat.Replace("{alphaWpar}", alpha.ToLower());
|
||||||
if (ActiveFormat.PlantFormat.FormatData.PrintData.SpecialCaseCalvert && tbformat.Contains("{ALPHA}") && alpha.Length > 1)
|
if (ActiveFormat.PlantFormat.FormatData.PrintData.SpecialCaseCalvert && tbformat.Contains("{ALPHA}") && alpha.Length > 1)
|
||||||
@ -3681,12 +3739,24 @@ namespace VEPROMS.CSLA.Library
|
|||||||
// otherwise add a space.
|
// otherwise add a space.
|
||||||
if (ActiveFormat.PlantFormat.FormatData.SectData.StepSectionData.WolfCreekBackgroundFormat && IsBackgroundStep())
|
if (ActiveFormat.PlantFormat.FormatData.SectData.StepSectionData.WolfCreekBackgroundFormat && IsBackgroundStep())
|
||||||
{
|
{
|
||||||
string stpTab = (!tbformat.Contains(".") ? " " : "") + ordinal.ToString();
|
string stpTab = null;
|
||||||
|
if (useLinked)
|
||||||
|
stpTab = (!tbformat.Contains(".") ? " " : "") + ((ordinal == 0) ? "NA" : LinkedTab);
|
||||||
|
else
|
||||||
|
stpTab = (!tbformat.Contains(".") ? " " : "") + ((ordinal == 0) ? "NA" : ordinal.ToString());
|
||||||
tbformat = tbformat.Replace("{numeric}", stpTab);
|
tbformat = tbformat.Replace("{numeric}", stpTab);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
tbformat = tbformat.Replace("{numeric}", trimTabStart ? ordinal.ToString() : FormatStepData.AtLeastTwoDigits ? ordinal.ToString().PadLeft(2, '0') : ordinal.ToString().PadLeft(2));
|
tbformat = tbformat.Replace("{numeric}", trimTabStart ? ordinal.ToString() : FormatStepData.AtLeastTwoDigits ? ordinal.ToString().PadLeft(2, '0') : ordinal.ToString().PadLeft(2));
|
||||||
if (tbformate != null) tbformate = tbformate.Replace("{numeric}", trimTabStart ? ordinal.ToString() : FormatStepData.AtLeastTwoDigits ? ordinal.ToString().PadLeft(2, '0') : ordinal.ToString().PadLeft(2));
|
if (tbformate != null)
|
||||||
|
{
|
||||||
|
if (useLinked)
|
||||||
|
tbformate = tbformate.Replace("{numeric}", LinkedTab.Trim(" .".ToCharArray()).PadLeft(2));
|
||||||
|
if (tbformat.Contains("NA") && ordinal == 0)
|
||||||
|
tbformate = tbformate.Replace("{numeric}", "NA");
|
||||||
|
else
|
||||||
|
tbformate = tbformate.Replace("{numeric}", trimTabStart ? ordinal.ToString() : FormatStepData.AtLeastTwoDigits ? ordinal.ToString().PadLeft(2, '0') : ordinal.ToString().PadLeft(2));
|
||||||
|
}
|
||||||
tbformat = tbformat.Replace("{numericWpar}", ordinal.ToString());
|
tbformat = tbformat.Replace("{numericWpar}", ordinal.ToString());
|
||||||
if (tbformat.Contains("{asterisk}"))
|
if (tbformat.Contains("{asterisk}"))
|
||||||
{
|
{
|
||||||
@ -4746,6 +4816,10 @@ namespace VEPROMS.CSLA.Library
|
|||||||
{
|
{
|
||||||
MyFont = font;
|
MyFont = font;
|
||||||
}
|
}
|
||||||
|
public override string ToString()
|
||||||
|
{
|
||||||
|
return this.CleanTextNoSymbols;
|
||||||
|
}
|
||||||
public int Offset;
|
public int Offset;
|
||||||
public int Position;
|
public int Position;
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user