C2024-031 Option to Disable reopen closed tabs on PROMS reentry
This commit is contained in:
91
PROMS/VEPROMS.CSLA.Library/Minimal/UserSettings.cs
Normal file
91
PROMS/VEPROMS.CSLA.Library/Minimal/UserSettings.cs
Normal file
@@ -0,0 +1,91 @@
|
||||
using System;
|
||||
using Csla.Data;
|
||||
using System.Data;
|
||||
using System.Data.SqlClient;
|
||||
|
||||
//CSM - C2024-031 - Minimal Class for Saving / Getting User Settings
|
||||
//For Use with getting / saving if a User wishes to have tabs kept open
|
||||
namespace VEPROMS.CSLA.Library
|
||||
{
|
||||
public class UserSettings
|
||||
{
|
||||
#region Private Properties
|
||||
private readonly string _userid;
|
||||
#endregion
|
||||
|
||||
#region Public Properties
|
||||
public bool UserSetting_OpenTabs_Remember { get; protected set; } = false;
|
||||
public bool UserSetting_OpenTabs_AutoOpen { get; protected set; } = true;
|
||||
#endregion
|
||||
|
||||
|
||||
#region Constructor
|
||||
public UserSettings(string UserID)
|
||||
{
|
||||
_userid = UserID;
|
||||
|
||||
try
|
||||
{
|
||||
using (SqlConnection cn = Database.VEPROMS_SqlConnection)
|
||||
{
|
||||
using (SqlCommand cm = cn.CreateCommand())
|
||||
{
|
||||
cm.CommandType = CommandType.Text;
|
||||
cm.CommandText = "Select RememberOpenTabs, AutoOpenTabs FROM Users where UserID = @UID";
|
||||
cm.Parameters.AddWithValue("@UID", _userid);
|
||||
cm.CommandTimeout = Database.DefaultTimeout;
|
||||
using (SafeDataReader dr = new SafeDataReader(cm.ExecuteReader()))
|
||||
{
|
||||
if (dr.Read())
|
||||
{
|
||||
UserSetting_OpenTabs_Remember = (bool) dr.GetValue("RememberOpenTabs");
|
||||
UserSetting_OpenTabs_AutoOpen = (bool) dr.GetValue("AutoOpenTabs");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Database.LogException("UserSettings_GetData", ex);
|
||||
throw new DbCslaException("UserSettings_GetData", ex);
|
||||
}
|
||||
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region Save Properties
|
||||
public void SetUserSettings(bool OpenTabs_Remember, bool? OpenTabs_AutoOpen = null)
|
||||
{
|
||||
try
|
||||
{
|
||||
using (SqlConnection cn = Database.VEPROMS_SqlConnection)
|
||||
{
|
||||
using (SqlCommand cm = cn.CreateCommand())
|
||||
{
|
||||
cm.CommandType = CommandType.StoredProcedure;
|
||||
cm.CommandText = "vesp_UpdateUserSettings";
|
||||
cm.Parameters.AddWithValue("@UID", _userid);
|
||||
UserSetting_OpenTabs_Remember = OpenTabs_Remember;
|
||||
cm.Parameters.AddWithValue("@Remember", OpenTabs_Remember);
|
||||
if (OpenTabs_AutoOpen != null)
|
||||
{
|
||||
UserSetting_OpenTabs_AutoOpen = (bool) OpenTabs_AutoOpen;
|
||||
cm.Parameters.AddWithValue("@AutoOpen", OpenTabs_AutoOpen);
|
||||
}
|
||||
cm.CommandTimeout = Database.DefaultTimeout;
|
||||
|
||||
cm.ExecuteNonQuery();
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Database.LogException("UserSettings_SetUserSettings", ex);
|
||||
throw new DbCslaException("UserSettings_SetUserSettings", ex);
|
||||
}
|
||||
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user