Added getDRoUsagesByROIDsAndVersions and getRoUsagesByROIDsAndVersions to speed-up RO Value Update process.
Added logic to speed up RO Value Update Process. Added logic to keep SvgImages from failing if the ImagePath is null.
This commit is contained in:
@@ -175,5 +175,72 @@ namespace VEPROMS.CSLA.Library
|
||||
}
|
||||
this.RaiseListChangedEvents = true;
|
||||
}
|
||||
[Serializable()]
|
||||
private class GetDROUsagesByROIDsAndVersionsCriteria
|
||||
{
|
||||
public GetDROUsagesByROIDsAndVersionsCriteria(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 DROUsageInfoList GetDROUsagesByROIDsAndVersions(string roids,string versions)
|
||||
{
|
||||
try
|
||||
{
|
||||
DROUsageInfoList tmp = DataPortal.Fetch<DROUsageInfoList>(new GetDROUsagesByROIDsAndVersionsCriteria(roids,versions));
|
||||
DROUsageInfo.AddList(tmp);
|
||||
tmp.AddEvents();
|
||||
return tmp;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
throw new DbCslaException("Error on DROUsageInfoList.GetDROUsagesByROIDsAndVersions", ex);
|
||||
}
|
||||
}
|
||||
private void DataPortal_Fetch(GetDROUsagesByROIDsAndVersionsCriteria criteria)
|
||||
{
|
||||
this.RaiseListChangedEvents = false;
|
||||
if (_MyLog.IsDebugEnabled) _MyLog.DebugFormat("[{0}] DROUsageInfoList.DataPortal_FetchByROIDsAndVersions", GetHashCode());
|
||||
try
|
||||
{
|
||||
using (SqlConnection cn = Database.VEPROMS_SqlConnection)
|
||||
{
|
||||
using (SqlCommand cm = cn.CreateCommand())
|
||||
{
|
||||
cm.CommandType = CommandType.StoredProcedure;
|
||||
cm.CommandText = "getDRoUsagesByROIDsAndVersions";
|
||||
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 DROUsageInfo(dr));
|
||||
IsReadOnly = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
if (_MyLog.IsErrorEnabled) _MyLog.Error("DROUsageInfoList.DataPortal_FetchByROIDsAndVersions", ex);
|
||||
throw new DbCslaException("DROUsageInfoList.DataPortal_FetchByROIDsAndVersions", ex);
|
||||
}
|
||||
this.RaiseListChangedEvents = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user