using DigitalData.Core.Abstractions; using DigitalData.UserManager.Domain.Entities; using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; namespace WorkFlow.Domain.Entities { [Table("TBMWF_PROFILE_OBJ_STATE", Schema = "dbo")] public class ProfileObjState : IUnique { [Key] [Column("GUID")] public int Id { get; init; } [Required] [Column("MWF_PROFILE_ID")] public required int ProfileId { get; init; } [Required] [Column("USR_ID")] public required int UserId { get; init; } [Required] [Column("OBJ_ID")] public required long ObjId { get; init; } [Required] [Column("STATE_ID")] public required int StateId { get; init; } [Column("STATE2", TypeName = "nvarchar(3000)")] public string? State2 { get; init; } [Column("STATE3", TypeName = "nvarchar(3000)")] public string? State3 { get; init; } [Column("STATE4", TypeName = "nvarchar(3000)")] public string? State4 { get; init; } [Required] [Column("ADDED_WHO", TypeName = "varchar(30)")] public required string AddedWho { get; init; } [Required] [Column("ADDED_WHEN", TypeName = "datetime")] public required DateTime AddedWhen { get; init; } [ForeignKey("ProfileId")] public Profile? Profile { get; init; } = null; [ForeignKey("UserId")] public User? User { get; init; } = null; [ForeignKey("StateId")] public State? State { get; init; } = null; } }