Added logic to speed up RO Value Update Process. Added logic to keep SvgImages from failing if the ImagePath is null.
		
			
				
	
	
		
			247 lines
		
	
	
		
			6.7 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
			
		
		
	
	
			247 lines
		
	
	
		
			6.7 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 DROUsageInfoList
 | 
						|
	{
 | 
						|
		[Serializable()]
 | 
						|
		private class AffectedDROUsagesCriteria
 | 
						|
		{
 | 
						|
			public AffectedDROUsagesCriteria(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 DROUsageInfoList GetAffected(int roDbID, string roid, string roDesc, string command, string versionList)
 | 
						|
		{
 | 
						|
			try
 | 
						|
			{
 | 
						|
				DROUsageInfoList tmp = DataPortal.Fetch<DROUsageInfoList>(new AffectedDROUsagesCriteria(roDbID, roid, roDesc, command, Volian.Base.Library.VlnSettings.UserID, versionList));
 | 
						|
				DROUsageInfo.AddList(tmp);
 | 
						|
				tmp.AddEvents();
 | 
						|
				return tmp;
 | 
						|
			}
 | 
						|
			catch (Exception ex)
 | 
						|
			{
 | 
						|
				throw new DbCslaException("Error on DROUsageInfoList.GetAffected", ex);
 | 
						|
			}
 | 
						|
		}
 | 
						|
		private void DataPortal_Fetch(AffectedDROUsagesCriteria criteria)
 | 
						|
		{
 | 
						|
			this.RaiseListChangedEvents = false;
 | 
						|
			if (_MyLog.IsDebugEnabled) _MyLog.DebugFormat("[{0}] DROUsageInfoList.DataPortal_FetchAffected", GetHashCode());
 | 
						|
			try
 | 
						|
			{
 | 
						|
				using (SqlConnection cn = Database.VEPROMS_SqlConnection)
 | 
						|
				{
 | 
						|
					using (SqlCommand cm = cn.CreateCommand())
 | 
						|
					{
 | 
						|
						cm.CommandType = CommandType.StoredProcedure;
 | 
						|
						cm.CommandText = "getAffectedDRoUsages";
 | 
						|
						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 DROUsageInfo(dr));
 | 
						|
							IsReadOnly = true;
 | 
						|
						}
 | 
						|
					}
 | 
						|
				}
 | 
						|
			}
 | 
						|
			catch (Exception ex)
 | 
						|
			{
 | 
						|
				if (_MyLog.IsErrorEnabled) _MyLog.Error("DROUsageInfoList.DataPortal_FetchAffected", ex);
 | 
						|
				throw new DbCslaException("DROUsageInfoList.DataPortal_Fetch", ex);
 | 
						|
			}
 | 
						|
			this.RaiseListChangedEvents = true;
 | 
						|
		}
 | 
						|
		[Serializable()]
 | 
						|
		private class GetDROUsagesByROIDsCriteria
 | 
						|
		{
 | 
						|
			public GetDROUsagesByROIDsCriteria(string roids)
 | 
						|
			{
 | 
						|
				_ROIDs = roids;
 | 
						|
			}
 | 
						|
			private string _ROIDs;
 | 
						|
			public string ROIDs
 | 
						|
			{
 | 
						|
				get { return _ROIDs; }
 | 
						|
				set { _ROIDs = value; }
 | 
						|
			}
 | 
						|
		}
 | 
						|
		public static DROUsageInfoList GetDROUsagesByROIDs(string roids)
 | 
						|
		{
 | 
						|
			try
 | 
						|
			{
 | 
						|
				DROUsageInfoList tmp = DataPortal.Fetch<DROUsageInfoList>(new GetDROUsagesByROIDsCriteria(roids));
 | 
						|
				DROUsageInfo.AddList(tmp);
 | 
						|
				tmp.AddEvents();
 | 
						|
				return tmp;
 | 
						|
			}
 | 
						|
			catch (Exception ex)
 | 
						|
			{
 | 
						|
				throw new DbCslaException("Error on DROUsageInfoList.GetAffected", ex);
 | 
						|
			}
 | 
						|
		}
 | 
						|
		private void DataPortal_Fetch(GetDROUsagesByROIDsCriteria criteria)
 | 
						|
		{
 | 
						|
			this.RaiseListChangedEvents = false;
 | 
						|
			if (_MyLog.IsDebugEnabled) _MyLog.DebugFormat("[{0}] DROUsageInfoList.DataPortal_FetchByROIDs", GetHashCode());
 | 
						|
			try
 | 
						|
			{
 | 
						|
				using (SqlConnection cn = Database.VEPROMS_SqlConnection)
 | 
						|
				{
 | 
						|
					using (SqlCommand cm = cn.CreateCommand())
 | 
						|
					{
 | 
						|
						cm.CommandType = CommandType.StoredProcedure;
 | 
						|
						cm.CommandText = "getDRoUsagesByROIDs";
 | 
						|
						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 DROUsageInfo(dr));
 | 
						|
							IsReadOnly = true;
 | 
						|
						}
 | 
						|
					}
 | 
						|
				}
 | 
						|
			}
 | 
						|
			catch (Exception ex)
 | 
						|
			{
 | 
						|
				if (_MyLog.IsErrorEnabled) _MyLog.Error("DROUsageInfoList.DataPortal_FetchByROIDs", ex);
 | 
						|
				throw new DbCslaException("DROUsageInfoList.DataPortal_FetchByROIDs", ex);
 | 
						|
			}
 | 
						|
			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;
 | 
						|
		}
 | 
						|
	}
 | 
						|
}
 |