Compare commits

..

6 Commits

12 changed files with 149 additions and 108 deletions

View File

@@ -48,7 +48,7 @@
<ItemGroup> <ItemGroup>
<Reference Include="DevComponents.DotNetBar2, Version=14.1.0.37, Culture=neutral, PublicKeyToken=7eb7c3a35b91de04, processorArchitecture=MSIL"> <Reference Include="DevComponents.DotNetBar2, Version=14.1.0.37, Culture=neutral, PublicKeyToken=7eb7c3a35b91de04, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion> <SpecificVersion>False</SpecificVersion>
<HintPath>..\..\..\..\3rdPartyLibraries\DotNetBar\DotNetBar4.8.1Build\DevComponents.DotNetBar2.dll</HintPath> <HintPath>..\..\..\..\3rdPartyLibraries\DotNetBar\DotNetBar4.6Build\DevComponents.DotNetBar2.dll</HintPath>
</Reference> </Reference>
<Reference Include="System" /> <Reference Include="System" />
<Reference Include="System.Data" /> <Reference Include="System.Data" />

View File

@@ -43,7 +43,7 @@
<ItemGroup> <ItemGroup>
<Reference Include="DevComponents.DotNetBar2, Version=14.1.0.37, Culture=neutral, PublicKeyToken=7eb7c3a35b91de04, processorArchitecture=MSIL"> <Reference Include="DevComponents.DotNetBar2, Version=14.1.0.37, Culture=neutral, PublicKeyToken=7eb7c3a35b91de04, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion> <SpecificVersion>False</SpecificVersion>
<HintPath>..\..\..\..\3rdPartyLibraries\DotNetBar\DotNetBar4.8.1Build\DevComponents.DotNetBar2.dll</HintPath> <HintPath>..\..\..\..\3rdPartyLibraries\DotNetBar\DotNetBar4.6Build\DevComponents.DotNetBar2.dll</HintPath>
</Reference> </Reference>
<Reference Include="log4net, Version=1.2.10.0, Culture=neutral, PublicKeyToken=1b44e1d426115821, processorArchitecture=MSIL"> <Reference Include="log4net, Version=1.2.10.0, Culture=neutral, PublicKeyToken=1b44e1d426115821, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion> <SpecificVersion>False</SpecificVersion>

View File

@@ -109,7 +109,7 @@
</Reference> </Reference>
<Reference Include="DevComponents.DotNetBar2, Version=14.1.0.37, Culture=neutral, PublicKeyToken=7eb7c3a35b91de04, processorArchitecture=MSIL"> <Reference Include="DevComponents.DotNetBar2, Version=14.1.0.37, Culture=neutral, PublicKeyToken=7eb7c3a35b91de04, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion> <SpecificVersion>False</SpecificVersion>
<HintPath>..\..\..\..\3rdPartyLibraries\DotNetBar\DotNetBar4.8.1Build\DevComponents.DotNetBar2.dll</HintPath> <HintPath>..\..\..\..\3rdPartyLibraries\DotNetBar\DotNetBar4.6Build\DevComponents.DotNetBar2.dll</HintPath>
</Reference> </Reference>
<Reference Include="Ionic.Zip, Version=1.9.1.8, Culture=neutral, PublicKeyToken=edbe51ad942a3f5c, processorArchitecture=MSIL"> <Reference Include="Ionic.Zip, Version=1.9.1.8, Culture=neutral, PublicKeyToken=edbe51ad942a3f5c, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion> <SpecificVersion>False</SpecificVersion>

View File

@@ -576,7 +576,7 @@
this.myTVdel.Name = "myTVdel"; this.myTVdel.Name = "myTVdel";
this.myTVdel.Size = new System.Drawing.Size(299, 367); this.myTVdel.Size = new System.Drawing.Size(299, 367);
this.myTVdel.TabIndex = 34; this.myTVdel.TabIndex = 34;
this.myTVdel.AfterCheck += new System.Windows.Forms.TreeViewEventHandler(this.myTV_AfterCheck_DelAnn); this.myTVdel.AfterCheck += new System.Windows.Forms.TreeViewEventHandler(this.myTV_AfterCheck);
// //
// btnDeleteItems // btnDeleteItems
// //

