Compare commits
7 Commits
Author | SHA1 | Date | |
---|---|---|---|
5ad9d81cc1 | |||
0292634374 | |||
d4418b8d8a | |||
a33f136e77 | |||
f85f8e9e2c | |||
4bfffc945a | |||
16509c2eab |
@@ -48,7 +48,7 @@
|
||||
<ItemGroup>
|
||||
<Reference Include="DevComponents.DotNetBar2, Version=14.1.0.37, Culture=neutral, PublicKeyToken=7eb7c3a35b91de04, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\..\..\3rdPartyLibraries\DotNetBar\DotNetBar4.8.1Build\DevComponents.DotNetBar2.dll</HintPath>
|
||||
<HintPath>..\..\..\..\3rdPartyLibraries\DotNetBar\DotNetBar4.6Build\DevComponents.DotNetBar2.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Data" />
|
||||
|
@@ -43,7 +43,7 @@
|
||||
<ItemGroup>
|
||||
<Reference Include="DevComponents.DotNetBar2, Version=14.1.0.37, Culture=neutral, PublicKeyToken=7eb7c3a35b91de04, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\..\..\3rdPartyLibraries\DotNetBar\DotNetBar4.8.1Build\DevComponents.DotNetBar2.dll</HintPath>
|
||||
<HintPath>..\..\..\..\3rdPartyLibraries\DotNetBar\DotNetBar4.6Build\DevComponents.DotNetBar2.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="log4net, Version=1.2.10.0, Culture=neutral, PublicKeyToken=1b44e1d426115821, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
|
@@ -109,7 +109,7 @@
|
||||
</Reference>
|
||||
<Reference Include="DevComponents.DotNetBar2, Version=14.1.0.37, Culture=neutral, PublicKeyToken=7eb7c3a35b91de04, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\..\..\3rdPartyLibraries\DotNetBar\DotNetBar4.8.1Build\DevComponents.DotNetBar2.dll</HintPath>
|
||||
<HintPath>..\..\..\..\3rdPartyLibraries\DotNetBar\DotNetBar4.6Build\DevComponents.DotNetBar2.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Ionic.Zip, Version=1.9.1.8, Culture=neutral, PublicKeyToken=edbe51ad942a3f5c, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
|
@@ -194,6 +194,23 @@ namespace VEPROMS.CSLA.Library
|
||||
|
||||
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>
|
||||
/// Return a list of all AnnotationAuditInfo by ItemID.
|
||||
/// </summary>
|
||||
@@ -487,6 +504,23 @@ namespace VEPROMS.CSLA.Library
|
||||
|
||||
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>
|
||||
/// Return a list of all ContentAuditInfo by ContentID.
|
||||
/// </summary>
|
||||
|
@@ -89,7 +89,7 @@
|
||||
</Reference>
|
||||
<Reference Include="DevComponents.DotNetBar2, Version=14.1.0.37, Culture=neutral, PublicKeyToken=7eb7c3a35b91de04, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\..\..\3rdPartyLibraries\DotNetBar\DotNetBar4.8.1Build\DevComponents.DotNetBar2.dll</HintPath>
|
||||
<HintPath>..\..\..\..\3rdPartyLibraries\DotNetBar\DotNetBar4.6Build\DevComponents.DotNetBar2.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="log4net, Version=1.2.10.0, Culture=neutral, PublicKeyToken=1b44e1d426115821, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
|
@@ -66,7 +66,7 @@
|
||||
<ItemGroup>
|
||||
<Reference Include="DevComponents.DotNetBar2, Version=14.1.0.37, Culture=neutral, PublicKeyToken=7eb7c3a35b91de04, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\..\..\3rdPartyLibraries\DotNetBar\DotNetBar4.8.1Build\DevComponents.DotNetBar2.dll</HintPath>
|
||||
<HintPath>..\..\..\..\3rdPartyLibraries\DotNetBar\DotNetBar4.6Build\DevComponents.DotNetBar2.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="EnvDTE, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<Reference Include="EnvDTE80, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
|
@@ -10,6 +10,7 @@ using System.IO;
|
||||
using System.Text.RegularExpressions;
|
||||
using JR.Utils.GUI.Forms;
|
||||
using Volian.Base.Library;
|
||||
using System.Linq;
|
||||
|
||||
namespace Volian.Controls.Library
|
||||
{
|
||||
@@ -163,7 +164,7 @@ namespace Volian.Controls.Library
|
||||
else
|
||||
{
|
||||
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(DateTime.Parse(cfg.Print_RevDate));
|
||||
}
|
||||
@@ -263,7 +264,7 @@ namespace Volian.Controls.Library
|
||||
{
|
||||
AnnotationTypeInfo ati = AnnotationTypeInfo.Get(aai.TypeID);
|
||||
// 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());
|
||||
cn.Tag = aai;
|
||||
@@ -517,7 +518,7 @@ namespace Volian.Controls.Library
|
||||
if (delC.Type >= 0 && delC.Type < 1000)
|
||||
{
|
||||
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);
|
||||
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;
|
||||
#endregion
|
||||
}
|
||||
@@ -558,7 +559,7 @@ namespace Volian.Controls.Library
|
||||
if (MyProcedureInfo == null)
|
||||
{
|
||||
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;
|
||||
}
|
||||
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.
|
||||
// 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.
|
||||
if (CompareDateOrDateTime(cai.DTS,MyRevDate) || cai.ActionWhen > MyRevDate)
|
||||
if (CompareDateOrDateTime(cai.DTS, MyRevDate) || cai.ActionWhen > MyRevDate)
|
||||
{
|
||||
string itemTitle = FixPath(cai.Path);
|
||||
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);
|
||||
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;
|
||||
return;
|
||||
}
|
||||
@@ -648,9 +649,73 @@ namespace Volian.Controls.Library
|
||||
//_AnnotationList = AnnotationAuditInfoList.GetChronology(0, 0, MyProcedureInfo.ChangeBarDate);
|
||||
//added setting selected slave in order for reports to replace unit number,etc jcb 20101010
|
||||
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)
|
||||
{
|
||||
@@ -1060,7 +1125,7 @@ namespace Volian.Controls.Library
|
||||
set { _AuditList = value; }
|
||||
}
|
||||
private AnnotationAuditInfoList _AnnotationList;
|
||||
public AnnotationAuditInfoList AnnotationList
|
||||
public AnnotationAuditInfoList AnnotationList
|
||||
{
|
||||
get { return _AnnotationList; }
|
||||
set { _AnnotationList = value; }
|
||||
|
BIN
PROMS/Volian.Controls.Library/DisplayHistory.designer.cs
generated
BIN
PROMS/Volian.Controls.Library/DisplayHistory.designer.cs
generated
Binary file not shown.
@@ -1699,6 +1699,8 @@ namespace Volian.Controls.Library
|
||||
else lbSrchResultsIncTrans.DisplayMember = _DisplayMember;
|
||||
if (_SearchResults != null)
|
||||
{
|
||||
// record count flag
|
||||
bool reccnt = true;
|
||||
// B2021-076: Proms search results are not presented in order when printed to PDF
|
||||
// B2023-041 - backed out previous change as it was not needed and was preventing the sorting of search results text
|
||||
if (cbSorted.Checked)
|
||||
@@ -1713,11 +1715,37 @@ namespace Volian.Controls.Library
|
||||
// B2021-076: Proms search results are not presented in order when printed to PDF
|
||||
var sortedResults = _SearchResults.OrderBy(x => x.SearchDefaultSort).ToList();
|
||||
|
||||
// if searching for just a "?" remove all the special code matches and leaving only the true matches.
|
||||
if (SearchString == "\\?")
|
||||
{
|
||||
string pat = @"\?";
|
||||
Regex r = new Regex(pat, RegexOptions.IgnoreCase);
|
||||
for (int i = 0; i < sortedResults.Count; i++)
|
||||
{
|
||||
|
||||
Match m = r.Match(sortedResults[i].DisplayText);
|
||||
if (m.Success)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
else
|
||||
{
|
||||
sortedResults.Remove(sortedResults[i]);
|
||||
|
||||
i--;
|
||||
}
|
||||
}
|
||||
grpPanSearchResults.Text = string.Format("Search Results Found: {0}", sortedResults.Count);
|
||||
reccnt = false;
|
||||
}
|
||||
|
||||
if (tabSearchTypes.SelectedTab != tabSearchTypes.Tabs[4]) lbSrchResults.DataSource = sortedResults;
|
||||
else lbSrchResultsIncTrans.DataSource = sortedResults;
|
||||
}
|
||||
|
||||
grpPanSearchResults.Text = string.Format("Search Results Found: {0}", _SearchResults.Count);
|
||||
if (reccnt)
|
||||
{
|
||||
grpPanSearchResults.Text = string.Format("Search Results Found: {0}", _SearchResults.Count);
|
||||
}
|
||||
grpPanSearchResults.Style.BackColor = Color.LightGreen;// Color.YellowGreen; Color.DarkSeaGreen;
|
||||
}
|
||||
else
|
||||
@@ -2076,6 +2104,7 @@ namespace Volian.Controls.Library
|
||||
//TypesSelected = (typstr != null) ? "Searched Step Types: " + typstr : "Searched All Step Types";
|
||||
//TypesSelected = "Searched Step Types: " + ((typstr != null) ? typstr : "All Step Types");
|
||||
SearchResults = ItemInfoList.GetListFromTextSearch(DVISearchList, TypeSearchList, TextSearchString /*.Replace(@"\",@"\u9586?")*/, cbxBooleanTxtSrch.Checked ? 2 : cbxCaseSensitive.Checked ? 1 : 0, cbxIncROTextSrch.Checked ? ItemSearchIncludeLinks.Value : ItemSearchIncludeLinks.Nothing, includeRTFformat, includeSpecialChars, unitPrefix, byWordPrefix, byWordSuffix);
|
||||
|
||||
cmbResultsStyleIndex = 3; // display step text in results
|
||||
//}
|
||||
}
|
||||
|
@@ -95,7 +95,7 @@
|
||||
</Reference>
|
||||
<Reference Include="DevComponents.DotNetBar2, Version=14.1.0.37, Culture=neutral, PublicKeyToken=7eb7c3a35b91de04, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\..\..\3rdPartyLibraries\DotNetBar\DotNetBar4.8.1Build\DevComponents.DotNetBar2.dll</HintPath>
|
||||
<HintPath>..\..\..\..\3rdPartyLibraries\DotNetBar\DotNetBar4.6Build\DevComponents.DotNetBar2.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="EnvDTE, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
@@ -443,6 +443,9 @@
|
||||
<DependentUpon>DisplayBookMarks.cs</DependentUpon>
|
||||
<SubType>Designer</SubType>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="DisplayHistory.resx">
|
||||
<DependentUpon>DisplayHistory.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="DisplayLibDocs.resx">
|
||||
<DependentUpon>DisplayLibDocs.cs</DependentUpon>
|
||||
<SubType>Designer</SubType>
|
||||
|
@@ -1090,7 +1090,7 @@ namespace Volian.Print.Library
|
||||
firstCAI = 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(lastCAI);
|
||||
@@ -1153,7 +1153,7 @@ namespace Volian.Print.Library
|
||||
firstCAI = 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(lastCAI);
|
||||
|
Reference in New Issue
Block a user