-- Found during testing that needed a few additional items that needed to not create hard errors
91 lines
2.4 KiB
C#
91 lines
2.4 KiB
C#
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);
|
|
}
|
|
|
|
}
|
|
#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
|
|
}
|
|
}
|