Files
SourceCode/PROMS/VEPROMS.CSLA.Library/Minimal/RevisionData.cs

54 lines
1.4 KiB
C#

using Csla.Data;
using System;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
//CSM - C2026-009 - Minimal Class for Getting Revision Data
namespace VEPROMS.CSLA.Library
{
public static class RevisionData
{
#region Check Data
//Check if Data Has Units
public static bool HasUnits(DataTable dt) => dt.AsEnumerable().Any(x => x.Field<int?>("UnitID") > 0);
//Get Maximum Date Time Stamp
public static DateTime MaxDTS(DataTable dt) => dt.AsEnumerable().Max(x => x.Field<DateTime>("DTS"));
#endregion
#region Get Revision Data
//CSM - C2026-009 Get Current Revision Data by Unit
public static DataTable GetRevisionDataByUnit(int itemID)
{
try
{
using (SqlConnection cn = Database.VEPROMS_SqlConnection)
{
using (SqlCommand cm = cn.CreateCommand())
{
cm.CommandType = CommandType.StoredProcedure;
cm.CommandText = "GetCurrentApprovedRevisions";
cm.CommandTimeout = Database.DefaultTimeout;
cm.Parameters.AddWithValue("@ItemID", itemID);
using (SqlDataAdapter da = new SqlDataAdapter(cm))
{
DataTable dt = new DataTable();
da.Fill(dt);
return dt;
}
}
}
}
catch (Exception ex)
{
throw new DbCslaException("Error in GetRevisionDataByUnit: retrieving data failed", ex);
}
}
#endregion
}
}