69 lines
1.8 KiB
C#
69 lines
1.8 KiB
C#
using System.ComponentModel.DataAnnotations;
|
|
using System.ComponentModel.DataAnnotations.Schema;
|
|
#if NETFRAMEWORK
|
|
using System;
|
|
#endif
|
|
|
|
namespace EnvelopeGenerator.Domain.Entities
|
|
#if NET
|
|
;
|
|
#elif NETFRAMEWORK
|
|
{
|
|
#endif
|
|
|
|
[Table("TBSIG_ENVELOPE_RECEIVER", Schema = "dbo")]
|
|
public class EnvelopeReceiver
|
|
{
|
|
[Column("ENVELOPE_ID")]
|
|
public int EnvelopeId { get; set; }
|
|
|
|
[Column("RECEIVER_ID")]
|
|
public int ReceiverId { get; set; }
|
|
|
|
[Required]
|
|
[Column("SEQUENCE")]
|
|
public int Sequence { get; set; }
|
|
|
|
[Column("NAME", TypeName = "nvarchar(128)")]
|
|
public string Name { get; set; }
|
|
|
|
[Column("JOB_TITLE", TypeName = "nvarchar(128)")]
|
|
public string JobTitle { get; set; }
|
|
|
|
[Column("COMPANY_NAME", TypeName = "nvarchar(128)")]
|
|
public string CompanyName { get; set; }
|
|
|
|
[Column("PRIVATE_MESSAGE", TypeName = "nvarchar(max)")]
|
|
public string PrivateMessage { get; set; }
|
|
|
|
[Column("ACCESS_CODE", TypeName = "nvarchar(64)")]
|
|
public string AccessCode { get; set; }
|
|
|
|
[Required]
|
|
[Column("ADDED_WHEN", TypeName = "datetime")]
|
|
public DateTime AddedWhen { get; set; }
|
|
|
|
[Column("CHANGED_WHEN", TypeName = "datetime")]
|
|
public DateTime ChangedWhen { get; set; }
|
|
|
|
[Column("PHONE_NUMBER")]
|
|
[StringLength(20)]
|
|
[RegularExpression(@"^\+[0-9]+$", ErrorMessage = "Phone number must start with '+' followed by digits.")]
|
|
public string PhoneNumber { get; set; }
|
|
|
|
[NotMapped]
|
|
public Tuple<int, int> Id => Tuple.Create(EnvelopeId, ReceiverId);
|
|
|
|
[NotMapped]
|
|
public bool HasPhoneNumber => !string.IsNullOrWhiteSpace(PhoneNumber);
|
|
|
|
[ForeignKey("EnvelopeId")]
|
|
public Envelope Envelope { get; set; }
|
|
|
|
[ForeignKey("ReceiverId")]
|
|
public Receiver Receiver { get; set; }
|
|
}
|
|
|
|
#if NETFRAMEWORK
|
|
}
|
|
#endif |