This is an upgrade item to add a method to exclude annotations and a way run the summary of changes report from a specific date.
1954 lines
61 KiB
C#
1954 lines
61 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Text;
|
|
using Csla;
|
|
using Csla.Data;
|
|
using Csla.Validation;
|
|
using System.Data.SqlClient;
|
|
using System.Data;
|
|
using System.Text.RegularExpressions;
|
|
using System.Xml;
|
|
|
|
namespace VEPROMS.CSLA.Library
|
|
{
|
|
public partial class AnnotationAuditInfo
|
|
{
|
|
internal string _ActionWhat;
|
|
public string ActionWhat
|
|
{
|
|
get { return _ActionWhat; }
|
|
set { _ActionWhat = value; }
|
|
}
|
|
internal DateTime _ActionWhen;
|
|
public DateTime ActionWhen
|
|
{
|
|
get { return _ActionWhen; }
|
|
set { _ActionWhen = value; }
|
|
}
|
|
internal int _IContentID;
|
|
public int IContentID
|
|
{
|
|
get { return _IContentID; }
|
|
set { _IContentID = value; }
|
|
}
|
|
public ItemInfo MyItemInfo
|
|
{
|
|
get {return ItemInfo.Get(this.ItemID);}
|
|
}
|
|
public string ListString()
|
|
{
|
|
string who = string.Empty;
|
|
string when = string.Empty;
|
|
if (this.UserID != "Migration" || this.TypeID != 1)
|
|
who = string.Format(" by {0}", this.UserID);
|
|
if (this.DTS != DateTime.Parse("1/1/1980"))
|
|
when = string.Format(" on {0}", this.DTS.ToString("MM/dd/yyyy @ HH:mm:ss"));
|
|
//return string.Format("{0}{1}{2}", this.ActionWhat, who, when);
|
|
return string.Format("{0}{1}{2}", this.DeleteStatus == 0 ? "Changed" : "Deleted", who, when);
|
|
}
|
|
public override string ToString()
|
|
{
|
|
string itemTitle = Regex.Replace(this.MyItemInfo.SearchPath, "^..+?\\u0007", "");
|
|
itemTitle = itemTitle.Replace("\x11", itemTitle[0] == '\x11' ? "" : " - ").Replace("\\u8209?", "-").Replace(@"\u9586?", @"\");
|
|
return string.Format("{0} Annotation {1}", itemTitle, this.ListString());
|
|
}
|
|
}
|
|
|
|
public partial class ContentAuditInfo
|
|
{
|
|
internal string _ActionWhat;
|
|
public string ActionWhat
|
|
{
|
|
get { return _ActionWhat; }
|
|
set { _ActionWhat = value; }
|
|
}
|
|
internal DateTime _ActionWhen;
|
|
public DateTime ActionWhen
|
|
{
|
|
get { return _ActionWhen; }
|
|
set { _ActionWhen = value; }
|
|
}
|
|
internal string _Path;
|
|
public string Path
|
|
{
|
|
get { return _Path; }
|
|
set { _Path = value; }
|
|
}
|
|
internal int _ItemID;
|
|
public int ItemID
|
|
{
|
|
get { return _ItemID; }
|
|
set { _ItemID = value; }
|
|
}
|
|
internal string _Typename;
|
|
public string TypeName
|
|
{
|
|
get { return _Typename; }
|
|
set { _Typename = value; }
|
|
}
|
|
public override string ToString()
|
|
{
|
|
string itemTitle = Regex.Replace(this.Path, "^..+?\\u0007", "");
|
|
itemTitle = itemTitle.Replace("\x11", itemTitle[0] == '\x11' ? "" : " - ").Replace("\\u8209?", "-").Replace(@"\u9586?",@"\");
|
|
return string.Format("{4} item {0} by {1} on {2} @ {3}", this.ActionWhat, this.UserID, this.ActionWhen == DateTime.MinValue ? this.DTS.ToShortDateString() : this.ActionWhen.ToShortDateString(), this.ActionWhen == DateTime.MinValue ? this.DTS.ToShortTimeString() : this.ActionWhen.ToShortTimeString(), itemTitle);
|
|
//return string.Format("{0} by {1} on {2}", this.DeleteStatus == 0 ? "Changed" : "Deleted", this.UserID, this.DTS.ToString("MM/dd/yyyy @ HH:mm:ss"));
|
|
//return string.Format("{0} - {1} {2}", this.UserID, this.DTS, this.DeleteStatus == 0 ? "" : "Deleted");
|
|
}
|
|
public string ListString()
|
|
{
|
|
string who = string.Empty;
|
|
string when = string.Empty;
|
|
if (this.UserID != "Migration")
|
|
who = string.Format(" by {0}", this.UserID);
|
|
if (this.DTS != DateTime.Parse("1/1/1980"))
|
|
when = string.Format(" on {0}", this.DTS.ToString("MM/dd/yyyy @ HH:mm:ss"));
|
|
return string.Format("{0}{1}{2}", this.ActionWhat, who, when);
|
|
}
|
|
}
|
|
|
|
public partial class DocumentAuditInfo
|
|
{
|
|
public override string ToString()
|
|
{
|
|
return string.Format("{0} - {1} {2}", this.UserID, this.DTS, this.DeleteStatus == 0 ? "" : "Deleted");
|
|
}
|
|
}
|
|
|
|
public partial class EntryAuditInfo
|
|
{
|
|
public override string ToString()
|
|
{
|
|
return string.Format("{0} - {1} {2}", this.UserID, this.DTS, this.DeleteStatus == 0 ? "" : "Deleted");
|
|
}
|
|
}
|
|
|
|
public partial class GridAuditInfo
|
|
{
|
|
public override string ToString()
|
|
{
|
|
return string.Format("{0} by {1} on {2}", this.DeleteStatus == 0 ? "Changed" : "Deleted", this.UserID, this.DTS.ToString("MM/dd/yyyy @ HH:mm:ss"));
|
|
//return string.Format("{0} - {1} {2}", this.UserID, this.DTS, this.DeleteStatus == 0 ? "" : "Deleted");
|
|
}
|
|
}
|
|
|
|
public partial class ImageAuditInfo
|
|
{
|
|
public override string ToString()
|
|
{
|
|
return string.Format("{0} - {1} {2}", this.UserID, this.DTS, this.DeleteStatus == 0 ? "" : "Deleted");
|
|
}
|
|
}
|
|
|
|
public partial class ItemAuditInfo
|
|
{
|
|
public static bool IsChangeManagerVersion()
|
|
{
|
|
try
|
|
{
|
|
using (ItemAuditInfo info = ItemAuditInfo.Get(0))
|
|
{
|
|
;
|
|
}
|
|
}
|
|
catch (Exception ex1)
|
|
{
|
|
Exception ex = ex1;
|
|
while (ex.InnerException != null)
|
|
ex = ex.InnerException;
|
|
if (ex.Message.StartsWith("Could not find stored procedure"))
|
|
{
|
|
System.Windows.Forms.MessageBox.Show("Running Change Manager Code with Non-Change Manager Data", "Inconsistent Data", System.Windows.Forms.MessageBoxButtons.OK, System.Windows.Forms.MessageBoxIcon.Error);
|
|
return false;
|
|
}
|
|
throw new Exception("Failed on check of Change Manager Data",ex1);
|
|
}
|
|
return true;
|
|
}
|
|
internal int _Level;
|
|
public int Level
|
|
{
|
|
get { return _Level; }
|
|
}
|
|
internal string _ItemType;
|
|
public string ItemType
|
|
{
|
|
get { return _ItemType; }
|
|
}
|
|
|
|
public override string ToString()
|
|
{
|
|
return string.Format("{0}{1} deleted by {2} on {3} @ {4}", this.Level == 0 ? "Previous " : this.Level == 1 ? "Next " : "", this.ItemType, this.UserID, this.DTS.ToShortDateString(), this.DTS.ToShortTimeString());
|
|
// return string.Format("Deleted by {0} on {1} @ {2}", this.UserID, this.DTS.ToShortDateString(), this.DTS.ToShortTimeString());
|
|
// return string.Format("(ItemID: {4}, DeleteID: {5}, {0} by {1} on {2} Level: {3}", this.DeleteStatus == 0 ? "Changed" : "Deleted", this.UserID, this.DTS.ToString("MM/dd/yyyy @ HH:mm:ss"), Level.ToString(), this.ItemID.ToString(), this.DeleteStatus.ToString());
|
|
// return string.Format("Level: {3}, {0} - {1} {2}", this.UserID, this.DTS, this.DeleteStatus == 0 ? "" : "Deleted", this.Level.ToString());
|
|
}
|
|
}
|
|
|
|
public partial class PartAuditInfo
|
|
{
|
|
public override string ToString()
|
|
{
|
|
return string.Format("{0} - {1} {2}", this.UserID, this.DTS, this.DeleteStatus == 0 ? "" : "Deleted");
|
|
}
|
|
}
|
|
|
|
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>
|
|
/// <param name="ItemID">Selected ItemID for Annotation Audit Records</param>
|
|
/// <returns></returns>
|
|
public static AnnotationAuditInfoList GetByItemID(int itemID)
|
|
{
|
|
try
|
|
{
|
|
//if (_AnnotationAuditInfoList != null)
|
|
// return _AnnotationAuditInfoList;
|
|
AnnotationAuditInfoList tmp = DataPortal.Fetch<AnnotationAuditInfoList>(new ItemIDCriteria(itemID));
|
|
//AnnotationAuditInfo.AddList(tmp);
|
|
//tmp.AddEvents();
|
|
//_AnnotationAuditInfoList = tmp;
|
|
return tmp;
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
throw new DbCslaException("Error on AnnotationAuditInfoList.GetByItemID", ex);
|
|
}
|
|
}
|
|
[Serializable()]
|
|
protected class ItemIDCriteria
|
|
{
|
|
private int _ItemID;
|
|
public int ItemID
|
|
{ get { return _ItemID; } }
|
|
public ItemIDCriteria(int itemID)
|
|
{
|
|
_ItemID = itemID;
|
|
}
|
|
}
|
|
private void DataPortal_Fetch(ItemIDCriteria criteria)
|
|
{
|
|
this.RaiseListChangedEvents = false;
|
|
if (_MyLog.IsDebugEnabled) _MyLog.DebugFormat("[{0}] AnnotationAuditInfoList.DataPortal_Fetch", GetHashCode());
|
|
try
|
|
{
|
|
using (SqlConnection cn = Database.VEPROMS_SqlConnection)
|
|
{
|
|
using (SqlCommand cm = cn.CreateCommand())
|
|
{
|
|
cm.CommandType = CommandType.StoredProcedure;
|
|
cm.CommandText = "getAnnotationAuditsByItemID";
|
|
cm.Parameters.AddWithValue("@ItemID", criteria.ItemID);
|
|
cm.CommandTimeout = Database.DefaultTimeout;
|
|
using (SafeDataReader dr = new SafeDataReader(cm.ExecuteReader()))
|
|
{
|
|
IsReadOnly = false;
|
|
while (dr.Read()) this.Add(new AnnotationAuditInfo(dr));
|
|
IsReadOnly = true;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
if (_MyLog.IsErrorEnabled) _MyLog.Error("AnnotationAuditInfoList.DataPortal_Fetch", ex);
|
|
throw new DbCslaException("AnnotationAuditInfoList.DataPortal_Fetch", ex);
|
|
}
|
|
this.RaiseListChangedEvents = true;
|
|
}
|
|
|
|
public static AnnotationAuditInfoList GetByAnnotationID(int annotationID)
|
|
{
|
|
try
|
|
{
|
|
//if (_AnnotationAuditInfoList != null)
|
|
// return _AnnotationAuditInfoList;
|
|
AnnotationAuditInfoList tmp = DataPortal.Fetch<AnnotationAuditInfoList>(new AnnotationIDCriteria(annotationID));
|
|
//AnnotationAuditInfo.AddList(tmp);
|
|
//tmp.AddEvents();
|
|
//_AnnotationAuditInfoList = tmp;
|
|
return tmp;
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
throw new DbCslaException("Error on AnnotationAuditInfoList.GetByAnnotationID", ex);
|
|
}
|
|
}
|
|
[Serializable()]
|
|
protected class AnnotationIDCriteria
|
|
{
|
|
private int _AnnotationID;
|
|
public int AnnotationID
|
|
{ get { return _AnnotationID; } }
|
|
public AnnotationIDCriteria(int annotationID)
|
|
{
|
|
_AnnotationID = annotationID;
|
|
}
|
|
}
|
|
private void DataPortal_Fetch(AnnotationIDCriteria criteria)
|
|
{
|
|
this.RaiseListChangedEvents = false;
|
|
if (_MyLog.IsDebugEnabled) _MyLog.DebugFormat("[{0}] AnnotationAuditInfoList.DataPortal_Fetch", GetHashCode());
|
|
try
|
|
{
|
|
using (SqlConnection cn = Database.VEPROMS_SqlConnection)
|
|
{
|
|
using (SqlCommand cm = cn.CreateCommand())
|
|
{
|
|
cm.CommandType = CommandType.StoredProcedure;
|
|
cm.CommandText = "getAnnotationAuditsByAnnotationID";
|
|
cm.Parameters.AddWithValue("@AnnotationID", criteria.AnnotationID);
|
|
cm.CommandTimeout = Database.DefaultTimeout;
|
|
using (SafeDataReader dr = new SafeDataReader(cm.ExecuteReader()))
|
|
{
|
|
IsReadOnly = false;
|
|
while (dr.Read()) this.Add(new AnnotationAuditInfo(dr));
|
|
IsReadOnly = true;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
if (_MyLog.IsErrorEnabled) _MyLog.Error("AnnotationAuditInfoList.DataPortal_Fetch", ex);
|
|
throw new DbCslaException("AnnotationAuditInfoList.DataPortal_Fetch", ex);
|
|
}
|
|
this.RaiseListChangedEvents = true;
|
|
}
|
|
|
|
#region ChronologyReport
|
|
//chronology report
|
|
public static AnnotationAuditInfoList GetChronology(int @procItemID, int itemID, DateTime dts)
|
|
{
|
|
try
|
|
{
|
|
AnnotationAuditInfoList tmp = DataPortal.Fetch<AnnotationAuditInfoList>(new ChronologyCriteria(procItemID, itemID, dts));
|
|
return tmp;
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
throw new DbCslaException("Error on AnnotationAuditInfoList.GetChronology", ex);
|
|
}
|
|
}
|
|
[Serializable()]
|
|
protected class ChronologyCriteria
|
|
{
|
|
private int _procItemID;
|
|
public int ProcItemID
|
|
{
|
|
get { return _procItemID; }
|
|
}
|
|
private int _itemID;
|
|
public int ItemID
|
|
{
|
|
get { return _itemID; }
|
|
}
|
|
private DateTime _DTS;
|
|
public DateTime DTS
|
|
{
|
|
get { return _DTS; }
|
|
}
|
|
public ChronologyCriteria(int procItemID, int itemID, DateTime dts)
|
|
{
|
|
_procItemID = procItemID;
|
|
_itemID = itemID;
|
|
_DTS = dts;
|
|
}
|
|
}
|
|
private void DataPortal_Fetch(ChronologyCriteria criteria)
|
|
{
|
|
this.RaiseListChangedEvents = false;
|
|
if (_MyLog.IsDebugEnabled) _MyLog.DebugFormat("[{0}] AnnotationAuditInfoList.DataPortal_Fetch", GetHashCode());
|
|
try
|
|
{
|
|
using (SqlConnection cn = Database.VEPROMS_SqlConnection)
|
|
{
|
|
using (SqlCommand cm = cn.CreateCommand())
|
|
{
|
|
cm.CommandType = CommandType.StoredProcedure;
|
|
cm.CommandText = "getAnnotationAuditsChronologyByItemID";
|
|
cm.Parameters.AddWithValue("@ProcItemID", criteria.ProcItemID);
|
|
cm.Parameters.AddWithValue("@ItemID", criteria.ItemID);
|
|
cm.Parameters.AddWithValue("@DTS", criteria.DTS);
|
|
cm.CommandTimeout = Database.DefaultTimeout;
|
|
using (SafeDataReader dr = new SafeDataReader(cm.ExecuteReader()))
|
|
{
|
|
IsReadOnly = false;
|
|
while (dr.Read())
|
|
{
|
|
AnnotationAuditInfo aai = new AnnotationAuditInfo(dr);
|
|
aai.ActionWhat = dr.GetString("ActionWhat");
|
|
aai.ActionWhen = dr.GetDateTime("ActionWhen");
|
|
aai.IContentID = dr.GetInt32("IContentID");
|
|
this.Add(aai);
|
|
|
|
}
|
|
IsReadOnly = true;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
if (_MyLog.IsErrorEnabled) _MyLog.Error("AnnotationAuditInfoList.DataPortal_Fetch", ex);
|
|
throw new DbCslaException("AnnotationAuditInfoList.DataPortal_Fetch", ex);
|
|
}
|
|
this.RaiseListChangedEvents = true;
|
|
}
|
|
//chronology report by unit
|
|
public static AnnotationAuditInfoList GetChronologyByUnit(int @procItemID, int itemID, int unitID, DateTime dts)
|
|
{
|
|
try
|
|
{
|
|
AnnotationAuditInfoList tmp = DataPortal.Fetch<AnnotationAuditInfoList>(new ChronologyCriteriaByUnit(procItemID, itemID, unitID, dts));
|
|
return tmp;
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
throw new DbCslaException("Error on AnnotationAuditInfoList.GetChronologyByUnit", ex);
|
|
}
|
|
}
|
|
[Serializable()]
|
|
protected class ChronologyCriteriaByUnit
|
|
{
|
|
private int _procItemID;
|
|
public int ProcItemID
|
|
{
|
|
get { return _procItemID; }
|
|
}
|
|
private int _itemID;
|
|
public int ItemID
|
|
{
|
|
get { return _itemID; }
|
|
}
|
|
private int _UnitID;
|
|
public int UnitID
|
|
{
|
|
get { return _UnitID; }
|
|
}
|
|
private DateTime _DTS;
|
|
public DateTime DTS
|
|
{
|
|
get { return _DTS; }
|
|
}
|
|
public ChronologyCriteriaByUnit(int procItemID, int itemID, int unitID, DateTime dts)
|
|
{
|
|
_procItemID = procItemID;
|
|
_itemID = itemID;
|
|
_UnitID = unitID;
|
|
_DTS = dts;
|
|
}
|
|
}
|
|
private void DataPortal_Fetch(ChronologyCriteriaByUnit criteria)
|
|
{
|
|
this.RaiseListChangedEvents = false;
|
|
if (_MyLog.IsDebugEnabled) _MyLog.DebugFormat("[{0}] AnnotationAuditInfoList.DataPortal_Fetch", GetHashCode());
|
|
try
|
|
{
|
|
using (SqlConnection cn = Database.VEPROMS_SqlConnection)
|
|
{
|
|
using (SqlCommand cm = cn.CreateCommand())
|
|
{
|
|
cm.CommandType = CommandType.StoredProcedure;
|
|
cm.CommandText = "getAnnotationAuditsChronologyByItemIDandUnitID";
|
|
cm.Parameters.AddWithValue("@ProcItemID", criteria.ProcItemID);
|
|
cm.Parameters.AddWithValue("@ItemID", criteria.ItemID);
|
|
cm.Parameters.AddWithValue("@UnitID", criteria.UnitID);
|
|
cm.Parameters.AddWithValue("@DTS", criteria.DTS);
|
|
cm.CommandTimeout = Database.DefaultTimeout;
|
|
using (SafeDataReader dr = new SafeDataReader(cm.ExecuteReader()))
|
|
{
|
|
IsReadOnly = false;
|
|
while (dr.Read())
|
|
{
|
|
AnnotationAuditInfo aai = new AnnotationAuditInfo(dr);
|
|
aai.ActionWhat = dr.GetString("ActionWhat");
|
|
aai.ActionWhen = dr.GetDateTime("ActionWhen");
|
|
aai.IContentID = dr.GetInt32("IContentID");
|
|
this.Add(aai);
|
|
|
|
}
|
|
IsReadOnly = true;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
if (_MyLog.IsErrorEnabled) _MyLog.Error("AnnotationAuditInfoList.DataPortal_Fetch", ex);
|
|
throw new DbCslaException("AnnotationAuditInfoList.DataPortal_Fetch", ex);
|
|
}
|
|
this.RaiseListChangedEvents = true;
|
|
}
|
|
#endregion
|
|
|
|
}
|
|
|
|
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>
|
|
/// <param name="ContentID">Selected ContentID for Content Audit Records</param>
|
|
/// <returns></returns>
|
|
public static ContentAuditInfoList Get(int contentID)
|
|
{
|
|
try
|
|
{
|
|
//if (_ContentAuditInfoList != null)
|
|
// return _ContentAuditInfoList;
|
|
ContentAuditInfoList tmp = DataPortal.Fetch<ContentAuditInfoList>(new ContentIDCriteria(contentID));
|
|
//ContentAuditInfo.AddList(tmp);
|
|
//tmp.AddEvents();
|
|
//_ContentAuditInfoList = tmp;
|
|
return tmp;
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
throw new DbCslaException("Error on ContentAuditInfoList.Get", ex);
|
|
}
|
|
}
|
|
[Serializable()]
|
|
protected class ContentIDCriteria
|
|
{
|
|
private int _ContentID;
|
|
public int ContentID
|
|
{ get { return _ContentID; } }
|
|
public ContentIDCriteria(int contentID)
|
|
{
|
|
_ContentID = contentID;
|
|
}
|
|
}
|
|
private void DataPortal_Fetch(ContentIDCriteria criteria)
|
|
{
|
|
this.RaiseListChangedEvents = false;
|
|
if (_MyLog.IsDebugEnabled) _MyLog.DebugFormat("[{0}] ContentAuditInfoList.DataPortal_Fetch", GetHashCode());
|
|
try
|
|
{
|
|
using (SqlConnection cn = Database.VEPROMS_SqlConnection)
|
|
{
|
|
using (SqlCommand cm = cn.CreateCommand())
|
|
{
|
|
cm.CommandType = CommandType.StoredProcedure;
|
|
cm.CommandText = "getContentAuditsByContentID";
|
|
cm.Parameters.AddWithValue("@ContentID", criteria.ContentID);
|
|
cm.CommandTimeout = Database.DefaultTimeout;
|
|
using (SafeDataReader dr = new SafeDataReader(cm.ExecuteReader()))
|
|
{
|
|
IsReadOnly = false;
|
|
while (dr.Read())
|
|
{
|
|
ContentAuditInfo cai = new ContentAuditInfo(dr);
|
|
cai.ActionWhat = dr.GetString("ActionWhat");
|
|
this.Add(cai);
|
|
// this.Add(new ContentAuditInfo(dr));
|
|
}
|
|
IsReadOnly = true;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
if (_MyLog.IsErrorEnabled) _MyLog.Error("ContentAuditInfoList.DataPortal_Fetch", ex);
|
|
throw new DbCslaException("ContentAuditInfoList.DataPortal_Fetch", ex);
|
|
}
|
|
this.RaiseListChangedEvents = true;
|
|
}
|
|
//byDTS
|
|
public static ContentAuditInfoList Get(int contentID, DateTime dts)
|
|
{
|
|
try
|
|
{
|
|
//if (_ContentAuditInfoList != null)
|
|
// return _ContentAuditInfoList;
|
|
ContentAuditInfoList tmp = DataPortal.Fetch<ContentAuditInfoList>(new ContentIDandDTSCriteria(contentID, dts));
|
|
//ContentAuditInfo.AddList(tmp);
|
|
//tmp.AddEvents();
|
|
//_ContentAuditInfoList = tmp;
|
|
return tmp;
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
throw new DbCslaException("Error on ContentAuditInfoList.Get", ex);
|
|
}
|
|
}
|
|
[Serializable()]
|
|
protected class ContentIDandDTSCriteria
|
|
{
|
|
private int _ContentID;
|
|
public int ContentID
|
|
{ get { return _ContentID; } }
|
|
private DateTime _DTS;
|
|
public DateTime DTS
|
|
{
|
|
get { return _DTS; }
|
|
}
|
|
public ContentIDandDTSCriteria(int contentID, DateTime dts)
|
|
{
|
|
_ContentID = contentID;
|
|
_DTS = dts;
|
|
}
|
|
}
|
|
private void DataPortal_Fetch(ContentIDandDTSCriteria criteria)
|
|
{
|
|
this.RaiseListChangedEvents = false;
|
|
if (_MyLog.IsDebugEnabled) _MyLog.DebugFormat("[{0}] ContentAuditInfoList.DataPortal_Fetch", GetHashCode());
|
|
try
|
|
{
|
|
using (SqlConnection cn = Database.VEPROMS_SqlConnection)
|
|
{
|
|
using (SqlCommand cm = cn.CreateCommand())
|
|
{
|
|
cm.CommandType = CommandType.StoredProcedure;
|
|
cm.CommandText = "getContentAuditsByContentIDandDTS";
|
|
cm.Parameters.AddWithValue("@ContentID", criteria.ContentID);
|
|
cm.Parameters.AddWithValue("@DTS", criteria.DTS);
|
|
cm.CommandTimeout = Database.DefaultTimeout;
|
|
using (SafeDataReader dr = new SafeDataReader(cm.ExecuteReader()))
|
|
{
|
|
IsReadOnly = false;
|
|
while (dr.Read())
|
|
{
|
|
ContentAuditInfo cai = new ContentAuditInfo(dr);
|
|
cai.ActionWhat = dr.GetString("ActionWhat");
|
|
this.Add(cai);
|
|
// this.Add(new ContentAuditInfo(dr));
|
|
}
|
|
IsReadOnly = true;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
if (_MyLog.IsErrorEnabled) _MyLog.Error("ContentAuditInfoList.DataPortal_Fetch", ex);
|
|
throw new DbCslaException("ContentAuditInfoList.DataPortal_Fetch", ex);
|
|
}
|
|
this.RaiseListChangedEvents = true;
|
|
}
|
|
//by delete status
|
|
public static ContentAuditInfoList GetByDeleteStatus(int deleteStatus)
|
|
{
|
|
try
|
|
{
|
|
//if (_ContentAuditInfoList != null)
|
|
// return _ContentAuditInfoList;
|
|
ContentAuditInfoList tmp = DataPortal.Fetch<ContentAuditInfoList>(new DeleteStatusCriteria(deleteStatus));
|
|
//ContentAuditInfo.AddList(tmp);
|
|
//tmp.AddEvents();
|
|
//_ContentAuditInfoList = tmp;
|
|
return tmp;
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
throw new DbCslaException("Error on ContentAuditInfoList.GetByDeleteStatus", ex);
|
|
}
|
|
}
|
|
[Serializable()]
|
|
protected class DeleteStatusCriteria
|
|
{
|
|
private int _DeleteStatus;
|
|
public int DeleteStatus
|
|
{ get { return _DeleteStatus; } }
|
|
public DeleteStatusCriteria(int deleteStatus)
|
|
{
|
|
_DeleteStatus = deleteStatus;
|
|
}
|
|
}
|
|
private void DataPortal_Fetch(DeleteStatusCriteria criteria)
|
|
{
|
|
this.RaiseListChangedEvents = false;
|
|
if (_MyLog.IsDebugEnabled) _MyLog.DebugFormat("[{0}] ContentAuditInfoList.DataPortal_Fetch", GetHashCode());
|
|
try
|
|
{
|
|
using (SqlConnection cn = Database.VEPROMS_SqlConnection)
|
|
{
|
|
using (SqlCommand cm = cn.CreateCommand())
|
|
{
|
|
cm.CommandType = CommandType.StoredProcedure;
|
|
cm.CommandText = "getContentAuditsByDeleteStatus";
|
|
cm.Parameters.AddWithValue("@DeleteStatus", criteria.DeleteStatus);
|
|
cm.CommandTimeout = Database.DefaultTimeout;
|
|
using (SafeDataReader dr = new SafeDataReader(cm.ExecuteReader()))
|
|
{
|
|
IsReadOnly = false;
|
|
while (dr.Read()) this.Add(new ContentAuditInfo(dr));
|
|
IsReadOnly = true;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
if (_MyLog.IsErrorEnabled) _MyLog.Error("ContentAuditInfoList.DataPortal_Fetch", ex);
|
|
throw new DbCslaException("ContentAuditInfoList.DataPortal_Fetch", ex);
|
|
}
|
|
this.RaiseListChangedEvents = true;
|
|
}
|
|
|
|
#region ChronologyReport
|
|
//chronology report
|
|
public static ContentAuditInfoList GetChronology(int procedureItemID, int currentItemID, bool includeDeletedChildren, DateTime dts)
|
|
{
|
|
try
|
|
{
|
|
ContentAuditInfoList tmp = DataPortal.Fetch<ContentAuditInfoList>(new ChronologyCriteria(procedureItemID, currentItemID, includeDeletedChildren, dts));
|
|
return tmp;
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
throw new DbCslaException("Error on ContentAuditInfoList.GetChronology", ex);
|
|
}
|
|
}
|
|
[Serializable()]
|
|
protected class ChronologyCriteria
|
|
{
|
|
private int _ProcedureItemID;
|
|
public int ProcedureItemID
|
|
{
|
|
get { return _ProcedureItemID; }
|
|
}
|
|
private int _CurrentItemID;
|
|
public int CurrentItemID
|
|
{
|
|
get { return _CurrentItemID; }
|
|
}
|
|
private bool _IncludeDeletedChildren;
|
|
public bool IncludeDeletedChildren
|
|
{
|
|
get { return _IncludeDeletedChildren; }
|
|
}
|
|
private DateTime _DTS;
|
|
public DateTime DTS
|
|
{
|
|
get { return _DTS; }
|
|
}
|
|
public ChronologyCriteria(int procedureItemID, int currentItemID, bool includeDeletedChildren, DateTime dts)
|
|
{
|
|
_ProcedureItemID = procedureItemID;
|
|
_CurrentItemID = currentItemID;
|
|
_IncludeDeletedChildren = includeDeletedChildren;
|
|
_DTS = dts;
|
|
}
|
|
}
|
|
private void DataPortal_Fetch(ChronologyCriteria criteria)
|
|
{
|
|
this.RaiseListChangedEvents = false;
|
|
if (_MyLog.IsDebugEnabled) _MyLog.DebugFormat("[{0}] ContentAuditInfoList.DataPortal_Fetch", GetHashCode());
|
|
try
|
|
{
|
|
using (SqlConnection cn = Database.VEPROMS_SqlConnection)
|
|
{
|
|
using (SqlCommand cm = cn.CreateCommand())
|
|
{
|
|
cm.CommandType = CommandType.StoredProcedure;
|
|
cm.CommandText = "getContentAuditsChronologyByItemID";
|
|
cm.Parameters.AddWithValue("@ProcedureItemID", criteria.ProcedureItemID);
|
|
cm.Parameters.AddWithValue("@SelectedItemID", criteria.CurrentItemID);
|
|
cm.Parameters.AddWithValue("@IncludeDeletedChildren", criteria.IncludeDeletedChildren ? 1 : 0);
|
|
cm.Parameters.AddWithValue("@DTS", criteria.DTS);
|
|
cm.CommandTimeout = Database.DefaultTimeout;
|
|
using (SafeDataReader dr = new SafeDataReader(cm.ExecuteReader()))
|
|
{
|
|
IsReadOnly = false;
|
|
while (dr.Read())
|
|
{
|
|
ContentAuditInfo cai = new ContentAuditInfo(dr);
|
|
cai.ActionWhat = dr.GetString("ActionWhat");
|
|
cai.ActionWhen = dr.GetDateTime("ActionWhen");
|
|
cai.Path = dr.GetString("Path");
|
|
cai.ItemID = dr.GetInt32("ItemID");
|
|
cai.TypeName = dr.GetString("TypeName");
|
|
this.Add(cai);
|
|
|
|
}
|
|
IsReadOnly = true;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
if (_MyLog.IsErrorEnabled) _MyLog.Error("ContentAuditInfoList.DataPortal_Fetch", ex);
|
|
throw new DbCslaException("ContentAuditInfoList.DataPortal_Fetch", ex);
|
|
}
|
|
this.RaiseListChangedEvents = true;
|
|
}
|
|
//chronology report by unit
|
|
public static ContentAuditInfoList GetChronologyByUnit(int procedureItemID, int currentItemID, bool includeDeletedChildren, int unitID, DateTime dts)
|
|
{
|
|
try
|
|
{
|
|
ContentAuditInfoList tmp = DataPortal.Fetch<ContentAuditInfoList>(new ChronologyCriteriaByUnit(procedureItemID, currentItemID, includeDeletedChildren, unitID, dts));
|
|
return tmp;
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
throw new DbCslaException("Error on ContentAuditInfoList.GetChronologyByUnit", ex);
|
|
}
|
|
}
|
|
[Serializable()]
|
|
protected class ChronologyCriteriaByUnit
|
|
{
|
|
private int _ProcedureItemID;
|
|
public int ProcedureItemID
|
|
{
|
|
get { return _ProcedureItemID; }
|
|
}
|
|
private int _CurrentItemID;
|
|
public int CurrentItemID
|
|
{
|
|
get { return _CurrentItemID; }
|
|
}
|
|
private bool _IncludeDeletedChildren;
|
|
public bool IncludeDeletedChildren
|
|
{
|
|
get { return _IncludeDeletedChildren; }
|
|
}
|
|
private int _UnitID;
|
|
public int UnitID
|
|
{
|
|
get { return _UnitID; }
|
|
}
|
|
private DateTime _DTS;
|
|
public DateTime DTS
|
|
{
|
|
get { return _DTS; }
|
|
}
|
|
public ChronologyCriteriaByUnit(int procedureItemID, int currentItemID, bool includeDeletedChildren, int unitID, DateTime dts)
|
|
{
|
|
_ProcedureItemID = procedureItemID;
|
|
_CurrentItemID = currentItemID;
|
|
_IncludeDeletedChildren = includeDeletedChildren;
|
|
_UnitID = unitID;
|
|
_DTS = dts;
|
|
}
|
|
}
|
|
private void DataPortal_Fetch(ChronologyCriteriaByUnit criteria)
|
|
{
|
|
this.RaiseListChangedEvents = false;
|
|
if (_MyLog.IsDebugEnabled) _MyLog.DebugFormat("[{0}] ContentAuditInfoList.DataPortal_Fetch", GetHashCode());
|
|
try
|
|
{
|
|
using (SqlConnection cn = Database.VEPROMS_SqlConnection)
|
|
{
|
|
using (SqlCommand cm = cn.CreateCommand())
|
|
{
|
|
cm.CommandType = CommandType.StoredProcedure;
|
|
cm.CommandText = "getContentAuditsChronologyByItemIDandUnitID";
|
|
cm.Parameters.AddWithValue("@ProcedureItemID", criteria.ProcedureItemID);
|
|
cm.Parameters.AddWithValue("@SelectedItemID", criteria.CurrentItemID);
|
|
cm.Parameters.AddWithValue("@IncludeDeletedChildren", criteria.IncludeDeletedChildren ? 1 : 0);
|
|
cm.Parameters.AddWithValue("@UnitID", criteria.UnitID);
|
|
cm.Parameters.AddWithValue("@DTS", criteria.DTS);
|
|
cm.CommandTimeout = Database.DefaultTimeout;
|
|
using (SafeDataReader dr = new SafeDataReader(cm.ExecuteReader()))
|
|
{
|
|
IsReadOnly = false;
|
|
while (dr.Read())
|
|
{
|
|
ContentAuditInfo cai = new ContentAuditInfo(dr);
|
|
cai.ActionWhat = dr.GetString("ActionWhat");
|
|
cai.ActionWhen = dr.GetDateTime("ActionWhen");
|
|
cai.Path = dr.GetString("Path");
|
|
cai.ItemID = dr.GetInt32("ItemID");
|
|
cai.TypeName = dr.GetString("TypeName");
|
|
this.Add(cai);
|
|
|
|
}
|
|
IsReadOnly = true;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
if (_MyLog.IsErrorEnabled) _MyLog.Error("ContentAuditInfoList.DataPortal_Fetch", ex);
|
|
throw new DbCslaException("ContentAuditInfoList.DataPortal_Fetch", ex);
|
|
}
|
|
this.RaiseListChangedEvents = true;
|
|
}
|
|
#endregion
|
|
|
|
#region SummaryReport
|
|
//summary report
|
|
public static ContentAuditInfoList GetSummary(int procedureItemID, int currentItemID, bool includeDeletedChildren, DateTime dts)
|
|
{
|
|
try
|
|
{
|
|
ContentAuditInfoList tmp = DataPortal.Fetch<ContentAuditInfoList>(new SummaryCriteria(procedureItemID, currentItemID, includeDeletedChildren, dts));
|
|
return tmp;
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
throw new DbCslaException("Error on ContentAuditInfoList.GetSummary", ex);
|
|
}
|
|
}
|
|
[Serializable()]
|
|
protected class SummaryCriteria
|
|
{
|
|
private int _ProcedureItemID;
|
|
public int ProcedureItemID
|
|
{
|
|
get { return _ProcedureItemID; }
|
|
}
|
|
private int _CurrentItemID;
|
|
public int CurrentItemID
|
|
{
|
|
get { return _CurrentItemID; }
|
|
}
|
|
private bool _IncludeDeletedChildren;
|
|
public bool IncludeDeletedChildren
|
|
{
|
|
get { return _IncludeDeletedChildren; }
|
|
}
|
|
private DateTime _DTS;
|
|
public DateTime DTS
|
|
{
|
|
get { return _DTS; }
|
|
}
|
|
public SummaryCriteria(int procedureItemID, int currentItemID, bool includeDeletedChildren, DateTime dts)
|
|
{
|
|
_ProcedureItemID = procedureItemID;
|
|
_CurrentItemID = currentItemID;
|
|
_IncludeDeletedChildren = includeDeletedChildren;
|
|
_DTS = dts;
|
|
}
|
|
}
|
|
private void DataPortal_Fetch(SummaryCriteria criteria)
|
|
{
|
|
this.RaiseListChangedEvents = false;
|
|
if (_MyLog.IsDebugEnabled) _MyLog.DebugFormat("[{0}] ContentAuditInfoList.DataPortal_Fetch", GetHashCode());
|
|
try
|
|
{
|
|
using (SqlConnection cn = Database.VEPROMS_SqlConnection)
|
|
{
|
|
using (SqlCommand cm = cn.CreateCommand())
|
|
{
|
|
cm.CommandType = CommandType.StoredProcedure;
|
|
cm.CommandText = "getContentAuditsSummaryByItemID";
|
|
cm.Parameters.AddWithValue("@ProcedureItemID", criteria.ProcedureItemID);
|
|
cm.Parameters.AddWithValue("@SelectedItemID", criteria.CurrentItemID);
|
|
cm.Parameters.AddWithValue("@IncludeDeletedChildren", criteria.IncludeDeletedChildren ? 1 : 0);
|
|
cm.Parameters.AddWithValue("@DTS", criteria.DTS);
|
|
cm.CommandTimeout = Database.DefaultTimeout;
|
|
using (SafeDataReader dr = new SafeDataReader(cm.ExecuteReader()))
|
|
{
|
|
IsReadOnly = false;
|
|
while (dr.Read())
|
|
{
|
|
ContentAuditInfo cai = new ContentAuditInfo(dr);
|
|
cai.ActionWhat = dr.GetString("ActionWhat");
|
|
cai.ActionWhen = dr.GetDateTime("ActionWhen");
|
|
cai.Path = dr.GetString("Path");
|
|
cai.ItemID = dr.GetInt32("ItemID");
|
|
cai.TypeName = dr.GetString("TypeName");
|
|
this.Add(cai);
|
|
|
|
}
|
|
IsReadOnly = true;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
if (_MyLog.IsErrorEnabled) _MyLog.Error("ContentAuditInfoList.DataPortal_Fetch", ex);
|
|
throw new DbCslaException("ContentAuditInfoList.DataPortal_Fetch", ex);
|
|
}
|
|
this.RaiseListChangedEvents = true;
|
|
}
|
|
//summary report by unit
|
|
public static ContentAuditInfoList GetSummaryByUnit(int procedureItemID, int currentItemID, bool includeDeletedChildren, int unitID, DateTime dts)
|
|
{
|
|
try
|
|
{
|
|
ContentAuditInfoList tmp = DataPortal.Fetch<ContentAuditInfoList>(new SummaryCriteriaByUnit(procedureItemID, currentItemID, includeDeletedChildren, unitID, dts));
|
|
return tmp;
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
throw new DbCslaException("Error on ContentAuditInfoList.GetSummaryByUnit", ex);
|
|
}
|
|
}
|
|
[Serializable()]
|
|
protected class SummaryCriteriaByUnit
|
|
{
|
|
private int _ProcedureItemID;
|
|
public int ProcedureItemID
|
|
{
|
|
get { return _ProcedureItemID; }
|
|
}
|
|
private int _CurrentItemID;
|
|
public int CurrentItemID
|
|
{
|
|
get { return _CurrentItemID; }
|
|
}
|
|
private bool _IncludeDeletedChildren;
|
|
public bool IncludeDeletedChildren
|
|
{
|
|
get { return _IncludeDeletedChildren; }
|
|
}
|
|
private int _UnitID;
|
|
public int UnitID
|
|
{
|
|
get { return _UnitID; }
|
|
}
|
|
private DateTime _DTS;
|
|
public DateTime DTS
|
|
{
|
|
get { return _DTS; }
|
|
}
|
|
public SummaryCriteriaByUnit(int procedureItemID, int currentItemID, bool includeDeletedChildren, int unitID, DateTime dts)
|
|
{
|
|
_ProcedureItemID = procedureItemID;
|
|
_CurrentItemID = currentItemID;
|
|
_IncludeDeletedChildren = includeDeletedChildren;
|
|
_UnitID = unitID;
|
|
_DTS = dts;
|
|
}
|
|
}
|
|
private void DataPortal_Fetch(SummaryCriteriaByUnit criteria)
|
|
{
|
|
this.RaiseListChangedEvents = false;
|
|
if (_MyLog.IsDebugEnabled) _MyLog.DebugFormat("[{0}] ContentAuditInfoList.DataPortal_Fetch", GetHashCode());
|
|
try
|
|
{
|
|
using (SqlConnection cn = Database.VEPROMS_SqlConnection)
|
|
{
|
|
using (SqlCommand cm = cn.CreateCommand())
|
|
{
|
|
cm.CommandType = CommandType.StoredProcedure;
|
|
cm.CommandText = "getContentAuditsSummaryByItemIDandUnitID";
|
|
cm.Parameters.AddWithValue("@ProcedureItemID", criteria.ProcedureItemID);
|
|
cm.Parameters.AddWithValue("@SelectedItemID", criteria.CurrentItemID);
|
|
cm.Parameters.AddWithValue("@IncludeDeletedChildren", criteria.IncludeDeletedChildren ? 1 : 0);
|
|
cm.Parameters.AddWithValue("@UnitID", criteria.UnitID);
|
|
cm.Parameters.AddWithValue("@DTS", criteria.DTS);
|
|
cm.CommandTimeout = Database.DefaultTimeout;
|
|
using (SafeDataReader dr = new SafeDataReader(cm.ExecuteReader()))
|
|
{
|
|
IsReadOnly = false;
|
|
while (dr.Read())
|
|
{
|
|
ContentAuditInfo cai = new ContentAuditInfo(dr);
|
|
cai.ActionWhat = dr.GetString("ActionWhat");
|
|
cai.ActionWhen = dr.GetDateTime("ActionWhen");
|
|
cai.Path = dr.GetString("Path");
|
|
cai.ItemID = dr.GetInt32("ItemID");
|
|
cai.TypeName = dr.GetString("TypeName");
|
|
this.Add(cai);
|
|
|
|
}
|
|
IsReadOnly = true;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
if (_MyLog.IsErrorEnabled) _MyLog.Error("ContentAuditInfoList.DataPortal_Fetch", ex);
|
|
throw new DbCslaException("ContentAuditInfoList.DataPortal_Fetch", ex);
|
|
}
|
|
this.RaiseListChangedEvents = true;
|
|
}
|
|
#endregion
|
|
|
|
}
|
|
|
|
public partial class DocumentAuditInfoList
|
|
{
|
|
/// <summary>
|
|
/// Return a list of all DocumentAuditInfo by DocID.
|
|
/// </summary>
|
|
/// <param name="DocumentID">Selected DocID for Document Audit Records</param>
|
|
/// <returns></returns>
|
|
public static DocumentAuditInfoList Get(int docID)
|
|
{
|
|
try
|
|
{
|
|
DocumentAuditInfoList tmp = DataPortal.Fetch<DocumentAuditInfoList>(new DocumentIDCriteria(docID));
|
|
return tmp;
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
throw new DbCslaException("Error on DocumentAuditInfoList.Get", ex);
|
|
}
|
|
}
|
|
[Serializable()]
|
|
protected class DocumentIDCriteria
|
|
{
|
|
private int _DocID;
|
|
public int DocID
|
|
{ get { return _DocID; } }
|
|
public DocumentIDCriteria(int docID)
|
|
{
|
|
_DocID = docID;
|
|
}
|
|
}
|
|
private void DataPortal_Fetch(DocumentIDCriteria criteria)
|
|
{
|
|
this.RaiseListChangedEvents = false;
|
|
if (_MyLog.IsDebugEnabled) _MyLog.DebugFormat("[{0}] DocumentAuditInfoList.DataPortal_Fetch", GetHashCode());
|
|
try
|
|
{
|
|
using (SqlConnection cn = Database.VEPROMS_SqlConnection)
|
|
{
|
|
using (SqlCommand cm = cn.CreateCommand())
|
|
{
|
|
cm.CommandType = CommandType.StoredProcedure;
|
|
cm.CommandText = "getDocumentAuditsByDocID";
|
|
cm.Parameters.AddWithValue("@DocID", criteria.DocID);
|
|
cm.CommandTimeout = Database.DefaultTimeout;
|
|
using (SafeDataReader dr = new SafeDataReader(cm.ExecuteReader()))
|
|
{
|
|
IsReadOnly = false;
|
|
while (dr.Read()) this.Add(new DocumentAuditInfo(dr));
|
|
IsReadOnly = true;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
if (_MyLog.IsErrorEnabled) _MyLog.Error("DocumentAuditInfoList.DataPortal_Fetch", ex);
|
|
throw new DbCslaException("DocumentAuditInfoList.DataPortal_Fetch", ex);
|
|
}
|
|
this.RaiseListChangedEvents = true;
|
|
}
|
|
}
|
|
|
|
public partial class EntryAuditInfoList
|
|
{
|
|
/// <summary>
|
|
/// Return a list of all EntryAuditInfo by ContentID.
|
|
/// </summary>
|
|
/// <param name="ContentID">Selected ContentID for Entry Audit Records</param>
|
|
/// <returns></returns>
|
|
public static EntryAuditInfoList Get(int contentID)
|
|
{
|
|
try
|
|
{
|
|
EntryAuditInfoList tmp = DataPortal.Fetch<EntryAuditInfoList>(new ContentIDCriteria(contentID));
|
|
return tmp;
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
throw new DbCslaException("Error on EntryAuditInfoList.Get", ex);
|
|
}
|
|
}
|
|
[Serializable()]
|
|
protected class ContentIDCriteria
|
|
{
|
|
private int _ContentID;
|
|
public int ContentID
|
|
{ get { return _ContentID; } }
|
|
public ContentIDCriteria(int contentID)
|
|
{
|
|
_ContentID = contentID;
|
|
}
|
|
}
|
|
private void DataPortal_Fetch(ContentIDCriteria criteria)
|
|
{
|
|
this.RaiseListChangedEvents = false;
|
|
if (_MyLog.IsDebugEnabled) _MyLog.DebugFormat("[{0}] EntryAuditInfoList.DataPortal_Fetch", GetHashCode());
|
|
try
|
|
{
|
|
using (SqlConnection cn = Database.VEPROMS_SqlConnection)
|
|
{
|
|
using (SqlCommand cm = cn.CreateCommand())
|
|
{
|
|
cm.CommandType = CommandType.StoredProcedure;
|
|
cm.CommandText = "getEntryAuditsByContentID";
|
|
cm.Parameters.AddWithValue("@ContentID", criteria.ContentID);
|
|
cm.CommandTimeout = Database.DefaultTimeout;
|
|
using (SafeDataReader dr = new SafeDataReader(cm.ExecuteReader()))
|
|
{
|
|
IsReadOnly = false;
|
|
while (dr.Read()) this.Add(new EntryAuditInfo(dr));
|
|
IsReadOnly = true;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
if (_MyLog.IsErrorEnabled) _MyLog.Error("EntryAuditInfoList.DataPortal_Fetch", ex);
|
|
throw new DbCslaException("EntryAuditInfoList.DataPortal_Fetch", ex);
|
|
}
|
|
this.RaiseListChangedEvents = true;
|
|
}
|
|
}
|
|
|
|
public partial class GridAuditInfoList
|
|
{
|
|
/// <summary>
|
|
/// Return a list of all GridAuditInfo by ContentID.
|
|
/// </summary>
|
|
/// <param name="ContentID">Selected ContentID for Grid Audit Records</param>
|
|
/// <returns></returns>
|
|
public static GridAuditInfoList Get(int contentID)
|
|
{
|
|
try
|
|
{
|
|
GridAuditInfoList tmp = DataPortal.Fetch<GridAuditInfoList>(new ContentIDCriteria(contentID));
|
|
return tmp;
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
throw new DbCslaException("Error on GridAuditInfoList.Get", ex);
|
|
}
|
|
}
|
|
[Serializable()]
|
|
protected class ContentIDCriteria
|
|
{
|
|
private int _ContentID;
|
|
public int ContentID
|
|
{ get { return _ContentID; } }
|
|
public ContentIDCriteria(int contentID)
|
|
{
|
|
_ContentID = contentID;
|
|
}
|
|
}
|
|
private void DataPortal_Fetch(ContentIDCriteria criteria)
|
|
{
|
|
this.RaiseListChangedEvents = false;
|
|
if (_MyLog.IsDebugEnabled) _MyLog.DebugFormat("[{0}] GridAuditInfoList.DataPortal_Fetch", GetHashCode());
|
|
try
|
|
{
|
|
using (SqlConnection cn = Database.VEPROMS_SqlConnection)
|
|
{
|
|
using (SqlCommand cm = cn.CreateCommand())
|
|
{
|
|
cm.CommandType = CommandType.StoredProcedure;
|
|
cm.CommandText = "getGridAuditsByContentID";
|
|
cm.Parameters.AddWithValue("@ContentID", criteria.ContentID);
|
|
cm.CommandTimeout = Database.DefaultTimeout;
|
|
using (SafeDataReader dr = new SafeDataReader(cm.ExecuteReader()))
|
|
{
|
|
IsReadOnly = false;
|
|
while (dr.Read()) this.Add(new GridAuditInfo(dr));
|
|
IsReadOnly = true;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
if (_MyLog.IsErrorEnabled) _MyLog.Error("GridAuditInfoList.DataPortal_Fetch", ex);
|
|
throw new DbCslaException("GridAuditInfoList.DataPortal_Fetch", ex);
|
|
}
|
|
this.RaiseListChangedEvents = true;
|
|
}
|
|
}
|
|
|
|
public partial class ImageAuditInfoList
|
|
{
|
|
/// <summary>
|
|
/// Return a list of all ImageAuditInfo by ContentID.
|
|
/// </summary>
|
|
/// <param name="ContentID">Selected ContentID for Image Audit Records</param>
|
|
/// <returns></returns>
|
|
public static ImageAuditInfoList Get(int contentID)
|
|
{
|
|
try
|
|
{
|
|
ImageAuditInfoList tmp = DataPortal.Fetch<ImageAuditInfoList>(new ContentIDCriteria(contentID));
|
|
return tmp;
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
throw new DbCslaException("Error on ImageAuditInfoList.Get", ex);
|
|
}
|
|
}
|
|
[Serializable()]
|
|
protected class ContentIDCriteria
|
|
{
|
|
private int _ContentID;
|
|
public int ContentID
|
|
{ get { return _ContentID; } }
|
|
public ContentIDCriteria(int contentID)
|
|
{
|
|
_ContentID = contentID;
|
|
}
|
|
}
|
|
private void DataPortal_Fetch(ContentIDCriteria criteria)
|
|
{
|
|
this.RaiseListChangedEvents = false;
|
|
if (_MyLog.IsDebugEnabled) _MyLog.DebugFormat("[{0}] ImageAuditInfoList.DataPortal_Fetch", GetHashCode());
|
|
try
|
|
{
|
|
using (SqlConnection cn = Database.VEPROMS_SqlConnection)
|
|
{
|
|
using (SqlCommand cm = cn.CreateCommand())
|
|
{
|
|
cm.CommandType = CommandType.StoredProcedure;
|
|
cm.CommandText = "getImageAuditsByContentID";
|
|
cm.Parameters.AddWithValue("@ContentID", criteria.ContentID);
|
|
cm.CommandTimeout = Database.DefaultTimeout;
|
|
using (SafeDataReader dr = new SafeDataReader(cm.ExecuteReader()))
|
|
{
|
|
IsReadOnly = false;
|
|
while (dr.Read()) this.Add(new ImageAuditInfo(dr));
|
|
IsReadOnly = true;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
if (_MyLog.IsErrorEnabled) _MyLog.Error("ImageAuditInfoList.DataPortal_Fetch", ex);
|
|
throw new DbCslaException("ImageAuditInfoList.DataPortal_Fetch", ex);
|
|
}
|
|
this.RaiseListChangedEvents = true;
|
|
}
|
|
}
|
|
|
|
public partial class ItemAuditInfoList
|
|
{
|
|
/// <summary>
|
|
/// Return a list of all ItemAuditInfo by ItemID.
|
|
/// </summary>
|
|
/// <param name="ItemID">Selected ItemID for Item Audit Records</param>
|
|
/// <returns></returns>
|
|
public static ItemAuditInfoList Get(int itemID)
|
|
{
|
|
try
|
|
{
|
|
ItemAuditInfoList tmp = DataPortal.Fetch<ItemAuditInfoList>(new ItemIDCriteria(itemID));
|
|
return tmp;
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
throw new DbCslaException("Error on ItemAuditInfoList.Get", ex);
|
|
}
|
|
}
|
|
[Serializable()]
|
|
protected class ItemIDCriteria
|
|
{
|
|
private int _ItemID;
|
|
public int ItemID
|
|
{ get { return _ItemID; } }
|
|
public ItemIDCriteria(int itemID)
|
|
{
|
|
_ItemID = itemID;
|
|
}
|
|
}
|
|
private void DataPortal_Fetch(ItemIDCriteria criteria)
|
|
{
|
|
this.RaiseListChangedEvents = false;
|
|
if (_MyLog.IsDebugEnabled) _MyLog.DebugFormat("[{0}] ItemAuditInfoList.DataPortal_Fetch", GetHashCode());
|
|
try
|
|
{
|
|
using (SqlConnection cn = Database.VEPROMS_SqlConnection)
|
|
{
|
|
using (SqlCommand cm = cn.CreateCommand())
|
|
{
|
|
cm.CommandType = CommandType.StoredProcedure;
|
|
cm.CommandText = "getItemAuditsByItemID";
|
|
cm.Parameters.AddWithValue("@ItemID", criteria.ItemID);
|
|
cm.CommandTimeout = Database.DefaultTimeout;
|
|
using (SafeDataReader dr = new SafeDataReader(cm.ExecuteReader()))
|
|
{
|
|
IsReadOnly = false;
|
|
while (dr.Read())
|
|
{
|
|
ItemAuditInfo iai = new ItemAuditInfo(dr);
|
|
iai._Level = dr.GetInt32("Level");
|
|
iai._ItemType = dr.GetString("ItemType");
|
|
this.Add(iai);
|
|
}
|
|
IsReadOnly = true;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
if (_MyLog.IsErrorEnabled) _MyLog.Error("ItemAuditInfoList.DataPortal_Fetch", ex);
|
|
throw new DbCslaException("ItemAuditInfoList.DataPortal_Fetch", ex);
|
|
}
|
|
this.RaiseListChangedEvents = true;
|
|
}
|
|
|
|
}
|
|
|
|
public partial class PartAuditInfoList
|
|
{
|
|
/// <summary>
|
|
/// Return a list of all PartAuditInfo by ContentID.
|
|
/// </summary>
|
|
/// <param name="ContentID">Selected ContentID for Part Audit Records</param>
|
|
/// <returns></returns>
|
|
public static PartAuditInfoList Get(int contentID)
|
|
{
|
|
try
|
|
{
|
|
PartAuditInfoList tmp = DataPortal.Fetch<PartAuditInfoList>(new ContentIDCriteria(contentID));
|
|
return tmp;
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
throw new DbCslaException("Error on PartAuditInfoList.Get", ex);
|
|
}
|
|
}
|
|
[Serializable()]
|
|
protected class ContentIDCriteria
|
|
{
|
|
private int _ContentID;
|
|
public int ContentID
|
|
{ get { return _ContentID; } }
|
|
public ContentIDCriteria(int contentID)
|
|
{
|
|
_ContentID = contentID;
|
|
}
|
|
}
|
|
private void DataPortal_Fetch(ContentIDCriteria criteria)
|
|
{
|
|
this.RaiseListChangedEvents = false;
|
|
if (_MyLog.IsDebugEnabled) _MyLog.DebugFormat("[{0}] PartAuditInfoList.DataPortal_Fetch", GetHashCode());
|
|
try
|
|
{
|
|
using (SqlConnection cn = Database.VEPROMS_SqlConnection)
|
|
{
|
|
using (SqlCommand cm = cn.CreateCommand())
|
|
{
|
|
cm.CommandType = CommandType.StoredProcedure;
|
|
cm.CommandText = "getPartAuditsByContentID";
|
|
cm.Parameters.AddWithValue("@ContentID", criteria.ContentID);
|
|
cm.CommandTimeout = Database.DefaultTimeout;
|
|
using (SafeDataReader dr = new SafeDataReader(cm.ExecuteReader()))
|
|
{
|
|
IsReadOnly = false;
|
|
while (dr.Read()) this.Add(new PartAuditInfo(dr));
|
|
IsReadOnly = true;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
if (_MyLog.IsErrorEnabled) _MyLog.Error("PartAuditInfoList.DataPortal_Fetch", ex);
|
|
throw new DbCslaException("PartAuditInfoList.DataPortal_Fetch", ex);
|
|
}
|
|
this.RaiseListChangedEvents = true;
|
|
}
|
|
|
|
public static PartAuditInfoList GetByDeleteStatus(int deleteStatus)
|
|
{
|
|
try
|
|
{
|
|
PartAuditInfoList tmp = DataPortal.Fetch<PartAuditInfoList>(new DeleteStatusCriteria(deleteStatus));
|
|
return tmp;
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
throw new DbCslaException("Error on PartAuditInfoList.GetByDeleteStatus", ex);
|
|
}
|
|
}
|
|
[Serializable()]
|
|
protected class DeleteStatusCriteria
|
|
{
|
|
private int _DeleteStatus;
|
|
public int DeleteStatus
|
|
{ get { return _DeleteStatus; } }
|
|
public DeleteStatusCriteria(int deleteStatus)
|
|
{
|
|
_DeleteStatus = deleteStatus;
|
|
}
|
|
}
|
|
private void DataPortal_Fetch(DeleteStatusCriteria criteria)
|
|
{
|
|
this.RaiseListChangedEvents = false;
|
|
if (_MyLog.IsDebugEnabled) _MyLog.DebugFormat("[{0}] PartAuditInfoList.DataPortal_Fetch", GetHashCode());
|
|
try
|
|
{
|
|
using (SqlConnection cn = Database.VEPROMS_SqlConnection)
|
|
{
|
|
using (SqlCommand cm = cn.CreateCommand())
|
|
{
|
|
cm.CommandType = CommandType.StoredProcedure;
|
|
cm.CommandText = "getPartAuditsByDeleteStatus";
|
|
cm.Parameters.AddWithValue("@DeleteStatus", criteria.DeleteStatus);
|
|
cm.CommandTimeout = Database.DefaultTimeout;
|
|
using (SafeDataReader dr = new SafeDataReader(cm.ExecuteReader()))
|
|
{
|
|
IsReadOnly = false;
|
|
while (dr.Read()) this.Add(new PartAuditInfo(dr));
|
|
IsReadOnly = true;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
if (_MyLog.IsErrorEnabled) _MyLog.Error("PartAuditInfoList.DataPortal_Fetch", ex);
|
|
throw new DbCslaException("PartAuditInfoList.DataPortal_Fetch", ex);
|
|
}
|
|
this.RaiseListChangedEvents = true;
|
|
}
|
|
|
|
public static PartAuditInfoList GetByItemID(int itemID)
|
|
{
|
|
try
|
|
{
|
|
PartAuditInfoList tmp = DataPortal.Fetch<PartAuditInfoList>(new ItemIDCriteria(itemID));
|
|
return tmp;
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
throw new DbCslaException("Error on PartAuditInfoList.GetByItemID", ex);
|
|
}
|
|
}
|
|
[Serializable()]
|
|
protected class ItemIDCriteria
|
|
{
|
|
private int _ItemID;
|
|
public int ItemID
|
|
{ get { return _ItemID; } }
|
|
public ItemIDCriteria(int itemID)
|
|
{
|
|
_ItemID = itemID;
|
|
}
|
|
}
|
|
private void DataPortal_Fetch(ItemIDCriteria criteria)
|
|
{
|
|
this.RaiseListChangedEvents = false;
|
|
if (_MyLog.IsDebugEnabled) _MyLog.DebugFormat("[{0}] PartAuditInfoList.DataPortal_Fetch", GetHashCode());
|
|
try
|
|
{
|
|
using (SqlConnection cn = Database.VEPROMS_SqlConnection)
|
|
{
|
|
using (SqlCommand cm = cn.CreateCommand())
|
|
{
|
|
cm.CommandType = CommandType.StoredProcedure;
|
|
cm.CommandText = "getPartAuditsByItemID";
|
|
cm.Parameters.AddWithValue("@ItemID", criteria.ItemID);
|
|
cm.CommandTimeout = Database.DefaultTimeout;
|
|
using (SafeDataReader dr = new SafeDataReader(cm.ExecuteReader()))
|
|
{
|
|
IsReadOnly = false;
|
|
while (dr.Read()) this.Add(new PartAuditInfo(dr));
|
|
IsReadOnly = true;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
if (_MyLog.IsErrorEnabled) _MyLog.Error("PartAuditInfoList.DataPortal_Fetch", ex);
|
|
throw new DbCslaException("PartAuditInfoList.DataPortal_Fetch", ex);
|
|
}
|
|
this.RaiseListChangedEvents = true;
|
|
}
|
|
|
|
}
|
|
|
|
public partial class ItemInfo
|
|
{
|
|
public static event ItemInfoEvent InfoRestored;
|
|
private void OnInfoRestored(ItemInfo itemInfo)
|
|
{
|
|
if (InfoRestored != null)
|
|
InfoRestored(this);
|
|
}
|
|
public ItemInfo RestoreSibling(ItemAuditInfo iai,ROFstInfo myRoFst)
|
|
{
|
|
if (iai.DeleteStatus == 0)
|
|
return null;
|
|
int nextID = iai.Level == 0 ? ItemID : NextItem == null ? 0 : NextItem.ItemID;
|
|
ItemInfo tmp = RestoreItem(iai, myRoFst);
|
|
if(nextID > 0)
|
|
using (Item item = Item.Get(nextID)) ItemInfo.Refresh(item);
|
|
if (iai.Level == 0)
|
|
OnNewSiblingBefore(new ItemInfoInsertEventArgs(tmp, EAddpingPart.Before));
|
|
else
|
|
OnNewSiblingAfter(new ItemInfoInsertEventArgs(tmp, EAddpingPart.After));
|
|
if (!ActiveParent.IsDocVersion)
|
|
((ItemInfo)ActiveParent).MyContent.RefreshContentParts();
|
|
tmp.OnInfoRestored(tmp);
|
|
return tmp;
|
|
}
|
|
public ItemInfo RestoreItem(ItemAuditInfo iai, ROFstInfo myRoFst)
|
|
{
|
|
ItemInfo tmp2 = null;
|
|
try
|
|
{
|
|
ItemInfo tmp = DataPortal.Fetch<ItemInfo>(new RestoreCriteria(iai, this));
|
|
tmp2 = tmp;
|
|
AddToCache(tmp);
|
|
if (tmp.ErrorMessage == "No Record Found") tmp = null;
|
|
if(iai.Level == 2)
|
|
OnNewChild(new ItemInfoInsertEventArgs(tmp, EAddpingPart.Child));
|
|
int? nextID = null;
|
|
if (tmp.NextItem != null)
|
|
{
|
|
nextID = tmp.NextItem.ItemID;
|
|
ItemInfo.RefreshPrevious(nextID, tmp.ItemID);
|
|
tmp.NextItem.ResetOrdinal();
|
|
}
|
|
//tmp.UpdateTransitionText();
|
|
if (tmp.MyContent.ContentTransitions != null)
|
|
{
|
|
foreach (TransitionInfo tran in tmp.MyContent.ContentTransitions)
|
|
{
|
|
if(tran.MyItemToID != null)
|
|
tran.MyItemToID.UpdateTransitionText();
|
|
}
|
|
}
|
|
tmp.UpdateROText();
|
|
using (Content cont = tmp.MyContent.Get())
|
|
{
|
|
if (cont.ContentTransitionCount > 0)
|
|
{
|
|
foreach (ContentTransition tran in cont.ContentTransitions)
|
|
{
|
|
cont.FixTransitionText(TransitionInfo.Get(tran.TransitionID));
|
|
}
|
|
cont.Save();
|
|
}
|
|
if (cont.ContentRoUsageCount > 0)
|
|
{
|
|
//ROFstInfo myrofst = tmp.MyDocVersion.DocVersionAssociations[0].MyROFst;
|
|
ROFSTLookup mylookup = myRoFst.GetROFSTLookup(tmp.MyContent.ContentItems[0].MyProcedure.MyDocVersion);
|
|
foreach (ContentRoUsage ro in cont.ContentRoUsages)
|
|
{
|
|
RoUsageInfo rou = RoUsageInfo.Get(ro.ROUsageID);
|
|
string myvalue = mylookup.GetTranslatedRoValue(rou.ROID, tmp.ActiveFormat.PlantFormat.FormatData.SectData.ConvertCaretToDelta, tmp.ActiveFormat.PlantFormat.FormatData.SectData.UseTildaPoundCharsForSuperSubScriptInROValues, false, tmp);
|
|
|
|
ROFSTLookup.rochild rocc = mylookup.GetRoChild(rou.ROID);
|
|
|
|
int mytype = rocc.type;
|
|
cont.FixContentText(rou, myvalue, mytype, myRoFst);
|
|
}
|
|
Content cctmp = cont;
|
|
if (cont.IsDirty)
|
|
{
|
|
cctmp.DTS = DateTime.Now;
|
|
cctmp = cont.Save();
|
|
}
|
|
ContentInfo.Refresh(cctmp);
|
|
}
|
|
}
|
|
// B2017-069 when we restore a step that once had enhanced document links,
|
|
// remove the enhanced document link information - fixes delete/restore issue of linked steps.
|
|
// B2017-070 - when retoring a step that once had enhanced links, remove the link info for the notes and cautions as well
|
|
tmp.RemoveEnhancedFromConfig();
|
|
Item.ClearDelProcReason(tmp); // C2020-038: reason was added when procedure was deleted, clear on restore
|
|
return tmp;
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
throw new DbCslaException("Error on ItemInfo.RestoreItem", ex);
|
|
}
|
|
}
|
|
|
|
[Serializable()]
|
|
private class RestoreCriteria
|
|
{
|
|
public RestoreCriteria(ItemAuditInfo iai, ItemInfo ii)
|
|
{
|
|
_MyAudit = iai;
|
|
_MyInfo = ii;
|
|
}
|
|
private ItemAuditInfo _MyAudit;
|
|
public ItemAuditInfo MyAudit
|
|
{
|
|
get { return _MyAudit; }
|
|
set { _MyAudit = value; }
|
|
}
|
|
private ItemInfo _MyInfo;
|
|
public ItemInfo MyInfo
|
|
{
|
|
get { return _MyInfo; }
|
|
set { _MyInfo = value; }
|
|
}
|
|
}
|
|
private void DataPortal_Fetch(RestoreCriteria criteria)
|
|
{
|
|
ItemAuditInfo iai = criteria.MyAudit;
|
|
ItemInfo ii = criteria.MyInfo;
|
|
//if (_MyLog.IsDebugEnabled) _MyLog.DebugFormat("[{0}] ItemAuditInfoList.DataPortal_Fetch", GetHashCode());
|
|
try
|
|
{
|
|
using (SqlConnection cn = Database.VEPROMS_SqlConnection)
|
|
{
|
|
using (SqlCommand cm = cn.CreateCommand())
|
|
{
|
|
cm.CommandType = CommandType.StoredProcedure;
|
|
cm.CommandText = "restoreDeletedItem";
|
|
cm.Parameters.AddWithValue("@ItemID", iai.ItemID);
|
|
cm.Parameters.AddWithValue("@DeleteID", iai.DeleteStatus);
|
|
cm.Parameters.AddWithValue("@CurrentID", ii.ItemID);
|
|
cm.Parameters.AddWithValue("@Level", iai.Level);
|
|
cm.CommandTimeout = Database.DefaultTimeout;
|
|
cm.ExecuteNonQuery();
|
|
}
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
//if (_MyLog.IsErrorEnabled) _MyLog.Error("ItemAuditInfoList.DataPortal_Fetch", ex);
|
|
//throw new DbCslaException("ItemAuditInfoList.DataPortal_Fetch", ex);
|
|
}
|
|
DataPortal_Fetch(new PKCriteria(iai.ItemID));
|
|
}
|
|
}
|
|
|
|
public partial class AnnotationInfo
|
|
{
|
|
public static AnnotationInfo RestoreAnnotation(AnnotationAuditInfo aai)
|
|
{
|
|
try
|
|
{
|
|
AnnotationInfo tmp = DataPortal.Fetch<AnnotationInfo>(new RestoreCriteria(aai));
|
|
// B2023 - 073: Crash when restoring annotation whose type had been removed (if no record return null)
|
|
if (tmp.ErrorMessage == "No Record Found") return null;
|
|
AddToCache(tmp);
|
|
tmp.MyItem.RefreshItemAnnotations();
|
|
return tmp;
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
throw new DbCslaException("Error on AnnotaionInfo.RestoreAnnotation", ex);
|
|
}
|
|
}
|
|
//criteria to get annotation
|
|
[Serializable]
|
|
private class RestoreCriteria
|
|
{
|
|
public RestoreCriteria(AnnotationAuditInfo aai)
|
|
{
|
|
_MyAudit = aai;
|
|
}
|
|
private AnnotationAuditInfo _MyAudit;
|
|
|
|
public AnnotationAuditInfo MyAudit
|
|
{
|
|
get { return _MyAudit; }
|
|
set { _MyAudit = value; }
|
|
}
|
|
}
|
|
private void DataPortal_Fetch(RestoreCriteria criteria)
|
|
{
|
|
AnnotationAuditInfo aai = criteria.MyAudit;
|
|
if (aai.DeleteStatus == 0)
|
|
{
|
|
//if (_MyLog.IsDebugEnabled) _MyLog.DebugFormat("[{0}] ItemAuditInfoList.DataPortal_Fetch", GetHashCode());
|
|
try
|
|
{
|
|
using (SqlConnection cn = Database.VEPROMS_SqlConnection)
|
|
{
|
|
using (SqlCommand cm = cn.CreateCommand())
|
|
{
|
|
cm.CommandType = CommandType.StoredProcedure;
|
|
cm.CommandText = "restoreChangedAnnotation";
|
|
cm.Parameters.AddWithValue("@AuditID", aai.AuditID);
|
|
cm.CommandTimeout = Database.DefaultTimeout;
|
|
cm.ExecuteNonQuery();
|
|
}
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
//if (_MyLog.IsErrorEnabled) _MyLog.Error("ItemAuditInfoList.DataPortal_Fetch", ex);
|
|
//throw new DbCslaException("ItemAuditInfoList.DataPortal_Fetch", ex);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
//if (_MyLog.IsDebugEnabled) _MyLog.DebugFormat("[{0}] ItemAuditInfoList.DataPortal_Fetch", GetHashCode());
|
|
try
|
|
{
|
|
using (SqlConnection cn = Database.VEPROMS_SqlConnection)
|
|
{
|
|
using (SqlCommand cm = cn.CreateCommand())
|
|
{
|
|
cm.CommandType = CommandType.StoredProcedure;
|
|
cm.CommandText = "restoreDeletedAnnotation";
|
|
cm.Parameters.AddWithValue("@AnnotationID", aai.AnnotationID);
|
|
cm.CommandTimeout = Database.DefaultTimeout;
|
|
cm.ExecuteNonQuery();
|
|
}
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
//if (_MyLog.IsErrorEnabled) _MyLog.Error("ItemAuditInfoList.DataPortal_Fetch", ex);
|
|
//throw new DbCslaException("ItemAuditInfoList.DataPortal_Fetch", ex);
|
|
}
|
|
}
|
|
DataPortal_Fetch(new PKCriteria(aai.AnnotationID));
|
|
}
|
|
}
|
|
|
|
public partial class ContentInfo
|
|
{
|
|
public static ContentInfo RestoreImage(ImageAuditInfo iai)
|
|
{
|
|
try
|
|
{
|
|
using (Content ctmp = Content.Get(iai.ContentID))
|
|
{
|
|
ctmp.MyImage.FileName = iai.FileName;
|
|
ctmp.MyImage.Data = iai.Data;
|
|
ctmp.MyImage.Config = iai.Config;
|
|
ctmp.MyImage.DTS = DateTime.Now;
|
|
ctmp.MyImage.UserID = Volian.Base.Library.VlnSettings.UserID;
|
|
ctmp.DTS = DateTime.Now;
|
|
ImageInfo.Refresh(ctmp.MyImage);
|
|
ctmp.Save();
|
|
return ContentInfo.Get(iai.ContentID);
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
throw new DbCslaException("Error on ContentInfo.RestoreImage", ex);
|
|
}
|
|
}
|
|
public static ContentInfo RestoreContent(ContentAuditInfo cai,ROFstInfo myRoFst)
|
|
{
|
|
try
|
|
{
|
|
ContentInfo tmp = DataPortal.Fetch<ContentInfo>(new RestoreCriteria(cai));
|
|
AddToCache(tmp);
|
|
if (tmp.ErrorMessage == "No Record Found") tmp = null;
|
|
tmp.RefreshContentDetails();
|
|
tmp.RefreshContentItems();
|
|
tmp.RefreshContentParts();
|
|
tmp.RefreshContentRoUsages();
|
|
tmp.RefreshContentTransitions();
|
|
if (tmp.ContentTransitions != null)
|
|
{
|
|
foreach (TransitionInfo tran in tmp.ContentTransitions)
|
|
{
|
|
if (tran.MyItemToID != null)
|
|
tran.MyItemToID.UpdateTransitionText();
|
|
}
|
|
}
|
|
using (Content ctmp = tmp.Get())
|
|
{
|
|
if (ctmp.ContentTransitionCount > 0)
|
|
{
|
|
foreach (ContentTransition tran in ctmp.ContentTransitions)
|
|
{
|
|
ctmp.FixTransitionText(TransitionInfo.Get(tran.TransitionID));
|
|
}
|
|
ctmp.Save();
|
|
}
|
|
//ROFstInfo myrofst = tmp.ContentItems[0].MyProcedure.MyDocVersion.DocVersionAssociations[0].MyROFst;
|
|
if (tmp.ContentRoUsages.Count != 0) // B2017-118 If no ROUsages ignore ROFST
|
|
{
|
|
ROFSTLookup mylookup = myRoFst.GetROFSTLookup(tmp.ContentItems[0].MyProcedure.MyDocVersion);
|
|
foreach (RoUsageInfo rou in tmp.ContentRoUsages)
|
|
{
|
|
string myvalue = mylookup.GetTranslatedRoValue(rou.ROID, tmp.ContentItems[0].ActiveFormat.PlantFormat.FormatData.SectData.ConvertCaretToDelta, tmp.ContentItems[0].ActiveFormat.PlantFormat.FormatData.SectData.UseTildaPoundCharsForSuperSubScriptInROValues, false, tmp.ContentItems[0]);
|
|
ROFSTLookup.rochild rocc = mylookup.GetRoChild(rou.ROID);
|
|
int mytype = rocc.type;
|
|
ctmp.FixContentText(rou, myvalue, mytype, myRoFst);
|
|
}
|
|
}
|
|
Content cctmp = ctmp;
|
|
if (ctmp.IsDirty)
|
|
{
|
|
cctmp.DTS = DateTime.Now;
|
|
cctmp = ctmp.Save();
|
|
}
|
|
ContentInfo.Refresh(cctmp);
|
|
}
|
|
//FixContentText(RoUsageInfo rousg, string value, int rotype, ROFstInfo origROFstInfo
|
|
|
|
return tmp;
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
throw new DbCslaException("Error on ContentInfo.RestoreContent", ex);
|
|
}
|
|
}
|
|
//criteria to get content
|
|
[Serializable]
|
|
private class RestoreCriteria
|
|
{
|
|
public RestoreCriteria(ContentAuditInfo cai)
|
|
{
|
|
_MyAudit = cai;
|
|
}
|
|
private ContentAuditInfo _MyAudit;
|
|
public ContentAuditInfo MyAudit
|
|
{
|
|
get { return _MyAudit; }
|
|
set { _MyAudit = value; }
|
|
}
|
|
}
|
|
private void DataPortal_Fetch(RestoreCriteria criteria)
|
|
{
|
|
ContentAuditInfo cai = criteria.MyAudit;
|
|
//if (_MyLog.IsDebugEnabled) _MyLog.DebugFormat("[{0}] ItemAuditInfoList.DataPortal_Fetch", GetHashCode());
|
|
try
|
|
{
|
|
using (SqlConnection cn = Database.VEPROMS_SqlConnection)
|
|
{
|
|
using (SqlCommand cm = cn.CreateCommand())
|
|
{
|
|
cm.CommandType = CommandType.StoredProcedure;
|
|
cm.CommandText = "restoreChangedContent";
|
|
cm.Parameters.AddWithValue("@AuditID", cai.AuditID);
|
|
cm.CommandTimeout = Database.DefaultTimeout;
|
|
cm.ExecuteNonQuery();
|
|
}
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
//if (_MyLog.IsErrorEnabled) _MyLog.Error("ItemAuditInfoList.DataPortal_Fetch", ex);
|
|
//throw new DbCslaException("ItemAuditInfoList.DataPortal_Fetch", ex);
|
|
}
|
|
DataPortal_Fetch(new PKCriteria(cai.ContentID));
|
|
}
|
|
}
|
|
public partial class StageInfoList
|
|
{
|
|
public static void Refresh()
|
|
{
|
|
Reset();
|
|
_StageInfoList = Get();
|
|
}
|
|
}
|
|
}
|