 4994f19997
			
		
	
	4994f19997
	
	
	
		
			
			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;
 | |
| 			}
 | |
| 		}
 | |
| 	}
 | |
| }
 |