Compare commits
	
		
			3 Commits
		
	
	
		
			B2025-049
			...
			C2020-049-
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| baa2ae334b | |||
| 60d7116549 | |||
| 7ca39a4d38 | 
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							@@ -1676,10 +1676,30 @@ namespace VEPROMS
 | 
			
		||||
				{
 | 
			
		||||
					// B2018-091 Allow PROMS to close if only MSWord sections have been opened.
 | 
			
		||||
					// B2019-071 we will now close one or all of the tabs (even step editor ones)
 | 
			
		||||
 | 
			
		||||
					string DisplayTabID = "";
 | 
			
		||||
					int pos;
 | 
			
		||||
					int TabItemID;
 | 
			
		||||
					string DisplayTabName = "";
 | 
			
		||||
					int cnt = 0;
 | 
			
		||||
						// Deactivate previous procedure tab state by user
 | 
			
		||||
					VEPROMS.CSLA.Library.Item.DeactivateStateDisplayTabTmp(MySessionInfo.UserID);
 | 
			
		||||
						// Save current procedure tab state
 | 
			
		||||
					foreach (KeyValuePair<string, DisplayTabItem> pgTab in tc._MyDisplayTabItems)
 | 
			
		||||
					{
 | 
			
		||||
						cnt++;
 | 
			
		||||
						DisplayTabID = pgTab.Key;
 | 
			
		||||
						TabItemID = Int32.Parse(DisplayTabID.Substring(DisplayTabID.IndexOf("Item - ") + 7));
 | 
			
		||||
						DisplayTabName = pgTab.Value.ToString();
 | 
			
		||||
						//tc.SelectedDisplayTabItem.MyStepTabPanel.ToString()
 | 
			
		||||
						VEPROMS.CSLA.Library.Item.AddDisplayTabsState(TabItemID, DisplayTabID, DisplayTabName, MySessionInfo.UserID, cnt);
 | 
			
		||||
					}
 | 
			
		||||
 | 
			
		||||
					int n = tc._MyDisplayTabItems.Count;
 | 
			
		||||
 | 
			
		||||
					while (n-- > 0 && tc._MyDisplayTabItems.Count > 0)
 | 
			
		||||
					{
 | 
			
		||||
 | 
			
		||||
						tc.CloseTabItem(tc.SelectedDisplayTabItem);
 | 
			
		||||
 | 
			
		||||
						// B2019-071 close just the current tab and continue working
 | 
			
		||||
@@ -2320,6 +2340,27 @@ namespace VEPROMS
 | 
			
		||||
					CurrentID = txtSearch.Text;
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
			// Add retrieve displaytabs state here.
 | 
			
		||||
			openDisplaytabstate();
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		public void openDisplaytabstate()
 | 
			
		||||
		{
 | 
			
		||||
			DataTable DisPlayTabState = VEPROMS.CSLA.Library.Item.GetDisplayTabs(VlnSettings.UserID);
 | 
			
		||||
		
 | 
			
		||||
			if (DisPlayTabState.Rows.Count > 0)
 | 
			
		||||
			{
 | 
			
		||||
				foreach (DataRow TabState in DisPlayTabState.Rows)
 | 
			
		||||
				{
 | 
			
		||||
					int _ItemID = (int)TabState["ItemID"];
 | 
			
		||||
					//ItemInfoList _Procedures = ItemInfoList.GetList(_ItemID, (int)E_FromType.Procedure));
 | 
			
		||||
					ItemInfo _Procedure = ItemInfo.Get(_ItemID);
 | 
			
		||||
					//ItemInfo.Get
 | 
			
		||||
					//ItemInfo.Get
 | 
			
		||||
					OpenItem(_Procedure);
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		void tc_RefreshEnhancedDocument(object sender, ItemSelectedChangedEventArgs args)
 | 
			
		||||
 
 | 
			
		||||
@@ -8004,6 +8004,171 @@ namespace VEPROMS.CSLA.Library
 | 
			
		||||
			MyContent.Config = _ProcedureConfig.ToString();
 | 
			
		||||
		}
 | 
			
		||||
		#endregion
 | 
			
		||||
		public class DisplayTabs
 | 
			
		||||
		{
 | 
			
		||||
			private int _ItemID;
 | 
			
		||||
			public int ItemID
 | 
			
		||||
			{
 | 
			
		||||
				get { return _ItemID; }
 | 
			
		||||
				set { _ItemID = value; }
 | 
			
		||||
 | 
			
		||||
			}
 | 
			
		||||
			private string _DisplayTabID;
 | 
			
		||||
			public string DisplayTabID
 | 
			
		||||
			{
 | 
			
		||||
				get { return _DisplayTabID; }
 | 
			
		||||
				set { _DisplayTabID = value; }
 | 
			
		||||
			}
 | 
			
		||||
			private string _DisplayTabName;
 | 
			
		||||
			public string DisplayTabName
 | 
			
		||||
			{
 | 
			
		||||
				get { return _DisplayTabName; }
 | 
			
		||||
				set { _DisplayTabName = value; }
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
			public SafeDataReader Dr { get; }
 | 
			
		||||
 | 
			
		||||
			public DisplayTabs()
 | 
			
		||||
			{
 | 
			
		||||
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
			public DisplayTabs(int itemID, String displayTabID, String displayTabName)
 | 
			
		||||
			{
 | 
			
		||||
				_ItemID = itemID;
 | 
			
		||||
				_DisplayTabID = displayTabID;
 | 
			
		||||
				_DisplayTabName = displayTabName;
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
			public DisplayTabs(SafeDataReader dr)
 | 
			
		||||
			{
 | 
			
		||||
				Dr = dr;
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		public static DataTable GetDisplayTabs(int itemID) //, string displayTabID, string displayTabName)
 | 
			
		||||
		{
 | 
			
		||||
			try
 | 
			
		||||
			{
 | 
			
		||||
				DataTable tmp = DataPortal.Fetch<DataTable>(new DisplayTabs(itemID, "", "")); //, displayTabID, displayTabName));
 | 
			
		||||
																								  //ItemInfo.AddList(tmp);
 | 
			
		||||
																								  //tmp.AddEvents();
 | 
			
		||||
				return tmp;
 | 
			
		||||
			}
 | 
			
		||||
			catch (Exception ex)
 | 
			
		||||
			{
 | 
			
		||||
				throw new DbCslaException("Error on ItemInfoList.GetChildren", ex);
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		private DataTable dt = new DataTable();
 | 
			
		||||
		private DataTable DataPortal_Fetch(DisplayTabs criteria)
 | 
			
		||||
		{
 | 
			
		||||
			
 | 
			
		||||
			using (SqlConnection cn = Database.VEPROMS_SqlConnection)
 | 
			
		||||
			{
 | 
			
		||||
				using (SqlCommand cm = cn.CreateCommand())
 | 
			
		||||
				{
 | 
			
		||||
					try
 | 
			
		||||
					{
 | 
			
		||||
						cm.CommandType = CommandType.StoredProcedure;
 | 
			
		||||
						cm.CommandText = "GetDisplayTabData";
 | 
			
		||||
						cm.CommandTimeout = Database.DefaultTimeout;
 | 
			
		||||
						SqlDataAdapter da = new SqlDataAdapter(cm);
 | 
			
		||||
						da.Fill(dt);
 | 
			
		||||
						cn.Close();
 | 
			
		||||
						da.Dispose();
 | 
			
		||||
						return dt;
 | 
			
		||||
					}
 | 
			
		||||
					catch (Exception ex)
 | 
			
		||||
					{
 | 
			
		||||
						//if (_MyLog.IsErrorEnabled) _MyLog.Error("ItemExt.DataPortal_Fetch", ex);
 | 
			
		||||
						throw new DbCslaException("ItemExt.DataPortal_Fetch", ex);
 | 
			
		||||
					}
 | 
			
		||||
 | 
			
		||||
				}			
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
		}
 | 
			
		||||
		//public static void AddDisplayTabsState(int itemID, string displayTabID, string displayTabName)
 | 
			
		||||
		//{
 | 
			
		||||
		//	try
 | 
			
		||||
		//	{
 | 
			
		||||
		//		//DisplayTabs tmp = 
 | 
			
		||||
		//		DataPortal.Fetch<DisplayTabs>(new DisplayTabs(itemID, displayTabID, displayTabName)); //, displayTabID, displayTabName));
 | 
			
		||||
		//																											  //ItemInfo.AddList(tmp);
 | 
			
		||||
		//																											  //tmp.AddEvents();
 | 
			
		||||
		//		//return tmp;
 | 
			
		||||
		//	}
 | 
			
		||||
		//	catch (Exception ex)
 | 
			
		||||
		//	{
 | 
			
		||||
		//		throw new DbCslaException("Error on ItemInfoList.GetChildren", ex);
 | 
			
		||||
		//	}
 | 
			
		||||
		//}
 | 
			
		||||
		//private DataTable dt = new DataTable();
 | 
			
		||||
		//private void DataPortal_Fetch(int itemID, string displayTabID, string displayTabName)
 | 
			
		||||
		//{
 | 
			
		||||
 | 
			
		||||
		//	using (SqlConnection cn = Database.VEPROMS_SqlConnection)
 | 
			
		||||
		//	{
 | 
			
		||||
		//		using (SqlCommand cm = cn.CreateCommand())
 | 
			
		||||
		//		{
 | 
			
		||||
		//			try
 | 
			
		||||
		//			{
 | 
			
		||||
		//				cm.CommandType = CommandType.StoredProcedure;
 | 
			
		||||
		//				cm.CommandText = "AddDisplayTabState";
 | 
			
		||||
		//				cm.CommandTimeout = Database.DefaultTimeout;
 | 
			
		||||
		//				cm.Parameters.AddWithValue("@ItemID", ItemID);
 | 
			
		||||
		//				cm.Parameters.AddWithValue("@displayTabID", displayTabID);
 | 
			
		||||
		//				cm.Parameters.AddWithValue("@displayTabName", displayTabName);
 | 
			
		||||
		//				cm.ExecuteNonQuery();
 | 
			
		||||
		//				//SqlDataAdapter da = new SqlDataAdapter(cm);
 | 
			
		||||
		//				//da.Fill(dt);
 | 
			
		||||
		//				//cn.Close();
 | 
			
		||||
		//				//da.Dispose();
 | 
			
		||||
		//				//return dt; // fix
 | 
			
		||||
		//			}
 | 
			
		||||
		//			catch (Exception ex)
 | 
			
		||||
		//			{
 | 
			
		||||
		//				//if (_MyLog.IsErrorEnabled) _MyLog.Error("ItemExt.DataPortal_Fetch", ex);
 | 
			
		||||
		//				throw new DbCslaException("ItemExt.DataPortal_Fetch", ex);
 | 
			
		||||
		//			}
 | 
			
		||||
 | 
			
		||||
		//		}
 | 
			
		||||
		//	}
 | 
			
		||||
 | 
			
		||||
		//}
 | 
			
		||||
		public static void AddDisplayTabsState(int itemID, string displayTabID, string displayTabName)
 | 
			
		||||
		//private void DataPortal_Fetch(int itemID, string displayTabID, string displayTabName)
 | 
			
		||||
		{
 | 
			
		||||
 | 
			
		||||
			using (SqlConnection cn = Database.VEPROMS_SqlConnection)
 | 
			
		||||
			{
 | 
			
		||||
				using (SqlCommand cm = cn.CreateCommand())
 | 
			
		||||
				{
 | 
			
		||||
					try
 | 
			
		||||
					{
 | 
			
		||||
						cm.CommandType = CommandType.StoredProcedure;
 | 
			
		||||
						cm.CommandText = "AddDisplayTabState";
 | 
			
		||||
						cm.CommandTimeout = Database.DefaultTimeout;
 | 
			
		||||
						cm.Parameters.AddWithValue("@ItemID", itemID);
 | 
			
		||||
						cm.Parameters.AddWithValue("@displayTabID", displayTabID);
 | 
			
		||||
						cm.Parameters.AddWithValue("@displayTabName", displayTabName);
 | 
			
		||||
						cm.ExecuteNonQuery();
 | 
			
		||||
						//SqlDataAdapter da = new SqlDataAdapter(cm);
 | 
			
		||||
						//da.Fill(dt);
 | 
			
		||||
						//cn.Close();
 | 
			
		||||
						//da.Dispose();
 | 
			
		||||
						//return dt; // fix
 | 
			
		||||
					}
 | 
			
		||||
					catch (Exception ex)
 | 
			
		||||
					{
 | 
			
		||||
						//if (_MyLog.IsErrorEnabled) _MyLog.Error("ItemExt.AddDisplayTabsState", ex);
 | 
			
		||||
						throw new DbCslaException("ItemExt.AddDisplayTabsState", ex);
 | 
			
		||||
					}
 | 
			
		||||
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
	#endregion
 | 
			
		||||
	#region SectionInfo
 | 
			
		||||
 
 | 
			
		||||
@@ -1132,6 +1132,91 @@ namespace VEPROMS.CSLA.Library
 | 
			
		||||
				throw new DbCslaException("Item.Add", ex);
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		public static void DeactivateStateDisplayTabTmp(string UserID)
 | 
			
		||||
		{
 | 
			
		||||
			using (SqlConnection cn = Database.VEPROMS_SqlConnection)
 | 
			
		||||
			{
 | 
			
		||||
				using (SqlCommand cm = cn.CreateCommand())
 | 
			
		||||
				{
 | 
			
		||||
					try
 | 
			
		||||
					{
 | 
			
		||||
						cm.CommandType = CommandType.StoredProcedure;
 | 
			
		||||
						cm.CommandText = "DeactivateStateDisplayTabTmp";
 | 
			
		||||
						cm.CommandTimeout = Database.DefaultTimeout;
 | 
			
		||||
						cm.Parameters.AddWithValue("@UserID", UserID);
 | 
			
		||||
						cm.ExecuteNonQuery();
 | 
			
		||||
					}
 | 
			
		||||
					catch (Exception ex)
 | 
			
		||||
					{
 | 
			
		||||
						//if (_MyLog.IsErrorEnabled) _MyLog.Error("ItemExt.DeactivateStateDisplayTabTmp", ex);
 | 
			
		||||
						throw new DbCslaException("ItemExt.DeactivateStateDisplayTabTmp", ex);
 | 
			
		||||
					}
 | 
			
		||||
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		public static void AddDisplayTabsState(int itemID, string displayTabID, string displayTabName, string UserID, int order)
 | 
			
		||||
		//private void DataPortal_Fetch(int itemID, string displayTabID, string displayTabName)
 | 
			
		||||
		{
 | 
			
		||||
			using (SqlConnection cn = Database.VEPROMS_SqlConnection)
 | 
			
		||||
			{
 | 
			
		||||
				using (SqlCommand cm = cn.CreateCommand())
 | 
			
		||||
				{
 | 
			
		||||
					try
 | 
			
		||||
					{
 | 
			
		||||
						cm.CommandType = CommandType.StoredProcedure;
 | 
			
		||||
						cm.CommandText = "AddDisplayTabState";
 | 
			
		||||
						cm.CommandTimeout = Database.DefaultTimeout;
 | 
			
		||||
						cm.Parameters.AddWithValue("@ItemID", itemID);
 | 
			
		||||
						cm.Parameters.AddWithValue("@displayTabID", displayTabID);
 | 
			
		||||
						cm.Parameters.AddWithValue("@displayTabName", displayTabName);
 | 
			
		||||
						cm.Parameters.AddWithValue("@UserID", UserID);
 | 
			
		||||
						cm.Parameters.AddWithValue("@order", order);
 | 
			
		||||
						cm.ExecuteNonQuery();
 | 
			
		||||
					}
 | 
			
		||||
					catch (Exception ex)
 | 
			
		||||
					{
 | 
			
		||||
						//if (_MyLog.IsErrorEnabled) _MyLog.Error("ItemExt.AddDisplayTabsState", ex);
 | 
			
		||||
						throw new DbCslaException("ItemExt.AddDisplayTabsState", ex);
 | 
			
		||||
					}
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		public static DataTable GetDisplayTabs(string UserID) //, string displayTabID, string displayTabName)
 | 
			
		||||
														   //public static void DeactivateStateDisplayTabTmp(string UserID)
 | 
			
		||||
		{
 | 
			
		||||
			using (SqlConnection cn = Database.VEPROMS_SqlConnection)
 | 
			
		||||
			{
 | 
			
		||||
				using (SqlCommand cm = cn.CreateCommand())
 | 
			
		||||
				{
 | 
			
		||||
					try
 | 
			
		||||
					{
 | 
			
		||||
						cm.CommandType = CommandType.StoredProcedure;
 | 
			
		||||
						cm.CommandText = "GetDisplayTabdata";
 | 
			
		||||
						cm.CommandTimeout = Database.DefaultTimeout;
 | 
			
		||||
						cm.Parameters.AddWithValue("@UserID", UserID);
 | 
			
		||||
						//cm.ExecuteNonQuery();						
 | 
			
		||||
						SqlDataAdapter da = new SqlDataAdapter(cm);
 | 
			
		||||
						//da.Fill(dt);
 | 
			
		||||
						//cn.Close();
 | 
			
		||||
						//da.Dispose();
 | 
			
		||||
						//return dt; // fix
 | 
			
		||||
 | 
			
		||||
						SqlDataReader reader = cm.ExecuteReader();
 | 
			
		||||
						DataTable dt = new DataTable();
 | 
			
		||||
						dt.Load(reader);
 | 
			
		||||
						return dt;
 | 
			
		||||
 | 
			
		||||
					}
 | 
			
		||||
					catch (Exception ex)
 | 
			
		||||
					{
 | 
			
		||||
						//if (_MyLog.IsErrorEnabled) _MyLog.Error("ItemExt.DeactivateStateDisplayTabTmp", ex);
 | 
			
		||||
						throw new DbCslaException("ItemExt.DeactivateStateDisplayTabTmp", ex);
 | 
			
		||||
					}
 | 
			
		||||
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		[Transactional(TransactionalTypes.TransactionScope)]
 | 
			
		||||
		protected override void DataPortal_Update()
 | 
			
		||||
		{
 | 
			
		||||
 
 | 
			
		||||
@@ -16,6 +16,12 @@ namespace Volian.Controls.Library
 | 
			
		||||
	public delegate ItemInfo DisplayTabControlEditorSearchIncTransEvent(object sender, vlnTreeItemInfoEventArgs args);
 | 
			
		||||
	public delegate void DisplayTabControlEvent(object sender, EventArgs args);
 | 
			
		||||
	public delegate void DisplayTabControlStatusEvent(object sender, DisplayTabControlStatusEventArgs args);
 | 
			
		||||
	public class DisplayTabData
 | 
			
		||||
	{
 | 
			
		||||
		public int ItemID { get; set; }
 | 
			
		||||
		public string DisplayTabID { get; set; }
 | 
			
		||||
		public string DisplayTabName { get; set; }
 | 
			
		||||
	}
 | 
			
		||||
	public partial class DisplayTabControlStatusEventArgs : EventArgs
 | 
			
		||||
	{
 | 
			
		||||
		private VolianStatusType _Type;
 | 
			
		||||
@@ -1145,6 +1151,9 @@ namespace Volian.Controls.Library
 | 
			
		||||
			}
 | 
			
		||||
			else // If not already open, create a new Page
 | 
			
		||||
			{
 | 
			
		||||
 | 
			
		||||
				List<DisplayTabData> DisplayTabs = new List<DisplayTabData>();
 | 
			
		||||
 | 
			
		||||
				pg = new DisplayTabItem(this.components, this, proc, key); // Open a new Procedure Tab
 | 
			
		||||
				_MyDisplayTabItems.Add(key, pg);
 | 
			
		||||
				if (setFocus)
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user