C2020-049-Add-the-ability-for-PROMS-to-remember-the-procedure-tabs-that-were-open-when-you-closed-PROMS #417
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.
|
// 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)
|
// 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;
|
int n = tc._MyDisplayTabItems.Count;
|
||||||
|
|
||||||
while (n-- > 0 && tc._MyDisplayTabItems.Count > 0)
|
while (n-- > 0 && tc._MyDisplayTabItems.Count > 0)
|
||||||
{
|
{
|
||||||
|
|
||||||
tc.CloseTabItem(tc.SelectedDisplayTabItem);
|
tc.CloseTabItem(tc.SelectedDisplayTabItem);
|
||||||
|
|
||||||
// B2019-071 close just the current tab and continue working
|
// B2019-071 close just the current tab and continue working
|
||||||
@ -2320,6 +2340,27 @@ namespace VEPROMS
|
|||||||
CurrentID = txtSearch.Text;
|
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)
|
void tc_RefreshEnhancedDocument(object sender, ItemSelectedChangedEventArgs args)
|
||||||
|
@ -8004,6 +8004,171 @@ namespace VEPROMS.CSLA.Library
|
|||||||
MyContent.Config = _ProcedureConfig.ToString();
|
MyContent.Config = _ProcedureConfig.ToString();
|
||||||
}
|
}
|
||||||
#endregion
|
#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
|
#endregion
|
||||||
#region SectionInfo
|
#region SectionInfo
|
||||||
|
@ -1132,6 +1132,91 @@ namespace VEPROMS.CSLA.Library
|
|||||||
throw new DbCslaException("Item.Add", ex);
|
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)]
|
[Transactional(TransactionalTypes.TransactionScope)]
|
||||||
protected override void DataPortal_Update()
|
protected override void DataPortal_Update()
|
||||||
{
|
{
|
||||||
|
@ -16,6 +16,12 @@ namespace Volian.Controls.Library
|
|||||||
public delegate ItemInfo DisplayTabControlEditorSearchIncTransEvent(object sender, vlnTreeItemInfoEventArgs args);
|
public delegate ItemInfo DisplayTabControlEditorSearchIncTransEvent(object sender, vlnTreeItemInfoEventArgs args);
|
||||||
public delegate void DisplayTabControlEvent(object sender, EventArgs args);
|
public delegate void DisplayTabControlEvent(object sender, EventArgs args);
|
||||||
public delegate void DisplayTabControlStatusEvent(object sender, DisplayTabControlStatusEventArgs 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
|
public partial class DisplayTabControlStatusEventArgs : EventArgs
|
||||||
{
|
{
|
||||||
private VolianStatusType _Type;
|
private VolianStatusType _Type;
|
||||||
@ -1145,6 +1151,9 @@ namespace Volian.Controls.Library
|
|||||||
}
|
}
|
||||||
else // If not already open, create a new Page
|
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
|
pg = new DisplayTabItem(this.components, this, proc, key); // Open a new Procedure Tab
|
||||||
_MyDisplayTabItems.Add(key, pg);
|
_MyDisplayTabItems.Add(key, pg);
|
||||||
if (setFocus)
|
if (setFocus)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user