Compare commits
	
		
			1 Commits
		
	
	
		
			c7bdcf0104
			...
			C2024-038
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 5ad9d81cc1 | 
@@ -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>
 | 
			
		||||
 
 | 
			
		||||
@@ -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
 | 
			
		||||
{
 | 
			
		||||
@@ -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;
 | 
			
		||||
@@ -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)
 | 
			
		||||
		{
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										
											BIN
										
									
								
								PROMS/Volian.Controls.Library/DisplayHistory.designer.cs
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								PROMS/Volian.Controls.Library/DisplayHistory.designer.cs
									
									
									
										generated
									
									
									
								
							
										
											Binary file not shown.
										
									
								
							@@ -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