View File

@@ -124,9 +124,11 @@ namespace VEPROMS
// check to see if at least one tree node is checked. // check to see if at least one tree node is checked.
// Used to determin whether to make the process button active for // Used to determin whether to make the process button active for
// Refresh Transitions and for Update RO Values // Refresh Transitions and for Update RO Values
private bool AtLeastOneNodeChecked() // B2025-013 Admin Tool Tree Behavior
//Made this generic so same logic for all the TreeViews on this form
private bool AtLeastOneNodeChecked(TreeNodeCollection col)
{ {
foreach (TreeNode tn in myTV.Nodes) foreach (TreeNode tn in col)
if (NodeIsChecked(tn)) if (NodeIsChecked(tn))
return true; return true;
return false; return false;
@@ -1230,24 +1232,30 @@ namespace VEPROMS
private void myTV_AfterCheck(object sender, TreeViewEventArgs e) private void myTV_AfterCheck(object sender, TreeViewEventArgs e)
{ {
//B2025 - 013 Admin Tool Tree Behavior
//only want to perform this if
// not an unknown action
// aka is a mouse click
// if this is fire-ing because clicked a parent or a child of an item
// want this to only fire once - for the item clicked - not for parents/children
if (e.Action != TreeViewAction.Unknown) if (e.Action != TreeViewAction.Unknown)
{ {
if (e.Node.Nodes.Count > 0) if (e.Node.Nodes.Count > 0)
{ {
CheckChildNodes(e.Node, e.Node.Checked); CheckChildNodes(e.Node, e.Node.Checked);
} }
} //B2025-013 Admin Tool Tree Behavior
if (swDeleteAnnotations.Value) //if a node gets unchecked,
{ //then uncheck both its parents and children
if (e.Node.Checked) if (!e.Node.Checked)
{ {
DiselectParentNodes(e.Node.Parent); DiselectParentNodes(e.Node.Parent);
DiselectChildNodes(e.Node.Nodes); DiselectChildNodes(e.Node.Nodes);
} }
btnFixLinks.Enabled = btnDeleteItems.Enabled = AtLeastOneNodeChecked(((TreeView)sender).Nodes); // C2017-030 support for Refresh Transitions/Update RO Values
} }
btnFixLinks.Enabled = AtLeastOneNodeChecked(); // C2017-030 support for Refresh Transitions/Update RO Values
} }
private void DiselectParentNodes(TreeNode parent) private void DiselectParentNodes(TreeNode parent)
@@ -1283,76 +1291,6 @@ namespace VEPROMS
} }
} }
} }
//After check model to select and deselect nodes on the delete and annotation tree.
private void myTV_AfterCheck_DelAnn(object sender, TreeViewEventArgs e)
{
if (e.Action != TreeViewAction.Unknown)
{
if (e.Node.Nodes.Count > 0)
{
CheckChildNodes_DelAnn(e.Node, e.Node.Checked);
}
}
if (e.Node.Checked)
{
// Ensure child nodes follow the parent node's state
CheckChildNodes_DelAnn(e.Node, e.Node.Checked);
}
else
{
// Automatically deselect parent nodes if current node is unchecked
if (swDeleteFolder.Value)
DiselectParentNodes_DelAnn(e.Node);
}
btnFixLinks.Enabled = AtLeastOneNodeChecked_DelAnn(); // Ensure button is enabled based on custom logic
}
private void DiselectParentNodes_DelAnn(TreeNode node)
{
TreeNode parent = node.Parent;
while (parent != null)
{
parent.Checked = false;
parent = parent.Parent;
}
}
private void DiselectChildNodes_DelAnn(TreeNodeCollection children)
{
foreach (TreeNode child in children)
{
child.Checked = false;
DiselectChildNodes_DelAnn(child.Nodes);
}
}
private void CheckChildNodes_DelAnn(TreeNode treeNode, bool isChecked)
{
foreach (TreeNode tn in treeNode.Nodes)
{
tn.Checked = isChecked;
if (tn.Nodes.Count > 0)
CheckChildNodes_DelAnn(tn, isChecked);
}
}
private bool AtLeastOneNodeChecked_DelAnn()
{
foreach (TreeNode node in myTV.Nodes)
{
if (node.Checked || AnyChildNodeChecked_DelAnn(node))
return true;
}
return false;
}
private bool AnyChildNodeChecked_DelAnn(TreeNode node)
{
foreach (TreeNode childNode in node.Nodes)
{
if (childNode.Checked || AnyChildNodeChecked_DelAnn(childNode))
return true;
}
return false;
}
private ProgressBarItem _ProgressBar = null; private ProgressBarItem _ProgressBar = null;
@@ -1788,14 +1726,24 @@ namespace VEPROMS
List<ProcedureInfo> pil = new List<ProcedureInfo>(); List<ProcedureInfo> pil = new List<ProcedureInfo>();
List<DocVersionInfo> dvil = new List<DocVersionInfo>(); List<DocVersionInfo> dvil = new List<DocVersionInfo>();
//B2025-013 Admin Tool Tree Behavior
//For Procedures & Doc Versions
//To avoid processing duplicates
//only want to add highest nodes selected
// i.e. if both an item and it's parent is checked, then add the parent
// not each individual item
// if a parent isn't checked, then add the individual item
// one exception to this is if the parent is not in the docversions
// for example: the top node - VEPROMS
//if that is selected, then we will add its children instead of it.
// Create a list of procedures the user selected // Create a list of procedures the user selected
foreach (TreeNode tn in myProcedures.Keys) foreach (TreeNode tn in myProcedures.Keys)
if (tn.Checked) if (tn.Checked && (tn.Parent == null || !tn.Parent.Checked || !myDocVersions.ContainsKey(tn.Parent)))
pil.Add(myProcedures[tn]); pil.Add(myProcedures[tn]);
// Create a list of doc versions the user selected // Create a list of doc versions the user selected
foreach (TreeNode tn in myDocVersions.Keys) foreach (TreeNode tn in myDocVersions.Keys)
if (tn.Checked) if (tn.Checked && (tn.Parent == null || !tn.Parent.Checked || !myDocVersions.ContainsKey(tn.Parent)))
dvil.Add(myDocVersions[tn]); dvil.Add(myDocVersions[tn]);
bool cancelledOut = false; // Flag to indicate if the process should be cancelled bool cancelledOut = false; // Flag to indicate if the process should be cancelled
@@ -1987,15 +1935,6 @@ namespace VEPROMS
return false; return false;
} }
} }
public List<ProcedureInfo> RetrieveChkAnnotations()
{
List<ProcedureInfo> pil = new List<ProcedureInfo>();
foreach (TreeNode tn in myProcedures.Keys)
if (tn.Checked)
pil.Add(myProcedures[tn]);
return pil;
}
//C2025-011 RO Update Admin Tool Memory Enhancements //C2025-011 RO Update Admin Tool Memory Enhancements
private void txtProcess_TextChanged(object sender, EventArgs e) private void txtProcess_TextChanged(object sender, EventArgs e)

