From ff1e9f27afb0c75c1a9e486105730b352b90cce9 Mon Sep 17 00:00:00 2001 From: TekH Date: Thu, 26 Jun 2025 14:26:21 +0200 Subject: [PATCH] Replace User class with EGUser across the codebase This commit introduces the new `EGUser` class, which replaces the existing `User` class in multiple files, including `EnvelopeModel.vb`, `State.vb`, and `UserModel.vb`. The `EGUser` class extends `User`, adding new properties while maintaining existing functionality. Key changes include: - Updated property types from `User` to `EGUser` in relevant models. - Method signatures in `UserModel.vb` modified to accept and return `EGUser`. - Domain entities in `Envelope.cs` and `EnvelopeHistory.cs` now reference `EGUser`. - Complete removal of the `User.cs` file. - Added a new package reference for `UserManager.Domain` in the project file. - Updated `MYUSER` variable in `ModuleSettings.vb` to use `EGUser`. These changes enhance the user model to better meet application requirements. --- .../Models/EnvelopeModel.vb | 2 +- .../Models/State.vb | 2 +- .../Models/UserModel.vb | 10 +- EnvelopeGenerator.Domain/Entities/EGUser.cs | 50 ++++++++ EnvelopeGenerator.Domain/Entities/Envelope.cs | 2 +- .../Entities/EnvelopeHistory.cs | 2 +- EnvelopeGenerator.Domain/Entities/User.cs | 113 ------------------ .../EnvelopeGenerator.Domain.csproj | 1 + EnvelopeGenerator.Form/ModuleSettings.vb | 2 +- 9 files changed, 61 insertions(+), 123 deletions(-) create mode 100644 EnvelopeGenerator.Domain/Entities/EGUser.cs delete mode 100644 EnvelopeGenerator.Domain/Entities/User.cs diff --git a/EnvelopeGenerator.CommonServices/Models/EnvelopeModel.vb b/EnvelopeGenerator.CommonServices/Models/EnvelopeModel.vb index 297f9e8e..d9926559 100644 --- a/EnvelopeGenerator.CommonServices/Models/EnvelopeModel.vb +++ b/EnvelopeGenerator.CommonServices/Models/EnvelopeModel.vb @@ -37,7 +37,7 @@ Public Class EnvelopeModel .AddedWhen = pRow.Item("ADDED_WHEN"), .ChangedWhen = pRow.ItemEx(Of Date)("CHANGED_WHEN", Nothing), .CertificationType = ObjectEx.ToEnum(Of CertificationType)(pRow.ItemEx("CERTIFICATION_TYPE", CertificationType.AdvancedElectronicSignature.ToString())), - .User = New User(), + .User = New EGUser(), .ExpiresWhen = pRow.ItemEx(Of Date)("EXPIRES_WHEN", Nothing), .ExpiresWarningWhen = pRow.ItemEx(Of Date)("EXPIRES_WARNING_WHEN", Nothing), .ExpiresWhenDays = pRow.ItemEx("EXPIRES_WHEN_DAYS", 0), diff --git a/EnvelopeGenerator.CommonServices/Models/State.vb b/EnvelopeGenerator.CommonServices/Models/State.vb index 1302700f..62b8bf5a 100644 --- a/EnvelopeGenerator.CommonServices/Models/State.vb +++ b/EnvelopeGenerator.CommonServices/Models/State.vb @@ -4,7 +4,7 @@ Imports EnvelopeGenerator.Domain.Entities Public Class State Public Property UserId As Integer - Public Property User As User + Public Property User As EGUser Public Property Config As Config Public Property DbConfig As DbConfig Public Property LogConfig As LogConfig diff --git a/EnvelopeGenerator.CommonServices/Models/UserModel.vb b/EnvelopeGenerator.CommonServices/Models/UserModel.vb index 232b3022..db54d86f 100644 --- a/EnvelopeGenerator.CommonServices/Models/UserModel.vb +++ b/EnvelopeGenerator.CommonServices/Models/UserModel.vb @@ -9,8 +9,8 @@ Public Class UserModel MyBase.New(pState) End Sub - Private Function ToUser(pRow As DataRow) As User - Dim oUser = New User() With { + Private Function ToUser(pRow As DataRow) As EGUser + Dim oUser = New EGUser() With { .Id = pRow.ItemEx("GUID", 0), .Prename = pRow.ItemEx("PRENAME", ""), .Name = pRow.ItemEx("NAME", ""), @@ -22,7 +22,7 @@ Public Class UserModel Return oUser End Function - Public Function CheckUserLogin(pUser As User) As User + Public Function CheckUserLogin(pUser As EGUser) As EGUser Try Dim oSql = $"SELECT * FROM [dbo].[FNDD_LOGIN_USER_MODULE] ('{pUser.Username}', 'SIG_ENV_CR', 1)" Dim oTable As DataTable = Database.GetDatatable(oSql) @@ -45,7 +45,7 @@ Public Class UserModel End Try End Function - Public Function SelectUser() As User + Public Function SelectUser() As EGUser Try Dim oSql = $"SELECT * FROM [dbo].[TBDD_USER] WHERE GUID = {State.UserId}" Dim oTable = Database.GetDatatable(oSql) @@ -58,7 +58,7 @@ Public Class UserModel End Try End Function - Public Function SelectUser(pUserID As Integer) As User + Public Function SelectUser(pUserID As Integer) As EGUser Try Dim oSql = $"SELECT * FROM [dbo].[TBDD_USER] WHERE GUID = {pUserID}" Dim oTable = Database.GetDatatable(oSql) diff --git a/EnvelopeGenerator.Domain/Entities/EGUser.cs b/EnvelopeGenerator.Domain/Entities/EGUser.cs new file mode 100644 index 00000000..06d86e8e --- /dev/null +++ b/EnvelopeGenerator.Domain/Entities/EGUser.cs @@ -0,0 +1,50 @@ +using System.ComponentModel.DataAnnotations.Schema; +using System.ComponentModel.DataAnnotations; +using System.ComponentModel; +using DigitalData.UserManager.Domain.Entities; + +#if NETFRAMEWORK +using System; +#endif + +namespace EnvelopeGenerator.Domain.Entities +{ + [Table("TBDD_USER", Schema = "dbo")] + public class EGUser : User + { + [Required] + [Column("GENERAL_VIEWER")] + [StringLength(30)] + [DefaultValue("NONE")] + public string GeneralViewer { get; set; } + + [Required] + [Column("WAN_ENVIRONMENT")] + public bool WanEnvironment { get; set; } + + [Required] + [Column("USERID_FK_INT_ECM")] + public int UseridFkIntEcm { get; set; } + + [Column("DELETED_WHEN")] + public DateTime DeletedWhen { get; set; } + + [Column("DELETED_WHO")] + [StringLength(50)] + public string DeletedWho { get; set; } + + #region FORM_APP + [NotMapped] + public bool HasAccess { get; set; } + + [NotMapped] + public bool IsAdmin { get; set; } + + [NotMapped] + public bool GhostModeActive { get; set; } + + [NotMapped] + public string FullName => $"{Prename} {Name}"; + #endregion + } +} \ No newline at end of file diff --git a/EnvelopeGenerator.Domain/Entities/Envelope.cs b/EnvelopeGenerator.Domain/Entities/Envelope.cs index 0650a97b..4af599cf 100644 --- a/EnvelopeGenerator.Domain/Entities/Envelope.cs +++ b/EnvelopeGenerator.Domain/Entities/Envelope.cs @@ -113,7 +113,7 @@ namespace EnvelopeGenerator.Domain.Entities // TODO: * Check the Form App and remove the default value [ForeignKey("UserId")] - public User User { get; set; } = new User(); + public EGUser User { get; set; } = new EGUser(); [ForeignKey("EnvelopeTypeId")] public EnvelopeType EnvelopeType { get; set; } diff --git a/EnvelopeGenerator.Domain/Entities/EnvelopeHistory.cs b/EnvelopeGenerator.Domain/Entities/EnvelopeHistory.cs index 835604a8..d7d8b6a2 100644 --- a/EnvelopeGenerator.Domain/Entities/EnvelopeHistory.cs +++ b/EnvelopeGenerator.Domain/Entities/EnvelopeHistory.cs @@ -38,7 +38,7 @@ namespace EnvelopeGenerator.Domain.Entities public string Comment { get; set; } [ForeignKey("UserReference")] - public virtual User Sender { get; set; } + public virtual EGUser Sender { get; set; } [ForeignKey("UserReference")] public virtual Receiver Receiver { get; set; } diff --git a/EnvelopeGenerator.Domain/Entities/User.cs b/EnvelopeGenerator.Domain/Entities/User.cs deleted file mode 100644 index 407a597f..00000000 --- a/EnvelopeGenerator.Domain/Entities/User.cs +++ /dev/null @@ -1,113 +0,0 @@ -using System.ComponentModel.DataAnnotations.Schema; -using System.ComponentModel.DataAnnotations; -using System.ComponentModel; -#if NETFRAMEWORK -using System; -#endif - -namespace EnvelopeGenerator.Domain.Entities -{ - [Table("TBDD_USER", Schema = "dbo")] - public class User - { - [Column("GUID")] - [Key] - [DatabaseGenerated(DatabaseGeneratedOption.Identity)] - public int Id { get; set; } = 0; - - [StringLength(50)] - [Column("ADDED_WHO")] - public string AddedWho { get; set; } - - [StringLength(50)] - [Column("CHANGED_WHO")] - public string ChangedWho { get; set; } - - //TODO: assign it to default value in create dto, not here! - [Column("ADDED_WHEN", TypeName = "datetime")] - [DefaultValue("GETDATE()")] - public DateTime AddedWhen { get; set; } = DateTime.Now; - - [Column("CHANGED_WHEN", TypeName = "datetime")] - public DateTime ChangedWhen { get; set; } - - [Column("PRENAME")] - [StringLength(50)] - public string Prename { get; set; } - - [Column("NAME")] - [StringLength(50)] - public string Name { get; set; } - - [Required] - [Column("USERNAME")] - [StringLength(50)] - public string Username { get; set; } - - [Column("SHORTNAME")] - [StringLength(30)] - public string Shortname { get; set; } - - [Column("EMAIL")] - [StringLength(100)] - public string Email { get; set; } - - [Required] - [Column("LANGUAGE")] - [StringLength(5)] - [DefaultValue("de-DE")] - public string Language { get; set; } - - [Column("COMMENT")] - [StringLength(500)] - public string Comment { get; set; } - - [Column("DELETED")] - public bool Deleted { get; set; } - - [Required] - [Column("DATE_FORMAT")] - [StringLength(10)] - [DefaultValue("dd.MM.yyyy")] - public string DateFormat { get; set; } - - [Required] - [Column("ACTIVE")] - public bool Active { get; set; } - - [Required] - [Column("GENERAL_VIEWER")] - [StringLength(30)] - [DefaultValue("NONE")] - public string GeneralViewer { get; set; } - - [Required] - [Column("WAN_ENVIRONMENT")] - public bool WanEnvironment { get; set; } - - [Required] - [Column("USERID_FK_INT_ECM")] - public int UseridFkIntEcm { get; set; } - - [Column("DELETED_WHEN")] - public DateTime DeletedWhen { get; set; } - - [Column("DELETED_WHO")] - [StringLength(50)] - public string DeletedWho { get; set; } - - #region FORM_APP - [NotMapped] - public bool HasAccess { get; set; } - - [NotMapped] - public bool IsAdmin { get; set; } - - [NotMapped] - public bool GhostModeActive { get; set; } - - [NotMapped] - public string FullName => $"{Prename} {Name}"; - #endregion - } -} \ No newline at end of file diff --git a/EnvelopeGenerator.Domain/EnvelopeGenerator.Domain.csproj b/EnvelopeGenerator.Domain/EnvelopeGenerator.Domain.csproj index 98cc4948..6e5ed056 100644 --- a/EnvelopeGenerator.Domain/EnvelopeGenerator.Domain.csproj +++ b/EnvelopeGenerator.Domain/EnvelopeGenerator.Domain.csproj @@ -33,6 +33,7 @@ + diff --git a/EnvelopeGenerator.Form/ModuleSettings.vb b/EnvelopeGenerator.Form/ModuleSettings.vb index 0075c7ff..edbeba3c 100644 --- a/EnvelopeGenerator.Form/ModuleSettings.vb +++ b/EnvelopeGenerator.Form/ModuleSettings.vb @@ -11,7 +11,7 @@ Module ModuleSettings Public DB_DD_ECM As MSSQLServer = Nothing Public DEF_TF_ENABLED As Boolean = False Public DEF_TF_ENABLED_WITH_PHONE As Boolean = False - Public MYUSER As User + Public MYUSER As EGUser Public MyTempFiles As TempFiles Public SQL_REP_ENV_USER_LM As String = "" Public SQL_REP_ENV_USER_TM As String = ""