
Added logic to speed up RO Value Update Process. Added logic to keep SvgImages from failing if the ImagePath is null.
264 lines
7.0 KiB
C#
264 lines
7.0 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Text;
|
|
using System.Data;
|
|
using System.Data.SqlClient;
|
|
using Csla;
|
|
using Csla.Data;
|
|
|
|
namespace VEPROMS.CSLA.Library
|
|
{
|
|
public partial class RoUsageInfoList
|
|
{
|
|
[Serializable()]
|
|
private class AffectedROUsagesCriteria
|
|
{
|
|
public AffectedROUsagesCriteria(int roDbID, string roid, string roDesc, string command, string userID, string versionList)
|
|
{
|
|
_RODbID = roDbID;
|
|
_ROID = roid;
|
|
_RODesc = roDesc;
|
|
_Command = command;
|
|
_UserID = userID;
|
|
_VersionList = versionList;
|
|
}
|
|
private string _VersionList;
|
|
public string VersionList
|
|
{
|
|
get { return _VersionList; }
|
|
set { _VersionList = value; }
|
|
}
|
|
private int _RODbID;
|
|
|
|
public int RODbID
|
|
{
|
|
get { return _RODbID; }
|
|
set { _RODbID = value; }
|
|
}
|
|
private string _ROID;
|
|
|
|
public string ROID
|
|
{
|
|
get { return _ROID; }
|
|
set { _ROID = value; }
|
|
}
|
|
private string _RODesc;
|
|
|
|
public string RODesc
|
|
{
|
|
get { return _RODesc; }
|
|
set { _RODesc = value; }
|
|
}
|
|
private string _Command;
|
|
|
|
public string Command
|
|
{
|
|
get { return _Command; }
|
|
set { _Command = value; }
|
|
}
|
|
private string _UserID;
|
|
|
|
public string UserID
|
|
{
|
|
get { return _UserID; }
|
|
set { _UserID = value; }
|
|
}
|
|
}
|
|
public static RoUsageInfoList GetAffected(int roDbID, string roid, string roDesc, string command, string versionList)
|
|
{
|
|
try
|
|
{
|
|
RoUsageInfoList tmp = DataPortal.Fetch<RoUsageInfoList>(new AffectedROUsagesCriteria(roDbID, roid, roDesc, command, Volian.Base.Library.VlnSettings.UserID,versionList));
|
|
RoUsageInfo.AddList(tmp);
|
|
tmp.AddEvents();
|
|
return tmp;
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
throw new DbCslaException("Error on ROUsageInfoList.GetAffected", ex);
|
|
}
|
|
}
|
|
private void DataPortal_Fetch(AffectedROUsagesCriteria criteria)
|
|
{
|
|
this.RaiseListChangedEvents = false;
|
|
if (_MyLog.IsDebugEnabled) _MyLog.DebugFormat("[{0}] ROUsageInfoList.DataPortal_FetchAffected", GetHashCode());
|
|
try
|
|
{
|
|
using (SqlConnection cn = Database.VEPROMS_SqlConnection)
|
|
{
|
|
using (SqlCommand cm = cn.CreateCommand())
|
|
{
|
|
cm.CommandType = CommandType.StoredProcedure;
|
|
cm.CommandText = "getAffectedRoUsages";
|
|
cm.Parameters.AddWithValue("@RODbID", criteria.RODbID);
|
|
cm.Parameters.AddWithValue("@ROID", criteria.ROID);
|
|
cm.Parameters.AddWithValue("@RODesc", criteria.RODesc);
|
|
cm.Parameters.AddWithValue("@Command", criteria.Command);
|
|
cm.Parameters.AddWithValue("@UserID", criteria.UserID);
|
|
cm.Parameters.AddWithValue("@VersionList", criteria.VersionList);
|
|
|
|
cm.CommandTimeout = Database.DefaultTimeout;
|
|
using (SafeDataReader dr = new SafeDataReader(cm.ExecuteReader()))
|
|
{
|
|
IsReadOnly = false;
|
|
while (dr.Read())
|
|
this.Add(new RoUsageInfo(dr));
|
|
IsReadOnly = true;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
if (_MyLog.IsErrorEnabled) _MyLog.Error("TransitionInfoList.DataPortal_FetchAffected", ex);
|
|
throw new DbCslaException("ROUsageInfoList.DataPortal_Fetch", ex);
|
|
}
|
|
this.RaiseListChangedEvents = true;
|
|
}
|
|
[Serializable]
|
|
private class GetROUsagesByROIDsCriteria
|
|
{
|
|
public GetROUsagesByROIDsCriteria(string roids)
|
|
{
|
|
_ROIDS = roids;
|
|
}
|
|
private string _ROIDS;
|
|
public string ROIDS
|
|
{
|
|
get { return _ROIDS; }
|
|
set { _ROIDS = value; }
|
|
}
|
|
}
|
|
public static RoUsageInfoList GetROUSagesByROIDs(string roids)
|
|
{
|
|
try
|
|
{
|
|
RoUsageInfoList tmp = DataPortal.Fetch<RoUsageInfoList>(new GetROUsagesByROIDsCriteria(roids));
|
|
RoUsageInfo.AddList(tmp);
|
|
tmp.AddEvents();
|
|
return tmp;
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
throw new DbCslaException("Error on ROUsageInfoList.FindROUSagesByROIDs", ex);
|
|
}
|
|
}
|
|
private void DataPortal_Fetch(GetROUsagesByROIDsCriteria criteria)
|
|
{
|
|
this.RaiseListChangedEvents = false;
|
|
if (_MyLog.IsDebugEnabled) _MyLog.DebugFormat("[{0}] ROUsageInfoList.DataPortal_FetchFindByRoids", GetHashCode());
|
|
try
|
|
{
|
|
using (SqlConnection cn = Database.VEPROMS_SqlConnection)
|
|
{
|
|
using (SqlCommand cm = cn.CreateCommand())
|
|
{
|
|
cm.CommandType = CommandType.StoredProcedure;
|
|
cm.CommandText = "getRoUsagesByRoids";
|
|
cm.Parameters.AddWithValue("@ROIDS", criteria.ROIDS);
|
|
cm.CommandTimeout = Database.DefaultTimeout;
|
|
using (SafeDataReader dr = new SafeDataReader(cm.ExecuteReader()))
|
|
{
|
|
IsReadOnly = false;
|
|
while (dr.Read())
|
|
this.Add(new RoUsageInfo(dr));
|
|
IsReadOnly = true;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
if (_MyLog.IsErrorEnabled) _MyLog.Error("ROUsageInfoList.DataPortal_FetchFindByRoids", ex);
|
|
throw new DbCslaException("ROUsageInfoList.DataPortal_Fetch", ex);
|
|
}
|
|
this.RaiseListChangedEvents = true;
|
|
}
|
|
[Serializable]
|
|
private class GetROUsagesByROIDsAndVersionsCriteria
|
|
{
|
|
public GetROUsagesByROIDsAndVersionsCriteria(string roids, string versions)
|
|
{
|
|
_ROIDS = roids;
|
|
_Versions = versions;
|
|
}
|
|
private string _ROIDS;
|
|
public string ROIDS
|
|
{
|
|
get { return _ROIDS; }
|
|
set { _ROIDS = value; }
|
|
}
|
|
private string _Versions;
|
|
public string Versions
|
|
{
|
|
get { return _Versions; }
|
|
set { _Versions = value; }
|
|
}
|
|
}
|
|
public static RoUsageInfoList GetROUSagesByROIDsAndVersions(string roids,string versions)
|
|
{
|
|
try
|
|
{
|
|
RoUsageInfoList tmp = DataPortal.Fetch<RoUsageInfoList>(new GetROUsagesByROIDsAndVersionsCriteria(roids,versions));
|
|
RoUsageInfo.AddList(tmp);
|
|
tmp.AddEvents();
|
|
return tmp;
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
throw new DbCslaException("Error on ROUsageInfoList.FindROUSagesByROIDs", ex);
|
|
}
|
|
}
|
|
private void DataPortal_Fetch(GetROUsagesByROIDsAndVersionsCriteria criteria)
|
|
{
|
|
this.RaiseListChangedEvents = false;
|
|
if (_MyLog.IsDebugEnabled) _MyLog.DebugFormat("[{0}] ROUsageInfoList.DataPortal_FetchFindByRoids", GetHashCode());
|
|
try
|
|
{
|
|
using (SqlConnection cn = Database.VEPROMS_SqlConnection)
|
|
{
|
|
using (SqlCommand cm = cn.CreateCommand())
|
|
{
|
|
cm.CommandType = CommandType.StoredProcedure;
|
|
cm.CommandText = "getRoUsagesByRoidsAndVersions";
|
|
cm.Parameters.AddWithValue("@ROIDS", criteria.ROIDS);
|
|
cm.Parameters.AddWithValue("@Versions", criteria.Versions);
|
|
cm.CommandTimeout = Database.DefaultTimeout;
|
|
using (SafeDataReader dr = new SafeDataReader(cm.ExecuteReader()))
|
|
{
|
|
IsReadOnly = false;
|
|
while (dr.Read())
|
|
this.Add(new RoUsageInfo(dr));
|
|
IsReadOnly = true;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
if (_MyLog.IsErrorEnabled) _MyLog.Error("ROUsageInfoList.DataPortal_FetchFindByRoidsAndVersions", ex);
|
|
throw new DbCslaException("ROUsageInfoList.DataPortal_Fetch", ex);
|
|
}
|
|
this.RaiseListChangedEvents = true;
|
|
}
|
|
}
|
|
public partial class RoUsageInfo
|
|
{
|
|
private string _ShortROID;
|
|
public string ShortROID
|
|
{
|
|
get
|
|
{
|
|
if (_ShortROID == null)
|
|
{
|
|
if (ROID.Length == 16 && ROID.EndsWith("0000"))
|
|
_ShortROID = ROID.ToUpper().Substring(0, 12);
|
|
else
|
|
_ShortROID = ROID.ToUpper();
|
|
}
|
|
return _ShortROID;
|
|
}
|
|
}
|
|
}
|
|
}
|