View File

@@ -194,6 +194,23 @@ namespace VEPROMS.CSLA.Library
public partial class AnnotationAuditInfoList public partial class AnnotationAuditInfoList
{ {
/// <summary>
/// C2024- 038 - Summary of Changes report generation enhancements
/// Constructor - takes a Generic list of AnnotationAuditInfo
/// and creates a AnnotationAuditInfoList
/// </summary>
public AnnotationAuditInfoList(List<AnnotationAuditInfo> lst)
{
IsReadOnly = false;
if (lst != null)
{
foreach (AnnotationAuditInfo itm in lst)
this.Add(itm);
}
IsReadOnly = true;
}
/// <summary> /// <summary>
/// Return a list of all AnnotationAuditInfo by ItemID. /// Return a list of all AnnotationAuditInfo by ItemID.
/// </summary> /// </summary>
@@ -487,6 +504,23 @@ namespace VEPROMS.CSLA.Library
public partial class ContentAuditInfoList public partial class ContentAuditInfoList
{ {
/// <summary>
/// C2024- 038 - Summary of Changes report generation enhancements
/// Constructor - takes a Generic list of ContentAuditInfo
/// and creates a ContentAuditInfoList
/// </summary>
public ContentAuditInfoList(List<ContentAuditInfo> lst)
{
IsReadOnly = false;
if (lst != null)
{
foreach (ContentAuditInfo itm in lst)
this.Add(itm);
}
IsReadOnly = true;
}
/// <summary> /// <summary>
/// Return a list of all ContentAuditInfo by ContentID. /// Return a list of all ContentAuditInfo by ContentID.
/// </summary> /// </summary>

View File

@@ -89,7 +89,7 @@
</Reference> </Reference>
<Reference Include="DevComponents.DotNetBar2, Version=14.1.0.37, Culture=neutral, PublicKeyToken=7eb7c3a35b91de04, processorArchitecture=MSIL"> <Reference Include="DevComponents.DotNetBar2, Version=14.1.0.37, Culture=neutral, PublicKeyToken=7eb7c3a35b91de04, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion> <SpecificVersion>False</SpecificVersion>
<HintPath>..\..\..\..\3rdPartyLibraries\DotNetBar\DotNetBar4.8.1Build\DevComponents.DotNetBar2.dll</HintPath> <HintPath>..\..\..\..\3rdPartyLibraries\DotNetBar\DotNetBar4.6Build\DevComponents.DotNetBar2.dll</HintPath>
</Reference> </Reference>
<Reference Include="log4net, Version=1.2.10.0, Culture=neutral, PublicKeyToken=1b44e1d426115821, processorArchitecture=MSIL"> <Reference Include="log4net, Version=1.2.10.0, Culture=neutral, PublicKeyToken=1b44e1d426115821, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion> <SpecificVersion>False</SpecificVersion>

View File

@@ -66,7 +66,7 @@
<ItemGroup> <ItemGroup>
<Reference Include="DevComponents.DotNetBar2, Version=14.1.0.37, Culture=neutral, PublicKeyToken=7eb7c3a35b91de04, processorArchitecture=MSIL"> <Reference Include="DevComponents.DotNetBar2, Version=14.1.0.37, Culture=neutral, PublicKeyToken=7eb7c3a35b91de04, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion> <SpecificVersion>False</SpecificVersion>
<HintPath>..\..\..\..\3rdPartyLibraries\DotNetBar\DotNetBar4.8.1Build\DevComponents.DotNetBar2.dll</HintPath> <HintPath>..\..\..\..\3rdPartyLibraries\DotNetBar\DotNetBar4.6Build\DevComponents.DotNetBar2.dll</HintPath>
</Reference> </Reference>
<Reference Include="EnvDTE, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> <Reference Include="EnvDTE, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<Reference Include="EnvDTE80, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> <Reference Include="EnvDTE80, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />

View File

@@ -10,6 +10,7 @@ using System.IO;
using System.Text.RegularExpressions; using System.Text.RegularExpressions;
using JR.Utils.GUI.Forms; using JR.Utils.GUI.Forms;
using Volian.Base.Library; using Volian.Base.Library;
using System.Linq;
namespace Volian.Controls.Library namespace Volian.Controls.Library
{ {
@@ -163,7 +164,7 @@ namespace Volian.Controls.Library
else else
{ {
DateTime revDate; DateTime revDate;
if (!DateTime.TryParse(cfg.Print_RevDate, out revDate)) revDate = MyProcedureInfo.ChangeBarDate; // DateTime.Now; if (!DateTime.TryParse(cfg.Print_RevDate, out revDate)) revDate = MyProcedureInfo.ChangeBarDate; // DateTime.Now;
SetRevDate(revDate); SetRevDate(revDate);
//SetRevDate(DateTime.Parse(cfg.Print_RevDate)); //SetRevDate(DateTime.Parse(cfg.Print_RevDate));
} }
@@ -263,7 +264,7 @@ namespace Volian.Controls.Library
{ {
AnnotationTypeInfo ati = AnnotationTypeInfo.Get(aai.TypeID); AnnotationTypeInfo ati = AnnotationTypeInfo.Get(aai.TypeID);
// B2023-066: Crash when trying to access a deleted annotation type (added the ati==null check) // B2023-066: Crash when trying to access a deleted annotation type (added the ati==null check)
tn = annotationDeleted.Nodes.Add(ati==null?"Deleted Annotation Type":ati.Name); tn = annotationDeleted.Nodes.Add(ati == null ? "Deleted Annotation Type" : ati.Name);
} }
TreeNode cn = tn.Nodes.Add(aai.ListString()); TreeNode cn = tn.Nodes.Add(aai.ListString());
cn.Tag = aai; cn.Tag = aai;
@@ -517,7 +518,7 @@ namespace Volian.Controls.Library
if (delC.Type >= 0 && delC.Type < 1000) if (delC.Type >= 0 && delC.Type < 1000)
{ {
int indx = delC.Config.IndexOf("DelProcReason"); int indx = delC.Config.IndexOf("DelProcReason");
if (indx >= 0 && delC.Config.Length > indx+15) // 15 accounts for 'DelProcReason = "' if (indx >= 0 && delC.Config.Length > indx + 15) // 15 accounts for 'DelProcReason = "'
{ {
string reason = delC.Config.Substring(indx + 15); string reason = delC.Config.Substring(indx + 15);
if (reason != null && reason.Length > 0) if (reason != null && reason.Length > 0)
@@ -529,7 +530,7 @@ namespace Volian.Controls.Library
} }
} }
} }
TreeNode tnn = deletedItems.Nodes.Add(iai.ToString()+"; Reason: " + strR); TreeNode tnn = deletedItems.Nodes.Add(iai.ToString() + "; Reason: " + strR);
tnn.Tag = iai; tnn.Tag = iai;
#endregion #endregion
} }
@@ -558,7 +559,7 @@ namespace Volian.Controls.Library
if (MyProcedureInfo == null) if (MyProcedureInfo == null)
{ {
this.ParentForm.Cursor = Cursors.Default; this.ParentForm.Cursor = Cursors.Default;
btnViewSummaryReport.Enabled = btnViewChronologyReport.Enabled = lbChanges.Items.Count > 0; btnViewSummaryReport.Enabled = btnViewChronologyReport.Enabled = cbSumExcludeAnn.Enabled = DT_SumAsOf.Enabled = lbChanges.Items.Count > 0;
return; return;
} }
ContentAuditInfoList cail2; ContentAuditInfoList cail2;
@@ -586,7 +587,7 @@ namespace Volian.Controls.Library
// B2020-156: When procedure title is changed, it does not print in Summary/Chronolgy of changes. // B2020-156: When procedure title is changed, it does not print in Summary/Chronolgy of changes.
// Need to only check the date (not the date/time) for some procedures, the original item was listed // Need to only check the date (not the date/time) for some procedures, the original item was listed
// in the list box and should not be because some MyRevDate's did not have time included. // in the list box and should not be because some MyRevDate's did not have time included.
if (CompareDateOrDateTime(cai.DTS,MyRevDate) || cai.ActionWhen > MyRevDate) if (CompareDateOrDateTime(cai.DTS, MyRevDate) || cai.ActionWhen > MyRevDate)
{ {
string itemTitle = FixPath(cai.Path); string itemTitle = FixPath(cai.Path);
lbChanges.Items.Add(cai); lbChanges.Items.Add(cai);
@@ -614,7 +615,7 @@ namespace Volian.Controls.Library
} }
//Console.WriteLine("WalkProcedure fini: {0} seconds", TimeSpan.FromTicks(DateTime.Now.Ticks - start.Ticks).TotalSeconds); //Console.WriteLine("WalkProcedure fini: {0} seconds", TimeSpan.FromTicks(DateTime.Now.Ticks - start.Ticks).TotalSeconds);
this.ParentForm.Cursor = Cursors.Default; this.ParentForm.Cursor = Cursors.Default;
btnViewSummaryReport.Enabled = btnViewChronologyReport.Enabled = lbChanges.Items.Count > 0; btnViewSummaryReport.Enabled = btnViewChronologyReport.Enabled = cbSumExcludeAnn.Enabled = DT_SumAsOf.Enabled = lbChanges.Items.Count > 0;
RefreshRequired = false; RefreshRequired = false;
return; return;
} }
@@ -648,9 +649,73 @@ namespace Volian.Controls.Library
//_AnnotationList = AnnotationAuditInfoList.GetChronology(0, 0, MyProcedureInfo.ChangeBarDate); //_AnnotationList = AnnotationAuditInfoList.GetChronology(0, 0, MyProcedureInfo.ChangeBarDate);
//added setting selected slave in order for reports to replace unit number,etc jcb 20101010 //added setting selected slave in order for reports to replace unit number,etc jcb 20101010
MyItemInfo.MyProcedure.MyDocVersion.DocVersionConfig.SelectedSlave = ApplDisplayMode; MyItemInfo.MyProcedure.MyDocVersion.DocVersionConfig.SelectedSlave = ApplDisplayMode;
// OnSummaryPrintRequest(new DisplayHistoryReportEventArgs(Volian.Base.Library.VlnSettings.TemporaryFolder + @"\MySummary.pdf", MyItemInfo.MyProcedure, _SummaryAuditList, _AnnotationList));
OnSummaryPrintRequest(new DisplayHistoryReportEventArgs(string.Format(@"{0}\{1} Summary of Changes.pdf", Volian.Base.Library.VlnSettings.TemporaryFolder, MyItemInfo.MyProcedure.PDFNumber), MyItemInfo.MyProcedure, _SummaryAuditList, _AnnotationList)); var dhr = new DisplayHistoryReportEventArgs(string.Format(@"{0}\{1} Summary of Changes.pdf", Volian.Base.Library.VlnSettings.TemporaryFolder, MyItemInfo.MyProcedure.PDFNumber), MyItemInfo.MyProcedure, null, null);
//}
//C2024- 038 - Summary of Changes report generation enhancements
//check if need to modify
// _SummaryAuditList
if (DT_SumAsOf.Checked)
dhr.AuditList = FilterSummaryByDate(_SummaryAuditList, DT_SumAsOf.Value);
else
dhr.AuditList = _SummaryAuditList;
//C2024- 038 - Summary of Changes report generation enhancements
// if Exclude Annotations Checked
// send an empty list instead of
//_AnnotationList
if (cbSumExcludeAnn.Checked)
dhr.AnnotationList = new AnnotationAuditInfoList(null);
else if (DT_SumAsOf.Checked)
dhr.AnnotationList = FilterSummaryByDate_Annotations(_AnnotationList, DT_SumAsOf.Value);
else
{ dhr.AnnotationList = _AnnotationList; }
OnSummaryPrintRequest(dhr);
}
//C2024- 038 - Summary of Changes report generation enhancements
//modify _SummaryAuditList
//to limit to a specific date
private ContentAuditInfoList FilterSummaryByDate(ContentAuditInfoList summaryAuditList, DateTime value)
{
List<ContentAuditInfo> slst = summaryAuditList.Clone().ToList();
//Grab the first change to each item before the date and set that to the AsOf date
foreach (ContentAuditInfo firstbeforedate in slst.GroupBy(x => x.ItemID).Select(x => x.OrderByDescending(y => y.DTS).FirstOrDefault(d => d.DTS < value)))
{
if (firstbeforedate != null && firstbeforedate.ActionWhat != "Deleted")
{
firstbeforedate.ActionWhat = $"As Of: {value.ToShortDateString()}";
}
}
//remove all items before the date we are checking against
//note that for deleted - sometimes the DTS is not correct and
//need to use the ActionWhen
slst.RemoveAll(x => x.DTS < value && !x.ActionWhat.StartsWith("As Of:") && (x.ActionWhat != "Deleted" || (x.ActionWhen < x.DTS ? x.DTS : x.ActionWhen) < value));
//remove all items where first text matches the last text
//unless it was added after the date we are checking against
//or the last item is a deletion that occurred after
//the date we are checking against
var itms = slst.Select(x => x.ItemID).Distinct().ToList();
foreach (int itmID in itms)
{
ContentAuditInfo first = slst.Where(i => i.ItemID == itmID).OrderBy(y => y.DTS).FirstOrDefault();
ContentAuditInfo last = slst.Where(i => i.ItemID == itmID).OrderByDescending(y => y.DTS).FirstOrDefault();
if (first != null && last != null && first.DTS < value && (last.ActionWhat != "Deleted" || (last.ActionWhen < last.DTS ? last.DTS : last.ActionWhen) < value) && ItemInfo.ConvertToDisplayText(first.Text) == ItemInfo.ConvertToDisplayText(last.Text))
slst.RemoveAll(x => x.ItemID == itmID);
}
return new ContentAuditInfoList(slst);
}
//C2024- 038 - Summary of Changes report generation enhancements
//modify _SummaryAuditList
//to limit to a specific date
private AnnotationAuditInfoList FilterSummaryByDate_Annotations(AnnotationAuditInfoList annotationAuditList, DateTime value)
{
return new AnnotationAuditInfoList(annotationAuditList.Where(x => x.DTS >= value).ToList());
} }
private void btnRefresh_Click(object sender, EventArgs e) private void btnRefresh_Click(object sender, EventArgs e)
{ {
@@ -1060,7 +1125,7 @@ namespace Volian.Controls.Library
set { _AuditList = value; } set { _AuditList = value; }
} }
private AnnotationAuditInfoList _AnnotationList; private AnnotationAuditInfoList _AnnotationList;
public AnnotationAuditInfoList AnnotationList public AnnotationAuditInfoList AnnotationList
{ {
get { return _AnnotationList; } get { return _AnnotationList; }
set { _AnnotationList = value; } set { _AnnotationList = value; }

View File

@@ -95,7 +95,7 @@
</Reference> </Reference>
<Reference Include="DevComponents.DotNetBar2, Version=14.1.0.37, Culture=neutral, PublicKeyToken=7eb7c3a35b91de04, processorArchitecture=MSIL"> <Reference Include="DevComponents.DotNetBar2, Version=14.1.0.37, Culture=neutral, PublicKeyToken=7eb7c3a35b91de04, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion> <SpecificVersion>False</SpecificVersion>
<HintPath>..\..\..\..\3rdPartyLibraries\DotNetBar\DotNetBar4.8.1Build\DevComponents.DotNetBar2.dll</HintPath> <HintPath>..\..\..\..\3rdPartyLibraries\DotNetBar\DotNetBar4.6Build\DevComponents.DotNetBar2.dll</HintPath>
</Reference> </Reference>
<Reference Include="EnvDTE, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> <Reference Include="EnvDTE, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<SpecificVersion>False</SpecificVersion> <SpecificVersion>False</SpecificVersion>
@@ -443,6 +443,9 @@
<DependentUpon>DisplayBookMarks.cs</DependentUpon> <DependentUpon>DisplayBookMarks.cs</DependentUpon>
<SubType>Designer</SubType> <SubType>Designer</SubType>
</EmbeddedResource> </EmbeddedResource>
<EmbeddedResource Include="DisplayHistory.resx">
<DependentUpon>DisplayHistory.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="DisplayLibDocs.resx"> <EmbeddedResource Include="DisplayLibDocs.resx">
<DependentUpon>DisplayLibDocs.cs</DependentUpon> <DependentUpon>DisplayLibDocs.cs</DependentUpon>
<SubType>Designer</SubType> <SubType>Designer</SubType>

View File

@@ -1090,7 +1090,7 @@ namespace Volian.Print.Library
firstCAI = null; firstCAI = null;
lastCAI = null; lastCAI = null;
} }
else if (firstCAI.ActionWhat == lastCAI.ActionWhat) else if (firstCAI.ActionWhat == lastCAI.ActionWhat || firstCAI.ActionWhat.StartsWith("As Of:"))
{ {
auditList1.Add(firstCAI); auditList1.Add(firstCAI);
auditList1.Add(lastCAI); auditList1.Add(lastCAI);
@@ -1153,7 +1153,7 @@ namespace Volian.Print.Library
firstCAI = null; firstCAI = null;
lastCAI = null; lastCAI = null;
} }
else if (firstCAI.ActionWhat == lastCAI.ActionWhat) else if (firstCAI.ActionWhat == lastCAI.ActionWhat || firstCAI.ActionWhat.StartsWith("As Of:"))
{ {
auditList1.Add(firstCAI); auditList1.Add(firstCAI);
auditList1.Add(lastCAI); auditList1.Add(lastCAI);