54 lines
1.4 KiB
C#
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
|
|
|
|
}
|
|
}
|