C2022-003-Change-Textboxes-to-RTF-3
This commit is contained in:
@@ -394,6 +394,33 @@ namespace VEPROMS.CSLA.Library
|
||||
OnPropertyChanged("Step_ChangeID");
|
||||
}
|
||||
}
|
||||
|
||||
// C2015-028 Add Editorial Mode to PROMS Step Editor
|
||||
// was last change made in editorial mode and thus change bars should be disabled?
|
||||
// will contain userid of user that made last change if it was in Editorial Mode
|
||||
// if there was not a previous change that would have caused change bars
|
||||
// will be blank/empty by default
|
||||
// will get overwritten every time a change is made
|
||||
public string Step_ChangeIDEditorialMode
|
||||
{
|
||||
get
|
||||
{
|
||||
string s = _Xp["Step", "ChangeIDEMode"];
|
||||
|
||||
if (s == string.Empty) return null;
|
||||
return s;
|
||||
}
|
||||
set
|
||||
{
|
||||
string s = _Xp["Step", "ChangeIDEMode"];
|
||||
|
||||
if (value != null && value.ToString() == s) return;
|
||||
if (value == null && s != null) _Xp["Step", "ChangeIDEMode"] = null;
|
||||
else _Xp["Step", "ChangeIDEMode"] = value.ToString();
|
||||
OnPropertyChanged("Step_ChangeIDEMode");
|
||||
}
|
||||
}
|
||||
|
||||
public string Step_Responsibility
|
||||
{
|
||||
get
|
||||
|
||||
@@ -2647,8 +2647,8 @@ namespace VEPROMS.CSLA.Library
|
||||
with = with.Replace(@"\ul ", "");
|
||||
with = with.Replace(@"\ulnone ", "");
|
||||
}
|
||||
//if (Properties.Settings.Default.cbShwRplWrdsColor && !(epMode == E_EditPrintMode.Print))
|
||||
if (Properties.Settings.Default.cbShwRplWrdsColor && !(epMode == E_EditPrintMode.Print))
|
||||
// B2025-050 use VlnSettings so we don't need to restart PROMS
|
||||
if (VlnSettings.cbShwRplWrdsColor && !(epMode == E_EditPrintMode.Print))
|
||||
{
|
||||
with = $@"\cf2{with}\cf0 ";
|
||||
}
|
||||
|
||||
@@ -765,6 +765,19 @@ namespace VEPROMS.CSLA.Library
|
||||
foreach (DocVersionInfo dvi in _CacheByPrimaryKey[key])
|
||||
dvi.ResetProcedures();
|
||||
}
|
||||
|
||||
//C2021-035 Add Refresh Tree Option at highest level
|
||||
public static void ResetAllProcedures()
|
||||
{
|
||||
foreach (string key in _CacheByPrimaryKey.Keys)
|
||||
{
|
||||
foreach (DocVersionInfo dvi in _CacheByPrimaryKey[key])
|
||||
dvi.ResetProcedures();
|
||||
}
|
||||
|
||||
foreach (DocVersionInfo dvi in _CacheList)
|
||||
dvi.ResetProcedures();
|
||||
}
|
||||
#region IVEReadOnlyItem
|
||||
public System.Collections.IList GetChildren()
|
||||
{
|
||||
|
||||
@@ -275,6 +275,14 @@ namespace VEPROMS.CSLA.Library
|
||||
}
|
||||
}
|
||||
|
||||
//C2021-035 Add Refresh Tree Option at highest level
|
||||
public static void Reset()
|
||||
{
|
||||
_LookupFormats?.Clear();
|
||||
_LookupFormats = null;
|
||||
_ = LookupFormats;
|
||||
}
|
||||
|
||||
private static Format AddFormatToDB(Format parent, string format, bool issub, DateTime Dts, string Userid, string fmtPath, string genmacPath)
|
||||
{
|
||||
string fmtdata = null;
|
||||
@@ -509,7 +517,12 @@ public partial class FormatInfo : IFormatOrFormatInfo
|
||||
return _PROMSBaseFormat;
|
||||
}
|
||||
}
|
||||
public static FormatInfo Get(string name)
|
||||
public static void Reset()
|
||||
{
|
||||
_PROMSBaseFormat = null;
|
||||
}
|
||||
|
||||
public static FormatInfo Get(string name)
|
||||
{
|
||||
try
|
||||
{
|
||||
|
||||
@@ -3933,9 +3933,7 @@ namespace VEPROMS.CSLA.Library
|
||||
get
|
||||
{
|
||||
bool chg = HasChanges;
|
||||
StepInfo si = this as StepInfo;
|
||||
if (si == null) return false;
|
||||
StepConfig sc = si.MyConfig as StepConfig;
|
||||
StepConfig sc = this.MyConfig as StepConfig;
|
||||
if (sc == null) return false;
|
||||
// if there is no override & return whether there was a change to the text.
|
||||
if (chg && ActiveFormat.PlantFormat.FormatData.ProcData.ChangeBarData.ChangeIds &&
|
||||
@@ -3943,6 +3941,21 @@ namespace VEPROMS.CSLA.Library
|
||||
return false; // No Change ID - No Change Bar
|
||||
if ((sc.Step_SpellCheckerChangedText ?? "") == "NoChangeBar")
|
||||
return false; // Spell Checker, in editorial mode (format flag EditoralSpellCheck) , made the change and there was no change bar prior to that change B2015-024
|
||||
// C2015-028 Add Editorial Mode to PROMS Step Editor
|
||||
// last change was in editorial mode, so ignore it
|
||||
if (!string.IsNullOrEmpty(sc.Step_ChangeIDEditorialMode))
|
||||
return false;
|
||||
// C2015-028 Add Editorial Mode to PROMS Step Editor
|
||||
// Add Check for enhanced docs
|
||||
// If enhanced docs, need to check the step_config for the master
|
||||
if (sc.MyEnhancedDocuments != null && sc.MyEnhancedDocuments.Count == 1 && sc.MyEnhancedDocuments[0].Type == 0)
|
||||
{
|
||||
ItemInfo ii = ItemInfo.Get(sc.MyEnhancedDocuments[0].ItemID, true);
|
||||
if (ii == null) return false; // when deleting a source step, this was causing a crash (null ii)
|
||||
return ii.HasChangeBar;
|
||||
}
|
||||
|
||||
|
||||
if (sc.Step_CBOverride == null)
|
||||
return chg;
|
||||
return (sc.Step_CBOverride == "On");
|
||||
@@ -3953,9 +3966,7 @@ namespace VEPROMS.CSLA.Library
|
||||
get
|
||||
{
|
||||
if (this.IsAccPages || this.IsProcedure || this.IsSection) return false;
|
||||
StepInfo si = this as StepInfo;
|
||||
if (si == null) return false;
|
||||
StepConfig sc = si.MyConfig as StepConfig;
|
||||
StepConfig sc = this.MyConfig as StepConfig;
|
||||
if (sc == null) return false;
|
||||
// go back to source & see what date it has:
|
||||
if (sc.MyEnhancedDocuments != null && sc.MyEnhancedDocuments.Count == 1 && sc.MyEnhancedDocuments[0].Type == 0)
|
||||
@@ -7973,12 +7984,20 @@ namespace VEPROMS.CSLA.Library
|
||||
public ProcedureInfo(SafeDataReader dr) : base(dr) { }
|
||||
#endif
|
||||
private ProcedureInfo() : base() { ;}
|
||||
public new static ProcedureInfo Get(int itemID)
|
||||
public new static ProcedureInfo Get(int itemID, bool forcerefresh = false)
|
||||
{
|
||||
//if (!CanGetObject())
|
||||
// throw new System.Security.SecurityException("User not authorized to view a Item");
|
||||
try
|
||||
{
|
||||
//C2019-036 View Only mode work with Checked Out Procedures
|
||||
// fixes caching issue
|
||||
// so this forces a refresh of the cache
|
||||
if (forcerefresh)
|
||||
{
|
||||
_CacheByPrimaryKey.Remove(itemID.ToString());
|
||||
}
|
||||
|
||||
ProcedureInfo tmp = GetCachedByPrimaryKey(itemID);
|
||||
if (tmp == null)
|
||||
{
|
||||
|
||||
@@ -1638,7 +1638,7 @@ namespace VEPROMS.CSLA.Library
|
||||
// get the first enhanced section, there may be non-linked sections before first linked section:
|
||||
SectionConfig firstEnhSectionConfig = pastedEnhancedProc.Sections == null ? null : pastedEnhancedProc.Sections[0].MyConfig as SectionConfig;
|
||||
ItemInfo pastedEnhancedCurrentSection = null;
|
||||
if (firstEnhSectionConfig.MyEnhancedDocuments.Count > 0) pastedEnhancedCurrentSection = pastedEnhancedProc.Sections[0];
|
||||
if (firstEnhSectionConfig?.MyEnhancedDocuments.Count > 0) pastedEnhancedCurrentSection = pastedEnhancedProc.Sections[0];
|
||||
else pastedEnhancedCurrentSection = GetNextEnhancedSection(pastedEnhancedProc.Sections[0]);
|
||||
|
||||
// newly pasted procedure has sections/steps, need to adjust 'MyEnhancedDocuments' config items to point to correct
|
||||
@@ -1647,7 +1647,7 @@ namespace VEPROMS.CSLA.Library
|
||||
foreach (ItemInfo sourceSect in Sections)
|
||||
{
|
||||
SectionConfig srcCfg = sourceSect.MyConfig as SectionConfig;
|
||||
if (srcCfg != null && (srcCfg.Section_LnkEnh=="Y" || srcCfg.Section_LnkEnh=="T") && srcCfg.MyEnhancedDocuments != null && srcCfg.MyEnhancedDocuments.Count > 0)
|
||||
if (srcCfg != null && (srcCfg.Section_LnkEnh != "N") && srcCfg.MyEnhancedDocuments != null && srcCfg.MyEnhancedDocuments.Count > 0)
|
||||
{
|
||||
// use pastedEnhancedCurrentSection to link to:
|
||||
foreach (EnhancedDocument ed in srcCfg.MyEnhancedDocuments)
|
||||
@@ -1664,7 +1664,7 @@ namespace VEPROMS.CSLA.Library
|
||||
enhSectCfg.MyEnhancedDocuments[0].ItemID = sourceSect.ItemID;
|
||||
enhSectCfg.SaveEnhancedDocuments();
|
||||
pastedEnhancedCurrentSection.SaveConfig(enhSectCfg.ToString());
|
||||
if (srcCfg.Section_LnkEnh == "Y") EnhancedSetStepLinks(sourceSect, enhProc.Type); //if steps, do them for this type
|
||||
if (srcCfg.Section_LnkEnh != "T") EnhancedSetStepLinks(sourceSect, enhProc.Type); //if steps, do them for this type
|
||||
pastedEnhancedCurrentSection = GetNextEnhancedSection(pastedEnhancedCurrentSection);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -186,7 +186,7 @@ namespace VEPROMS.CSLA.Library
|
||||
if (string.IsNullOrEmpty(name))
|
||||
{ name = tmpproc.DisplayText; }
|
||||
|
||||
message = string.Format("The procedure {0} is already checked out to {1}", name, si.UserID);
|
||||
message = string.Format("The procedure {0} is already checked out to {1}.\r\nWould You like to open the procedure in View Only Mode?", name, si.UserID);
|
||||
rv = rv && false;
|
||||
}
|
||||
else if (si.ProcessID != this.ProcessID && objectType == CheckOutType.Document)
|
||||
|
||||
@@ -97,6 +97,12 @@ namespace VEPROMS.CSLA.Library
|
||||
if (formatInfo != null && formatInfo.ToString() == formatName) return formatInfo.Get();
|
||||
return null;
|
||||
}
|
||||
//C2021-035 Add Refresh Tree Option at highest level
|
||||
public static void Reset()
|
||||
{
|
||||
_MyFormatInfoList?.Clear();
|
||||
_MyFormatInfoList = null;
|
||||
}
|
||||
}
|
||||
public class DocStyleListConverter : System.ComponentModel.StringConverter
|
||||
{
|
||||
|
||||
@@ -1145,8 +1145,12 @@ namespace VEPROMS.CSLA.Library
|
||||
{
|
||||
//string thisTab = StepInfo.Get(pitem.ItemID).MyTab.CleanText;
|
||||
string thisTab = pitem.MyTab.CleanText;// StepInfo.Get(pitem.ItemID).MyTab.CleanText;
|
||||
//B2025-058 remove continuous action indicator
|
||||
string medittag = pitem.FormatStepData.TabData.MacroEditTag;
|
||||
if (medittag != null && thisTab.StartsWith(medittag))
|
||||
thisTab = thisTab.Substring(medittag.Length);
|
||||
// remove delimiters of '.' and ')' in tab.
|
||||
if (!hasDelim)
|
||||
if (!hasDelim)
|
||||
{
|
||||
// get list of delimiters to remove from the format:
|
||||
foreach (string rmvDelim in DelimList) thisTab = thisTab.Replace(rmvDelim, "");
|
||||
|
||||
@@ -37,7 +37,7 @@ namespace VEPROMS.CSLA.Library
|
||||
// Variables in this region are not set in the format files. They are used only in the C# code
|
||||
|
||||
// when IgnoreUCF is true, get the original data, i.e.don't apply any UCF changes to it
|
||||
private static bool _IgnoreUCF = false;
|
||||
private static bool _IgnoreUCF = true; // turn off reading in UCF values when getting format information
|
||||
public static bool IgnoreUCF
|
||||
{
|
||||
get { return PlantFormat._IgnoreUCF; }
|
||||
|
||||
@@ -990,12 +990,21 @@ namespace VEPROMS.CSLA.Library
|
||||
}
|
||||
return tmp;
|
||||
}
|
||||
public static Content Get(int contentID)
|
||||
public static Content Get(int contentID, bool forcerefresh = false)
|
||||
{
|
||||
if (!CanGetObject())
|
||||
throw new System.Security.SecurityException("User not authorized to view a Content");
|
||||
try
|
||||
{
|
||||
//C2019-036 View Only mode work with Checked Out Procedures
|
||||
// fixes caching issue
|
||||
// this forces a refresh of the cache for a case when need to do a hard refresh
|
||||
if (forcerefresh)
|
||||
{
|
||||
ConvertListToDictionary();
|
||||
_CacheByPrimaryKey.Remove(contentID.ToString());
|
||||
}
|
||||
|
||||
Content tmp = GetCachedByPrimaryKey(contentID);
|
||||
if (tmp == null)
|
||||
{
|
||||
|
||||
@@ -502,6 +502,15 @@ namespace VEPROMS.CSLA.Library
|
||||
_FolderInfoExtension.Refresh(this);
|
||||
OnChange();// raise an event
|
||||
}
|
||||
|
||||
//C2021-035 Add Refresh Tree Option at highest level
|
||||
public static void ClearFolderInfoCache()
|
||||
{
|
||||
_CacheByPrimaryKey.Clear();
|
||||
while (_CacheList.Count > 0)
|
||||
{ _CacheList[0].Dispose(); }
|
||||
}
|
||||
|
||||
public static FolderInfo Get(int folderID)
|
||||
{
|
||||
//if (!CanGetObject())
|
||||
|
||||
@@ -143,6 +143,14 @@ namespace VEPROMS.CSLA.Library
|
||||
if (_CacheByParentID_Name.ContainsKey(key)) return _CacheByParentID_Name[key][0];
|
||||
return null;
|
||||
}
|
||||
|
||||
//C2021-035 Add Refresh Tree Option at highest level
|
||||
public static void ClearFormatCache()
|
||||
{
|
||||
_CacheByPrimaryKey.Clear();
|
||||
while (_CacheList.Count > 0)
|
||||
{ _CacheList[0].Dispose(); }
|
||||
}
|
||||
#endregion
|
||||
#region Business Methods
|
||||
private string _ErrorMessage = string.Empty;
|
||||
|
||||
@@ -71,6 +71,13 @@ namespace VEPROMS.CSLA.Library
|
||||
if (_CacheByPrimaryKey.ContainsKey(key)) return _CacheByPrimaryKey[key][0];
|
||||
return null;
|
||||
}
|
||||
//C2021-035 Add Refresh Tree Option at highest level
|
||||
public static void ClearFormatInfoCache()
|
||||
{
|
||||
_CacheByPrimaryKey.Clear();
|
||||
while (_CacheList.Count > 0)
|
||||
{ _CacheList[0].Dispose(); }
|
||||
}
|
||||
#endregion
|
||||
#region Business Methods
|
||||
private string _ErrorMessage = string.Empty;
|
||||
|
||||
@@ -606,12 +606,20 @@ namespace VEPROMS.CSLA.Library
|
||||
_ItemInfoExtension.Refresh(this);
|
||||
OnChange();// raise an event
|
||||
}
|
||||
public static ItemInfo Get(int itemID)
|
||||
public static ItemInfo Get(int itemID, bool forcerefresh = false)
|
||||
{
|
||||
//if (!CanGetObject())
|
||||
// throw new System.Security.SecurityException("User not authorized to view a Item");
|
||||
|
||||
try
|
||||
{
|
||||
// C2015-028 Add Editorial Mode to PROMS Step Editor
|
||||
// fixes caching issue
|
||||
// item.myconfig was cached not containing the bypass changebar info
|
||||
// so this forces a refresh of the cache
|
||||
if (forcerefresh)
|
||||
{
|
||||
_CacheByPrimaryKey.Remove(itemID.ToString());
|
||||
}
|
||||
|
||||
ItemInfo tmp = GetCachedByPrimaryKey(itemID);
|
||||
if (tmp == null)
|
||||
{
|
||||
|
||||
@@ -119,6 +119,15 @@ namespace VEPROMS.CSLA.Library
|
||||
return _MyUser;
|
||||
}
|
||||
}
|
||||
public string MyUserUserID
|
||||
{
|
||||
[System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.NoInlining)]
|
||||
get
|
||||
{
|
||||
if (_MyUser == null && _UID != 0) _MyUser = UserInfo.Get(_UID);
|
||||
return _MyUser?.UserID;
|
||||
}
|
||||
}
|
||||
private int _GID;
|
||||
public int GID
|
||||
{
|
||||
@@ -139,6 +148,15 @@ namespace VEPROMS.CSLA.Library
|
||||
return _MyGroup;
|
||||
}
|
||||
}
|
||||
public string MyGroupName
|
||||
{
|
||||
[System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.NoInlining)]
|
||||
get
|
||||
{
|
||||
if (_MyGroup == null && _GID != 0) _MyGroup = GroupInfo.Get(_GID);
|
||||
return _MyGroup?.GroupName;
|
||||
}
|
||||
}
|
||||
private string _StartDate = string.Empty;
|
||||
public string StartDate
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user