Compare commits
58 Commits
refactor/s
...
d8200993af
| Author | SHA1 | Date | |
|---|---|---|---|
| d8200993af | |||
| ee98142405 | |||
| c27337a6f5 | |||
| a09ea990ab | |||
| 05888bc57d | |||
| 39af0fe4fd | |||
| f4c61e3bc7 | |||
| 3f5a584399 | |||
| 6aec854a64 | |||
| c360bde103 | |||
| 82d4b0e740 | |||
| 12519f06f7 | |||
| a2471a0c35 | |||
| 4251a24fe9 | |||
| 63a830c8e3 | |||
| acee28ffce | |||
| 50a541c5bf | |||
| d43877db62 | |||
| 242e66cd8d | |||
| e44fa0b7bd | |||
| 4201f7820a | |||
| e095074c22 | |||
| 412f19547f | |||
| b8c00884a9 | |||
| 51d49d68ba | |||
| 4d5ee2b461 | |||
| 8a79ee4126 | |||
| cde9896c01 | |||
| c7d26a87b0 | |||
| 17ceb1f72a | |||
| b2c396c3b2 | |||
|
|
286e17a900 | ||
|
|
a21db6d6c5 | ||
|
|
fe7030b9d7 | ||
|
|
888c04b5c9 | ||
| de2cc62f95 | |||
| 0cfa732d87 | |||
|
|
b14d9169f2 | ||
| be51ca31dd | |||
| bb8d7cd208 | |||
| b6588db615 | |||
| 9a9aa2608b | |||
| 349d65d050 | |||
| 93593226e2 | |||
| 351cead423 | |||
| 07cab88e0d | |||
| faa019355a | |||
| df9bcf3221 | |||
| cda19e2b83 | |||
| 1586009a72 | |||
| 408b1e9f0d | |||
| 9158933333 | |||
| 902848958d | |||
| f5418499a7 | |||
| 47d190d9ea | |||
| 35f46d3182 | |||
| f5733228bf | |||
|
|
260c1c174d |
@@ -3,6 +3,6 @@
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public class DbTriggerParams : Dictionary<string, IEnumerable<string>>
|
||||
public class DbTriggerParams : Dictionary<string, ICollection<string>>
|
||||
{
|
||||
}
|
||||
@@ -1,12 +0,0 @@
|
||||
using DigitalData.Core.Abstraction.Application.Repository;
|
||||
using EnvelopeGenerator.Domain.Entities;
|
||||
|
||||
namespace EnvelopeGenerator.Application.Contracts.Repositories;
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
[Obsolete("Use Read-method returning IReadQuery<TEntity> instead.")]
|
||||
public interface IEnvelopeCertificateRepository : ICRUDRepository<EnvelopeCertificate, int>
|
||||
{
|
||||
}
|
||||
@@ -1,13 +0,0 @@
|
||||
using DigitalData.Core.Abstraction.Application;
|
||||
using EnvelopeGenerator.Application.DTOs;
|
||||
using EnvelopeGenerator.Domain.Entities;
|
||||
|
||||
namespace EnvelopeGenerator.Application.Contracts.Services;
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
[Obsolete("Use MediatR")]
|
||||
public interface IEnvelopeCertificateService : IBasicCRUDService<EnvelopeCertificateDto, EnvelopeCertificate, int>
|
||||
{
|
||||
}
|
||||
@@ -1,50 +0,0 @@
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
|
||||
namespace EnvelopeGenerator.Application.DTOs;
|
||||
|
||||
/// <summary>
|
||||
/// Data Transfer Object representing certificate information for an envelope.
|
||||
/// </summary>
|
||||
[ApiExplorerSettings(IgnoreApi = true)]
|
||||
public class EnvelopeCertificateDto
|
||||
{
|
||||
/// <summary>
|
||||
/// Gets the unique identifier of the certificate.
|
||||
/// </summary>
|
||||
public int Id { get; init; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets the envelope ID associated with the certificate.
|
||||
/// </summary>
|
||||
public int EnvelopeId { get; init; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets the UUID of the envelope.
|
||||
/// </summary>
|
||||
public string EnvelopeUuid { get; init; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// Gets the subject of the envelope.
|
||||
/// </summary>
|
||||
public string EnvelopeSubject { get; init; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// Gets the ID of the creator of the envelope.
|
||||
/// </summary>
|
||||
public int CreatorId { get; init; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets the name of the creator.
|
||||
/// </summary>
|
||||
public string CreatorName { get; init; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// Gets the email address of the creator.
|
||||
/// </summary>
|
||||
public string CreatorEmail { get; init; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// Gets the current status of the envelope.
|
||||
/// </summary>
|
||||
public int EnvelopeStatus { get; init; }
|
||||
}
|
||||
@@ -27,7 +27,6 @@ public class MappingProfile : Profile
|
||||
CreateMap<DocumentStatus, DocumentStatusDto>();
|
||||
CreateMap<EmailTemplate, EmailTemplateDto>();
|
||||
CreateMap<Envelope, EnvelopeDto>();
|
||||
CreateMap<EnvelopeCertificate, EnvelopeCertificateDto>();
|
||||
CreateMap<EnvelopeDocument, EnvelopeDocumentDto>();
|
||||
CreateMap<Domain.Entities.EnvelopeHistory, EnvelopeHistoryDto>();
|
||||
CreateMap<Domain.Entities.EnvelopeHistory, EnvelopeHistoryCreateDto>();
|
||||
@@ -45,7 +44,6 @@ public class MappingProfile : Profile
|
||||
CreateMap<DocumentStatusDto, DocumentStatus>();
|
||||
CreateMap<EmailTemplateDto, EmailTemplate>();
|
||||
CreateMap<EnvelopeDto, Envelope>();
|
||||
CreateMap<EnvelopeCertificateDto, EnvelopeCertificate>();
|
||||
CreateMap<EnvelopeDocumentDto, EnvelopeDocument>();
|
||||
CreateMap<EnvelopeHistoryDto, Domain.Entities.EnvelopeHistory>();
|
||||
CreateMap<EnvelopeHistoryCreateDto, Domain.Entities.EnvelopeHistory>();
|
||||
@@ -54,7 +52,7 @@ public class MappingProfile : Profile
|
||||
CreateMap<ReceiverReadDto, Domain.Entities.Receiver>().ForMember(rcv => rcv.EnvelopeReceivers, rcvReadDto => rcvReadDto.Ignore());
|
||||
CreateMap<ReceiverCreateDto, Domain.Entities.Receiver>();
|
||||
CreateMap<ReceiverUpdateDto, Domain.Entities.Receiver>();
|
||||
CreateMap<EnvelopeReceiverBase, EnvelopeReceiverBasicDto>();
|
||||
CreateMap<Domain.Entities.EnvelopeReceiver, EnvelopeReceiverBasicDto>();
|
||||
CreateMap<EnvelopeReceiverReadOnlyCreateDto, Domain.Entities.EnvelopeReceiverReadOnly>();
|
||||
CreateMap<EnvelopeReceiverReadOnlyUpdateDto, Domain.Entities.EnvelopeReceiverReadOnly>();
|
||||
|
||||
|
||||
@@ -33,12 +33,10 @@ public static class DependencyInjection
|
||||
services.TryAddScoped<IDocumentStatusService, DocumentStatusService>();
|
||||
services.TryAddScoped<IEmailTemplateService, EmailTemplateService>();
|
||||
services.TryAddScoped<IEnvelopeService, EnvelopeService>();
|
||||
services.TryAddScoped<IEnvelopeCertificateService, EnvelopeCertificateService>();
|
||||
services.TryAddScoped<IEnvelopeDocumentService, EnvelopeDocumentService>();
|
||||
services.TryAddScoped<IEnvelopeReceiverService, EnvelopeReceiverService>();
|
||||
services.TryAddScoped<IEnvelopeTypeService, EnvelopeTypeService>();
|
||||
services.TryAddScoped<IReceiverService, ReceiverService>();
|
||||
services.TryAddScoped<IUserReceiverService, UserReceiverService>();
|
||||
services.TryAddScoped<IEnvelopeReceiverReadOnlyService, EnvelopeReceiverReadOnlyService>();
|
||||
|
||||
//Auto mapping profiles
|
||||
|
||||
@@ -20,11 +20,22 @@
|
||||
<PackageReference Include="DigitalData.EmailProfilerDispatcher" Version="3.1.1" />
|
||||
<PackageReference Include="MediatR" Version="12.5.0" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="7.0.18" />
|
||||
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="9.0.5" />
|
||||
<PackageReference Include="Otp.NET" Version="1.4.0" />
|
||||
<PackageReference Include="QRCoder" Version="1.6.0" />
|
||||
<PackageReference Include="QRCoder-ImageSharp" Version="0.10.0" />
|
||||
<PackageReference Include="UserManager" Version="1.1.1" />
|
||||
<PackageReference Include="UserManager" Version="1.1.3" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup Condition="'$(TargetFramework)' == 'net7.0'">
|
||||
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="8.0.0" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup Condition="'$(TargetFramework)' == 'net8.0'">
|
||||
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="9.0.5" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup Condition="'$(TargetFramework)' == 'net9.0'">
|
||||
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="9.0.5" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
||||
@@ -74,4 +74,9 @@ public static class Key
|
||||
///
|
||||
/// </summary>
|
||||
public static readonly string Default = nameof(Default);
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public static readonly string DbMigrationTest = nameof(DbMigrationTest);
|
||||
}
|
||||
@@ -1,25 +0,0 @@
|
||||
using AutoMapper;
|
||||
using DigitalData.Core.Application;
|
||||
using EnvelopeGenerator.Application.DTOs;
|
||||
using EnvelopeGenerator.Domain.Entities;
|
||||
using EnvelopeGenerator.Application.Contracts.Repositories;
|
||||
using EnvelopeGenerator.Application.Contracts.Services;
|
||||
|
||||
namespace EnvelopeGenerator.Application.Services;
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
[Obsolete("Use MediatR")]
|
||||
public class EnvelopeCertificateService : BasicCRUDService<IEnvelopeCertificateRepository, EnvelopeCertificateDto, EnvelopeCertificate, int>, IEnvelopeCertificateService
|
||||
{
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
/// <param name="repository"></param>
|
||||
/// <param name="mapper"></param>
|
||||
public EnvelopeCertificateService(IEnvelopeCertificateRepository repository, IMapper mapper)
|
||||
: base(repository, mapper)
|
||||
{
|
||||
}
|
||||
}
|
||||
@@ -44,11 +44,11 @@ private readonly IAuthenticator _authenticator;
|
||||
public EnvelopeMailService(IEmailOutRepository repository, IMapper mapper, IEmailTemplateService tempService, IEnvelopeReceiverService envelopeReceiverService, IOptions<DispatcherParams> dispatcherConfigOptions, IConfigService configService, IOptions<MailParams> mailConfig, IAuthenticator authenticator) : base(repository, mapper)
|
||||
{
|
||||
_tempService = tempService;
|
||||
_envRcvService = envelopeReceiverService;
|
||||
_dConfig = dispatcherConfigOptions.Value;
|
||||
_configService = configService;
|
||||
_placeholders = mailConfig.Value.Placeholders;
|
||||
_authenticator = authenticator;
|
||||
_envRcvService = envelopeReceiverService;
|
||||
_dConfig = dispatcherConfigOptions.Value;
|
||||
_configService = configService;
|
||||
_placeholders = new Dictionary<string, string>(mailConfig.Value.Placeholders);
|
||||
_authenticator = authenticator;
|
||||
}
|
||||
|
||||
private async Task<Dictionary<string, string>> CreatePlaceholders(string? accessCode = null, EnvelopeReceiverDto? envelopeReceiverDto = null)
|
||||
|
||||
@@ -84,8 +84,8 @@
|
||||
<Reference Include="DigitalData.Modules.Logging, Version=2.6.5.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\DigitalData.Modules.Logging.2.6.5\lib\net462\DigitalData.Modules.Logging.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="DigitalData.UserManager.Domain, Version=3.2.1.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\UserManager.Domain.3.2.1\lib\net462\DigitalData.UserManager.Domain.dll</HintPath>
|
||||
<Reference Include="DigitalData.UserManager.Domain, Version=3.2.3.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\UserManager.Domain.3.2.3\lib\net462\DigitalData.UserManager.Domain.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="DocumentFormat.OpenXml, Version=3.2.0.0, Culture=neutral, PublicKeyToken=8fb06cb64d019a17, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\DocumentFormat.OpenXml.3.2.0\lib\net46\DocumentFormat.OpenXml.dll</HintPath>
|
||||
|
||||
@@ -27,6 +27,7 @@ Public Class EnvelopeModel
|
||||
Dim oEnvelope = New Envelope() With {
|
||||
.Id = pRow.ItemEx("GUID", 0),
|
||||
.Title = pRow.ItemEx("TITLE", ""),
|
||||
.Comment = pRow.ItemEx("COMMENT", ""),
|
||||
.EnvelopeTypeId = pRow.ItemEx("ENVELOPE_TYPE", 0),
|
||||
.ContractType = pRow.ItemEx("CONTRACT_TYPE", 0),
|
||||
.Uuid = pRow.ItemEx("ENVELOPE_UUID", ""),
|
||||
@@ -63,7 +64,7 @@ Public Class EnvelopeModel
|
||||
oEnvelope.Receivers = ReceiverModel.ListEnvelopeReceivers(oEnvelope.Id)
|
||||
oEnvelope.Documents = DocumentModel.List(oEnvelope.Id)
|
||||
oEnvelope.History = HistoryModel.List(oEnvelope.Id)
|
||||
oEnvelope.EnvelopeType = EnvelopeTypeModel.GetById(oEnvelope.EnvelopeTypeId)
|
||||
oEnvelope.Type = EnvelopeTypeModel.GetById(oEnvelope.EnvelopeTypeId)
|
||||
|
||||
Return oEnvelope
|
||||
End Function
|
||||
|
||||
@@ -57,7 +57,9 @@ Public Class ActionService
|
||||
Public Function ResendReceiver(pEnvelope As Domain.Entities.Envelope, pReceiver As Receiver) As Boolean
|
||||
Return EmailService.SendDocumentReceivedEmail(pEnvelope, pReceiver)
|
||||
End Function
|
||||
|
||||
Public Function ManuallySendAccessCode(pEnvelope As Domain.Entities.Envelope, pReceiver As Receiver) As Boolean
|
||||
Return EmailService.SendDocumentAccessCodeReceivedEmail(pEnvelope, pReceiver)
|
||||
End Function
|
||||
|
||||
Public Function DeleteEnvelope(pEnvelope As Domain.Entities.Envelope, pReason As String) As Boolean
|
||||
Dim oStatus As EnvelopeStatus
|
||||
|
||||
@@ -325,7 +325,11 @@ Namespace My.Resources
|
||||
Return ResourceManager.GetString("Invitation successfully resend", resourceCulture)
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public Shared ReadOnly Property AccessCode_successfully_send() As String
|
||||
Get
|
||||
Return ResourceManager.GetString("AccessCode manually send", resourceCulture)
|
||||
End Get
|
||||
End Property
|
||||
'''<summary>
|
||||
''' Sucht eine lokalisierte Zeichenfolge, die Fehlendes Dokument ähnelt.
|
||||
'''</summary>
|
||||
|
||||
@@ -43,5 +43,5 @@
|
||||
<package id="System.Text.Json" version="8.0.5" targetFramework="net462" />
|
||||
<package id="System.Threading.Tasks.Extensions" version="4.5.4" targetFramework="net462" />
|
||||
<package id="System.ValueTuple" version="4.5.0" targetFramework="net462" />
|
||||
<package id="UserManager.Domain" version="3.2.1" targetFramework="net462" />
|
||||
<package id="UserManager.Domain" version="3.2.3" targetFramework="net462" />
|
||||
</packages>
|
||||
@@ -2,22 +2,30 @@
|
||||
using System.ComponentModel.DataAnnotations.Schema;
|
||||
|
||||
namespace EnvelopeGenerator.Domain.Entities
|
||||
{
|
||||
[Table("TBSIG_CONFIG", Schema = "dbo")]
|
||||
public class Config
|
||||
#if NET
|
||||
;
|
||||
#elif NETFRAMEWORK
|
||||
{
|
||||
[Column("SENDING_PROFILE", TypeName = "int")]
|
||||
[Required]
|
||||
public int SendingProfile { get; set; }
|
||||
#endif
|
||||
|
||||
[Column("SIGNATURE_HOST", TypeName = "nvarchar(128)")]
|
||||
[Required]
|
||||
public string SignatureHost { get; set; }
|
||||
[Table("TBSIG_CONFIG", Schema = "dbo")]
|
||||
public class Config
|
||||
{
|
||||
[Column("SENDING_PROFILE", TypeName = "int")]
|
||||
[Required]
|
||||
public int SendingProfile { get; set; }
|
||||
|
||||
[Column("EXTERNAL_PROGRAM_NAME", TypeName = "nvarchar(30)")]
|
||||
public string ExternalProgramName { get; set; }
|
||||
[Column("SIGNATURE_HOST", TypeName = "nvarchar(128)")]
|
||||
[Required]
|
||||
public string SignatureHost { get; set; }
|
||||
|
||||
[Column("EXPORT_PATH", TypeName = "nvarchar(256)")]
|
||||
public string ExportPath { get; set; }
|
||||
}
|
||||
[Column("EXTERNAL_PROGRAM_NAME", TypeName = "nvarchar(30)")]
|
||||
public string ExternalProgramName { get; set; }
|
||||
|
||||
[Column("EXPORT_PATH", TypeName = "nvarchar(256)")]
|
||||
public string ExportPath { get; set; }
|
||||
}
|
||||
|
||||
#if NETFRAMEWORK
|
||||
}
|
||||
#endif
|
||||
@@ -6,93 +6,110 @@ using System;
|
||||
#endif
|
||||
|
||||
namespace EnvelopeGenerator.Domain.Entities
|
||||
#if NET
|
||||
;
|
||||
#elif NETFRAMEWORK
|
||||
{
|
||||
#endif
|
||||
|
||||
[Table("TBSIG_DOCUMENT_RECEIVER_ELEMENT", Schema = "dbo")]
|
||||
public class DocumentReceiverElement
|
||||
{
|
||||
[Table("TBSIG_DOCUMENT_RECEIVER_ELEMENT", Schema = "dbo")]
|
||||
public class DocumentReceiverElement
|
||||
public DocumentReceiverElement()
|
||||
{
|
||||
// TODO: * Check the Form App and remove the default value
|
||||
[Key]
|
||||
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
|
||||
[Column("GUID")]
|
||||
public int Id { get; set; } = -1;
|
||||
|
||||
[Required]
|
||||
[Column("DOCUMENT_ID")]
|
||||
public int DocumentId { get; set; }
|
||||
|
||||
[Required]
|
||||
[Column("RECEIVER_ID")]
|
||||
public int ReceiverId { get; set; }
|
||||
|
||||
[Required]
|
||||
[Column("ELEMENT_TYPE")]
|
||||
[DefaultValue(0)]
|
||||
public int ElementType { get; set; }
|
||||
|
||||
[Required]
|
||||
[Column("POSITION_X")]
|
||||
[DefaultValue(0)]
|
||||
public double X { get; set; }
|
||||
|
||||
[Required]
|
||||
[Column("POSITION_Y")]
|
||||
[DefaultValue(0)]
|
||||
public double Y { get; set; }
|
||||
|
||||
[Required]
|
||||
[Column("WIDTH")]
|
||||
[DefaultValue(0)]
|
||||
public double Width { get; set; }
|
||||
|
||||
[Required]
|
||||
[Column("HEIGHT")]
|
||||
[DefaultValue(0)]
|
||||
public double Height { get; set; }
|
||||
|
||||
[Required]
|
||||
[Column("PAGE")]
|
||||
[DefaultValue(1)]
|
||||
public int Page { get; set; }
|
||||
|
||||
// TODO: * Check the Form App and remove the default value
|
||||
[Required]
|
||||
[Column("REQUIRED")]
|
||||
[DefaultValue(false)]
|
||||
public bool Required { get; set; } = false;
|
||||
|
||||
[Column("TOOLTIP")]
|
||||
public string Tooltip { get; set; }
|
||||
|
||||
// TODO: * Check the Form App and remove the default value
|
||||
[Required]
|
||||
[Column("READ_ONLY")]
|
||||
[DefaultValue(false)]
|
||||
public bool ReadOnly { get; set; } = false;
|
||||
|
||||
// TODO: * Check the Form App and remove the default value
|
||||
[Required]
|
||||
[Column("ANNOTATION_INDEX")]
|
||||
[DefaultValue(0)]
|
||||
public int AnnotationIndex { get; set; } = 0;
|
||||
|
||||
[Required]
|
||||
[Column("ADDED_WHEN", TypeName = "datetime")]
|
||||
[DefaultValue("GETDATE()")]
|
||||
public DateTime AddedWhen { get; set; }
|
||||
|
||||
[Column("CHANGED_WHEN", TypeName = "datetime")]
|
||||
public DateTime ChangedWhen { get; set; }
|
||||
|
||||
[ForeignKey("DocumentId")]
|
||||
public virtual EnvelopeDocument Document { get; set; }
|
||||
|
||||
[ForeignKey("ReceiverId")]
|
||||
public virtual Receiver Receiver { get; set; }
|
||||
|
||||
[NotMapped]
|
||||
public double Top => Math.Round(Y, 5);
|
||||
|
||||
[NotMapped]
|
||||
public double Left => Math.Round(X, 5);
|
||||
#if NETFRAMEWORK
|
||||
Id = -1;
|
||||
Required = false;
|
||||
ReadOnly = false;
|
||||
AnnotationIndex = 0;
|
||||
#endif
|
||||
}
|
||||
|
||||
[Key]
|
||||
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
|
||||
[Column("GUID")]
|
||||
public int Id { get; set; }
|
||||
|
||||
[Required]
|
||||
[Column("DOCUMENT_ID")]
|
||||
public int DocumentId { get; set; }
|
||||
|
||||
[Required]
|
||||
[Column("RECEIVER_ID")]
|
||||
public int ReceiverId { get; set; }
|
||||
|
||||
[Required]
|
||||
[Column("ELEMENT_TYPE")]
|
||||
[DefaultValue(0)]
|
||||
public int ElementType { get; set; }
|
||||
|
||||
[Required]
|
||||
[Column("POSITION_X")]
|
||||
[DefaultValue(0)]
|
||||
public double X { get; set; }
|
||||
|
||||
[Required]
|
||||
[Column("POSITION_Y")]
|
||||
[DefaultValue(0)]
|
||||
public double Y { get; set; }
|
||||
|
||||
[Required]
|
||||
[Column("WIDTH")]
|
||||
[DefaultValue(0)]
|
||||
public double Width { get; set; }
|
||||
|
||||
[Required]
|
||||
[Column("HEIGHT")]
|
||||
[DefaultValue(0)]
|
||||
public double Height { get; set; }
|
||||
|
||||
[Required]
|
||||
[Column("PAGE")]
|
||||
[DefaultValue(1)]
|
||||
public int Page { get; set; }
|
||||
|
||||
[Required]
|
||||
[Column("REQUIRED")]
|
||||
[DefaultValue(false)]
|
||||
public bool Required { get; set; }
|
||||
|
||||
[Column("TOOLTIP")]
|
||||
public string Tooltip { get; set; }
|
||||
|
||||
[Required]
|
||||
[Column("READ_ONLY")]
|
||||
[DefaultValue(false)]
|
||||
public bool ReadOnly { get; set; }
|
||||
|
||||
[Required]
|
||||
[Column("ANNOTATION_INDEX")]
|
||||
[DefaultValue(0)]
|
||||
public int AnnotationIndex { get; set; }
|
||||
|
||||
[Required]
|
||||
[Column("ADDED_WHEN", TypeName = "datetime")]
|
||||
[DefaultValue("GETDATE()")]
|
||||
public DateTime AddedWhen { get; set; }
|
||||
|
||||
[Column("CHANGED_WHEN", TypeName = "datetime")]
|
||||
public DateTime ChangedWhen { get; set; }
|
||||
|
||||
[ForeignKey("DocumentId")]
|
||||
public virtual EnvelopeDocument Document { get; set; }
|
||||
|
||||
[ForeignKey("ReceiverId")]
|
||||
public virtual Receiver Receiver { get; set; }
|
||||
|
||||
#if NETFRAMEWORK
|
||||
[NotMapped]
|
||||
public double Top => Math.Round(Y, 5);
|
||||
|
||||
[NotMapped]
|
||||
public double Left => Math.Round(X, 5);
|
||||
#endif
|
||||
}
|
||||
|
||||
#if NETFRAMEWORK
|
||||
}
|
||||
#endif
|
||||
@@ -5,45 +5,44 @@ using System;
|
||||
#endif
|
||||
|
||||
namespace EnvelopeGenerator.Domain.Entities
|
||||
{
|
||||
[Table("TBSIG_DOCUMENT_STATUS", Schema = "dbo")]
|
||||
public class DocumentStatus
|
||||
#if NET
|
||||
;
|
||||
#elif NETFRAMEWORK
|
||||
{
|
||||
[Key]
|
||||
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
|
||||
[Column("GUID")]
|
||||
public int Id { get; set; }
|
||||
|
||||
[Required]
|
||||
[Column("ENVELOPE_ID")]
|
||||
public int EnvelopeId { get; set; }
|
||||
|
||||
[Required]
|
||||
[Column("RECEIVER_ID")]
|
||||
public int ReceiverId { get; set; }
|
||||
#endif
|
||||
|
||||
[Table("TBSIG_DOCUMENT_STATUS", Schema = "dbo")]
|
||||
public class DocumentStatus
|
||||
{
|
||||
public DocumentStatus()
|
||||
{
|
||||
// TODO: * check Form Application and remove default value
|
||||
[Required]
|
||||
[Column("STATUS")]
|
||||
public Constants.DocumentStatus Status { get; set; } = Constants.DocumentStatus.Created;
|
||||
|
||||
[Column("STATUS_CHANGED_WHEN", TypeName = "datetime")]
|
||||
public DateTime StatusChangedWhen { get; set; }
|
||||
|
||||
[Column("VALUE", TypeName = "nvarchar(max)")]
|
||||
public string Value { get; set; }
|
||||
|
||||
[Required]
|
||||
[Column("ADDED_WHEN", TypeName = "datetime")]
|
||||
public DateTime AddedWhen { get; set; }
|
||||
|
||||
[Column("CHANGED_WHEN", TypeName = "datetime")]
|
||||
public DateTime ChangedWhen { get; set; }
|
||||
|
||||
[ForeignKey("EnvelopeId")]
|
||||
public virtual Envelope Envelope { get; set; }
|
||||
|
||||
[ForeignKey("ReceiverId")]
|
||||
public virtual Receiver Receiver { get; set; }
|
||||
#if NETFRAMEWORK
|
||||
Status = Constants.DocumentStatus.Created;
|
||||
#endif
|
||||
}
|
||||
|
||||
[Key]
|
||||
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
|
||||
[Column("GUID")]
|
||||
public int Id { get; set; }
|
||||
|
||||
[Required]
|
||||
[Column("ENVELOPE_ID")]
|
||||
public int EnvelopeId { get; set; }
|
||||
|
||||
[Required]
|
||||
[Column("RECEIVER_ID")]
|
||||
public int ReceiverId { get; set; }
|
||||
|
||||
[Required]
|
||||
[Column("STATUS")]
|
||||
public Constants.DocumentStatus Status { get; set; }
|
||||
|
||||
[Column("VALUE", TypeName = "nvarchar(max)")]
|
||||
public string Value { get; set; }
|
||||
}
|
||||
|
||||
#if NETFRAMEWORK
|
||||
}
|
||||
#endif
|
||||
@@ -6,30 +6,38 @@ using System;
|
||||
#endif
|
||||
|
||||
namespace EnvelopeGenerator.Domain.Entities
|
||||
{
|
||||
[Table("TBSIG_EMAIL_TEMPLATE", Schema = "dbo")]
|
||||
public class EmailTemplate
|
||||
#if NET
|
||||
;
|
||||
#elif NETFRAMEWORK
|
||||
{
|
||||
[Key]
|
||||
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
|
||||
[Column("GUID")]
|
||||
public int Id { get; set; }
|
||||
#endif
|
||||
|
||||
[Column("NAME", TypeName = "nvarchar(64)")]
|
||||
public string Name { get; set; }
|
||||
[Table("TBSIG_EMAIL_TEMPLATE", Schema = "dbo")]
|
||||
public class EmailTemplate
|
||||
{
|
||||
[Key]
|
||||
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
|
||||
[Column("GUID")]
|
||||
public int Id { get; set; }
|
||||
|
||||
[Column("BODY", TypeName = "nvarchar(max)")]
|
||||
public string Body { get; set; }
|
||||
[Column("NAME", TypeName = "nvarchar(64)")]
|
||||
public string Name { get; set; }
|
||||
|
||||
[Column("SUBJECT", TypeName = "nvarchar(512)")]
|
||||
public string Subject { get; set; }
|
||||
[Column("BODY", TypeName = "nvarchar(max)")]
|
||||
public string Body { get; set; }
|
||||
|
||||
[Required]
|
||||
[Column("ADDED_WHEN", TypeName = "datetime")]
|
||||
[DefaultValue("GETDATE()")]
|
||||
public DateTime AddedWhen { get; set; }
|
||||
[Column("SUBJECT", TypeName = "nvarchar(512)")]
|
||||
public string Subject { get; set; }
|
||||
|
||||
[Column("CHANGED_WHEN", TypeName = "datetime")]
|
||||
public DateTime ChangedWhen { get; set; }
|
||||
}
|
||||
[Required]
|
||||
[Column("ADDED_WHEN", TypeName = "datetime")]
|
||||
[DefaultValue("GETDATE()")]
|
||||
public DateTime AddedWhen { get; set; }
|
||||
|
||||
[Column("CHANGED_WHEN", TypeName = "datetime")]
|
||||
public DateTime ChangedWhen { get; set; }
|
||||
}
|
||||
|
||||
#if NETFRAMEWORK
|
||||
}
|
||||
#endif
|
||||
@@ -8,158 +8,174 @@ using System.Linq;
|
||||
#endif
|
||||
|
||||
namespace EnvelopeGenerator.Domain.Entities
|
||||
#if NET
|
||||
;
|
||||
#elif NETFRAMEWORK
|
||||
{
|
||||
#endif
|
||||
|
||||
[Table("TBSIG_ENVELOPE", Schema = "dbo")]
|
||||
public class Envelope
|
||||
{
|
||||
[Table("TBSIG_ENVELOPE", Schema = "dbo")]
|
||||
public class Envelope
|
||||
public Envelope()
|
||||
{
|
||||
// TODO: * Check the Form App and remove the default value
|
||||
[Key]
|
||||
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
|
||||
[Column("GUID")]
|
||||
public int Id { get; set; } = 0;
|
||||
|
||||
[Required]
|
||||
[Column("USER_ID")]
|
||||
public int UserId { get; set; }
|
||||
|
||||
// TODO: * Check the Form App and remove the default value
|
||||
[Required]
|
||||
[Column("STATUS")]
|
||||
public int Status { get; set; } = (int)Constants.EnvelopeStatus.EnvelopeCreated;
|
||||
|
||||
[NotMapped]
|
||||
public string StatusName => ((Constants.EnvelopeStatus)Status).ToString();
|
||||
|
||||
// TODO: The default value is set to 0. Check the Form App to remove this
|
||||
[Required]
|
||||
[Column("ENVELOPE_UUID", TypeName = "nvarchar(36)")]
|
||||
public string Uuid { get; set; } = Guid.NewGuid().ToString();
|
||||
|
||||
// TODO: * Check the Form App and remove the default value
|
||||
[Column("MESSAGE", TypeName = "nvarchar(max)")]
|
||||
public string Message { get; set; } = My.Resources.Envelope.Please_read_and_sign_this_document;
|
||||
|
||||
[Column("EXPIRES_WHEN", TypeName = "datetime")]
|
||||
public DateTime ExpiresWhen { get; set; }
|
||||
|
||||
[Column("EXPIRES_WARNING_WHEN", TypeName = "datetime")]
|
||||
public DateTime ExpiresWarningWhen { get; set; }
|
||||
|
||||
[Required]
|
||||
[Column("ADDED_WHEN", TypeName = "datetime")]
|
||||
public DateTime AddedWhen { get; set; }
|
||||
|
||||
[Column("CHANGED_WHEN", TypeName = "datetime")]
|
||||
public DateTime ChangedWhen { get; set; }
|
||||
|
||||
// TODO: * Check the Form App and remove the default value
|
||||
[Column("TITLE", TypeName = "nvarchar(128)")]
|
||||
public string Title { get; set; } = string.Empty;
|
||||
|
||||
[Column("CONTRACT_TYPE")]
|
||||
public int ContractType { get; set; }
|
||||
|
||||
// TODO: * Check the Form App and remove the default value
|
||||
[NotMapped]
|
||||
public string ContractTypeTranslated => My.Resources.Model.ResourceManager.GetString(ContractType.ToString());
|
||||
|
||||
// TODO: * Check the Form App and remove the default value
|
||||
[Column("LANGUAGE", TypeName = "nvarchar(5)")]
|
||||
public string Language { get; set; } = "de-DE";
|
||||
|
||||
// TODO: * Check the Form App and remove the default value
|
||||
[Column("SEND_REMINDER_EMAILS")]
|
||||
public bool SendReminderEmails { get; set; } = false;
|
||||
|
||||
// TODO: * Check the Form App and remove the default value
|
||||
[Column("FIRST_REMINDER_DAYS")]
|
||||
public int FirstReminderDays { get; set; } = 0;
|
||||
|
||||
// TODO: * Check the Form App and remove the default value
|
||||
[Column("REMINDER_INTERVAL_DAYS")]
|
||||
public int ReminderIntervalDays { get; set; } = 0;
|
||||
|
||||
[Column("ENVELOPE_TYPE")]
|
||||
public int EnvelopeTypeId { get; set; }
|
||||
|
||||
// TODO: * Check the Form App and remove the default value
|
||||
[Column("CERTIFICATION_TYPE")]
|
||||
public int CertificationType { get; set; } = (int)Constants.CertificationType.AdvancedElectronicSignature;
|
||||
|
||||
// TODO: * Check the Form App and remove the default value
|
||||
[Column("USE_ACCESS_CODE")]
|
||||
public bool UseAccessCode { get; set; } = false;
|
||||
|
||||
[Column("FINAL_EMAIL_TO_CREATOR")]
|
||||
public int FinalEmailToCreator { get; set; }
|
||||
|
||||
[Column("FINAL_EMAIL_TO_RECEIVERS")]
|
||||
public int FinalEmailToReceivers { get; set; }
|
||||
|
||||
[Column("EXPIRES_WHEN_DAYS")]
|
||||
public int ExpiresWhenDays { get; set; }
|
||||
|
||||
[Column("EXPIRES_WARNING_WHEN_DAYS")]
|
||||
public int ExpiresWarningWhenDays { get; set; }
|
||||
|
||||
// TODO: * Check the Form App and remove the default value
|
||||
[Column("TFA_ENABLED", TypeName = "bit")]
|
||||
public bool TFAEnabled { get; set; } = false;
|
||||
|
||||
[Column("DOC_RESULT", TypeName = "varbinary(max)")]
|
||||
public byte[] DocResult { get; set; }
|
||||
|
||||
[NotMapped]
|
||||
public string CURRENT_WORK_APP { get; set; } = "signFLOW GUI";
|
||||
|
||||
// TODO: * Check the Form App and remove the default value
|
||||
[ForeignKey("UserId")]
|
||||
public User User { get; set; }
|
||||
|
||||
[ForeignKey("EnvelopeTypeId")]
|
||||
public EnvelopeType EnvelopeType { get; set; }
|
||||
|
||||
[NotMapped]
|
||||
public string EnvelopeTypeTitle => EnvelopeType?.Title;
|
||||
|
||||
[NotMapped]
|
||||
public bool IsAlreadySent => Status > (int)Constants.EnvelopeStatus.EnvelopeSaved;
|
||||
|
||||
[NotMapped]
|
||||
public string StatusTranslated => My.Resources.Model.ResourceManager.GetString(Status.ToString());
|
||||
|
||||
[NotMapped]
|
||||
public bool TFA_Enabled { get; set; } = false;
|
||||
|
||||
[NotMapped]
|
||||
public byte[] DOC_RESULT { get; set; }
|
||||
|
||||
// TODO: * Check the Form App and remove the default value
|
||||
public List<EnvelopeDocument> Documents { get; set; } = new List<EnvelopeDocument>();
|
||||
|
||||
// TODO: * Check the Form App and remove the default value
|
||||
public List<EnvelopeHistory> History { get; set; } = new List<EnvelopeHistory>();
|
||||
|
||||
// TODO: * Check the Form App and remove the default value
|
||||
public List<Receiver> Receivers { get; set; } = new List<Receiver>();
|
||||
|
||||
/// <summary>
|
||||
/// Validates whether the receiver and document data are complete.
|
||||
/// </summary>
|
||||
public List<string> ValidateReceiverDocumentData()
|
||||
{
|
||||
var errors = new List<string>();
|
||||
|
||||
if (!Documents?.Any() ?? true)
|
||||
errors.Add(My.Resources.Envelope.Missing_Documents);
|
||||
|
||||
if (!Receivers?.Any() ?? true)
|
||||
errors.Add(My.Resources.Envelope.Missing_Receivers);
|
||||
|
||||
if (Receivers?.Any(r => !r.HasEmailAndName) ?? false)
|
||||
errors.Add(My.Resources.Envelope.Incomplete_Receivers);
|
||||
|
||||
return errors;
|
||||
}
|
||||
#if NETFRAMEWORK
|
||||
Id = 0;
|
||||
Status = (int)Constants.EnvelopeStatus.EnvelopeCreated;
|
||||
Uuid = Guid.NewGuid().ToString();
|
||||
Message = My.Resources.Envelope.Please_read_and_sign_this_document;
|
||||
Title= string.Empty;
|
||||
Comment = string.Empty;
|
||||
Language = "de-DE";
|
||||
SendReminderEmails = false;
|
||||
FirstReminderDays = 0;
|
||||
ReminderIntervalDays = 0;
|
||||
CertificationType = (int)Constants.CertificationType.AdvancedElectronicSignature;
|
||||
UseAccessCode = false;
|
||||
Documents = Enumerable.Empty<EnvelopeDocument>().ToList();
|
||||
History = Enumerable.Empty<EnvelopeHistory>().ToList();
|
||||
#endif
|
||||
}
|
||||
|
||||
[Key]
|
||||
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
|
||||
[Column("GUID")]
|
||||
public int Id { get; set; }
|
||||
|
||||
[Required]
|
||||
[Column("USER_ID")]
|
||||
public int UserId { get; set; }
|
||||
|
||||
[Required]
|
||||
[Column("STATUS")]
|
||||
public int Status { get; set; }
|
||||
|
||||
[Required]
|
||||
[Column("ENVELOPE_UUID", TypeName = "nvarchar(36)")]
|
||||
public string Uuid { get; set; }
|
||||
|
||||
[Column("MESSAGE", TypeName = "nvarchar(max)")]
|
||||
public string Message { get; set; }
|
||||
|
||||
[Column("EXPIRES_WHEN", TypeName = "datetime")]
|
||||
public DateTime? ExpiresWhen { get; set; }
|
||||
|
||||
[Column("EXPIRES_WARNING_WHEN", TypeName = "datetime")]
|
||||
public DateTime? ExpiresWarningWhen { get; set; }
|
||||
|
||||
[Required]
|
||||
[Column("ADDED_WHEN", TypeName = "datetime")]
|
||||
public DateTime AddedWhen { get; set; }
|
||||
|
||||
[Column("CHANGED_WHEN", TypeName = "datetime")]
|
||||
public DateTime? ChangedWhen { get; set; }
|
||||
|
||||
[Column("TITLE", TypeName = "nvarchar(128)")]
|
||||
public string
|
||||
#if NET
|
||||
?
|
||||
#endif
|
||||
Title { get; set; }
|
||||
|
||||
[Column("COMMENT", TypeName = "nvarchar(128)")]
|
||||
public string Comment { get; set; }
|
||||
|
||||
[Column("CONTRACT_TYPE")]
|
||||
public int? ContractType { get; set; }
|
||||
|
||||
#if NETFRAMEWORK
|
||||
[NotMapped]
|
||||
public string ContractTypeTranslated => My.Resources.Model.ResourceManager.GetString(ContractType.ToString());
|
||||
#endif
|
||||
|
||||
[Column("LANGUAGE", TypeName = "nvarchar(5)")]
|
||||
public string Language { get; set; }
|
||||
|
||||
[Column("SEND_REMINDER_EMAILS")]
|
||||
public bool SendReminderEmails { get; set; }
|
||||
|
||||
[Column("FIRST_REMINDER_DAYS")]
|
||||
public int? FirstReminderDays { get; set; }
|
||||
|
||||
[Column("REMINDER_INTERVAL_DAYS")]
|
||||
public int? ReminderIntervalDays { get; set; }
|
||||
|
||||
[Column("ENVELOPE_TYPE")]
|
||||
public int? EnvelopeTypeId { get; set; }
|
||||
|
||||
[Column("CERTIFICATION_TYPE")]
|
||||
public int? CertificationType { get; set; }
|
||||
|
||||
[Column("USE_ACCESS_CODE")]
|
||||
public bool UseAccessCode { get; set; }
|
||||
|
||||
[Column("FINAL_EMAIL_TO_CREATOR")]
|
||||
public int? FinalEmailToCreator { get; set; }
|
||||
|
||||
[Column("FINAL_EMAIL_TO_RECEIVERS")]
|
||||
public int? FinalEmailToReceivers { get; set; }
|
||||
|
||||
[Column("EXPIRES_WHEN_DAYS")]
|
||||
public int? ExpiresWhenDays { get; set; }
|
||||
|
||||
[Column("EXPIRES_WARNING_WHEN_DAYS")]
|
||||
public int? ExpiresWarningWhenDays { get; set; }
|
||||
|
||||
[ForeignKey("UserId")]
|
||||
public User User { get; set; }
|
||||
|
||||
[ForeignKey("EnvelopeTypeId")]
|
||||
public virtual EnvelopeType
|
||||
#if NET
|
||||
?
|
||||
#endif
|
||||
Type { get; set; }
|
||||
|
||||
#if NETFRAMEWORK
|
||||
[NotMapped]
|
||||
public string CURRENT_WORK_APP { get; set; } = "signFLOW GUI";
|
||||
|
||||
[NotMapped]
|
||||
public bool IsAlreadySent => Status > (int)Constants.EnvelopeStatus.EnvelopeSaved;
|
||||
|
||||
[NotMapped]
|
||||
public bool TFA_Enabled { get; set; } = false;
|
||||
|
||||
[NotMapped]
|
||||
public byte[] DOC_RESULT { get; set; }
|
||||
#endif
|
||||
|
||||
public List<EnvelopeDocument> Documents { get; set; }
|
||||
|
||||
public List<EnvelopeHistory> History { get; set; }
|
||||
|
||||
// TODO: * Check the Form App and remove the default value
|
||||
[NotMapped]
|
||||
public List<Receiver> Receivers { get; set; } = Enumerable.Empty<Receiver>().ToList();
|
||||
|
||||
#if NETFRAMEWORK
|
||||
/// <summary>
|
||||
/// Validates whether the receiver and document data are complete.
|
||||
/// </summary>
|
||||
public List<string> ValidateReceiverDocumentData()
|
||||
{
|
||||
var errors = new List<string>();
|
||||
|
||||
if (!Documents?.Any() ?? true)
|
||||
errors.Add(My.Resources.Envelope.Missing_Documents);
|
||||
|
||||
if (!Receivers?.Any() ?? true)
|
||||
errors.Add(My.Resources.Envelope.Missing_Receivers);
|
||||
|
||||
if (Receivers?.Any(r => !r.HasEmailAndName) ?? false)
|
||||
errors.Add(My.Resources.Envelope.Incomplete_Receivers);
|
||||
|
||||
return errors;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
#if NETFRAMEWORK
|
||||
}
|
||||
#endif
|
||||
@@ -1,42 +0,0 @@
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using System.ComponentModel.DataAnnotations.Schema;
|
||||
|
||||
namespace EnvelopeGenerator.Domain.Entities
|
||||
{
|
||||
[Table("TBSIG_ENVELOPE_CERTIFICATE", Schema = "dbo")]
|
||||
public class EnvelopeCertificate
|
||||
{
|
||||
[Key]
|
||||
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
|
||||
[Column("GUID")]
|
||||
public int Id { get; set; }
|
||||
|
||||
[Required]
|
||||
[Column("ENVELOPE_ID")]
|
||||
public int EnvelopeId { get; set; }
|
||||
|
||||
[Required]
|
||||
[Column("ENVELOPE_UUID", TypeName = "nvarchar(36)")]
|
||||
public string EnvelopeUuid { get; set; }
|
||||
|
||||
[Required]
|
||||
[Column("ENVELOPE_SUBJECT", TypeName = "nvarchar(512)")]
|
||||
public string EnvelopeSubject { get; set; }
|
||||
|
||||
[Required]
|
||||
[Column("CREATOR_ID")]
|
||||
public int CreatorId { get; set; }
|
||||
|
||||
[Required]
|
||||
[Column("CREATOR_NAME", TypeName = "nvarchar(128)")]
|
||||
public string CreatorName { get; set; }
|
||||
|
||||
[Required]
|
||||
[Column("CREATOR_EMAIL", TypeName = "nvarchar(128)")]
|
||||
public string CreatorEmail { get; set; }
|
||||
|
||||
[Required]
|
||||
[Column("ENVELOPE_STATUS")]
|
||||
public int EnvelopeStatus { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -1,51 +1,64 @@
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using System.ComponentModel.DataAnnotations.Schema;
|
||||
using System.Drawing;
|
||||
#if NETFRAMEWORK
|
||||
using System;
|
||||
using System.Drawing;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
#endif
|
||||
|
||||
namespace EnvelopeGenerator.Domain.Entities
|
||||
{
|
||||
[Table("TBSIG_ENVELOPE_DOCUMENT", Schema = "dbo")]
|
||||
public class EnvelopeDocument
|
||||
#if NET
|
||||
;
|
||||
#elif NETFRAMEWORK
|
||||
{
|
||||
[Key]
|
||||
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
|
||||
[Column("GUID")]
|
||||
public int Id { get; set; }
|
||||
#endif
|
||||
|
||||
[Required]
|
||||
[Column("ENVELOPE_ID")]
|
||||
public int EnvelopeId { get; set; } = 0;
|
||||
|
||||
[Required]
|
||||
[Column("ADDED_WHEN", TypeName = "datetime")]
|
||||
public DateTime AddedWhen { get; set; }
|
||||
|
||||
[Column("BYTE_DATA", TypeName = "varbinary(max)")]
|
||||
public byte[] ByteData { get; set; }
|
||||
|
||||
// TODO: * Check the Form App and remove the default value
|
||||
public List<DocumentReceiverElement> Elements { get; set; } = new List<DocumentReceiverElement>();
|
||||
|
||||
[NotMapped]
|
||||
public string FileNameOriginal { get; set; }
|
||||
|
||||
[NotMapped]
|
||||
public bool IsTempFile { get; set; }
|
||||
|
||||
[NotMapped]
|
||||
public string Filename { get; set; }
|
||||
|
||||
[NotMapped]
|
||||
public string Filepath { get; set; }
|
||||
|
||||
[NotMapped]
|
||||
public Bitmap Thumbnail { get; set; }
|
||||
|
||||
[NotMapped]
|
||||
public int PageCount { get; set; }
|
||||
[Table("TBSIG_ENVELOPE_DOCUMENT", Schema = "dbo")]
|
||||
public class EnvelopeDocument
|
||||
{
|
||||
public EnvelopeDocument()
|
||||
{
|
||||
#if NETFRAMEWORK
|
||||
Elements = Enumerable.Empty<DocumentReceiverElement>().ToList();
|
||||
#endif
|
||||
}
|
||||
|
||||
[Key]
|
||||
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
|
||||
[Column("GUID")]
|
||||
public int Id { get; set; }
|
||||
|
||||
[Required]
|
||||
[Column("ENVELOPE_ID")]
|
||||
public int EnvelopeId { get; set; } = 0;
|
||||
|
||||
[Column("BYTE_DATA", TypeName = "varbinary(max)")]
|
||||
public byte[] ByteData { get; set; }
|
||||
|
||||
public List<DocumentReceiverElement> Elements { get; set; }
|
||||
|
||||
// TODO: * Check the Form App and remove the default value
|
||||
[NotMapped]
|
||||
public string Filepath { get; set; }
|
||||
|
||||
#if NETFRAMEWORK
|
||||
[NotMapped]
|
||||
public string FileNameOriginal { get; set; }
|
||||
|
||||
[NotMapped]
|
||||
public bool IsTempFile { get; set; }
|
||||
|
||||
[NotMapped]
|
||||
public string Filename { get; set; }
|
||||
|
||||
[NotMapped]
|
||||
public Bitmap Thumbnail { get; set; }
|
||||
|
||||
[NotMapped]
|
||||
public int PageCount { get; set; }
|
||||
#endif
|
||||
}
|
||||
|
||||
#if NETFRAMEWORK
|
||||
}
|
||||
#endif
|
||||
@@ -6,45 +6,53 @@ using System;
|
||||
#endif
|
||||
|
||||
namespace EnvelopeGenerator.Domain.Entities
|
||||
{
|
||||
[Table("TBSIG_ENVELOPE_HISTORY", Schema = "dbo")]
|
||||
public class EnvelopeHistory
|
||||
#if NET
|
||||
;
|
||||
#elif NETFRAMEWORK
|
||||
{
|
||||
[Key]
|
||||
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
|
||||
[Column("GUID")]
|
||||
public long Id { get; set; }
|
||||
#endif
|
||||
|
||||
[Required]
|
||||
[Column("ENVELOPE_ID")]
|
||||
public int EnvelopeId { get; set; }
|
||||
[Table("TBSIG_ENVELOPE_HISTORY", Schema = "dbo")]
|
||||
public class EnvelopeHistory
|
||||
{
|
||||
[Key]
|
||||
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
|
||||
[Column("GUID")]
|
||||
public long Id { get; set; }
|
||||
|
||||
[Required]
|
||||
[Column("USER_REFERENCE", TypeName = "nvarchar(128)")]
|
||||
public string UserReference { get; set; }
|
||||
[Required]
|
||||
[Column("ENVELOPE_ID")]
|
||||
public int EnvelopeId { get; set; }
|
||||
|
||||
[Required]
|
||||
[Column("STATUS")]
|
||||
public Constants.EnvelopeStatus Status { get; set; }
|
||||
[Required]
|
||||
[Column("USER_REFERENCE", TypeName = "nvarchar(128)")]
|
||||
public string UserReference { get; set; }
|
||||
|
||||
[Required]
|
||||
[Column("ADDED_WHEN", TypeName = "datetime")]
|
||||
[DatabaseGenerated(DatabaseGeneratedOption.Computed)]
|
||||
public DateTime AddedWhen { get; set; }
|
||||
[Required]
|
||||
[Column("STATUS")]
|
||||
public Constants.EnvelopeStatus Status { get; set; }
|
||||
|
||||
[Column("ACTION_DATE", TypeName = "datetime")]
|
||||
public DateTime ActionDate { get; set; } = DateTime.Now;
|
||||
[Required]
|
||||
[Column("ADDED_WHEN", TypeName = "datetime")]
|
||||
[DatabaseGenerated(DatabaseGeneratedOption.Computed)]
|
||||
public DateTime AddedWhen { get; set; }
|
||||
|
||||
[Column("COMMENT", TypeName = "nvarchar(max)")]
|
||||
public string Comment { get; set; }
|
||||
[Column("ACTION_DATE", TypeName = "datetime")]
|
||||
public DateTime ActionDate { get; set; } = DateTime.Now;
|
||||
|
||||
[ForeignKey("UserReference")]
|
||||
public virtual User Sender { get; set; }
|
||||
[Column("COMMENT", TypeName = "nvarchar(max)")]
|
||||
public string Comment { get; set; }
|
||||
|
||||
[ForeignKey("UserReference")]
|
||||
public virtual Receiver Receiver { get; set; }
|
||||
public virtual User Sender { get; set; }
|
||||
|
||||
[NotMapped]
|
||||
public string StatusTranslated => My.Resources.Model.ResourceManager.GetString(Status.ToString());
|
||||
}
|
||||
public virtual Receiver Receiver { get; set; }
|
||||
|
||||
#if NETFRAMEWORK
|
||||
[NotMapped]
|
||||
public string StatusTranslated => My.Resources.Model.ResourceManager.GetString(Status.ToString());
|
||||
#endif
|
||||
}
|
||||
|
||||
#if NETFRAMEWORK
|
||||
}
|
||||
#endif
|
||||
@@ -1,14 +1,69 @@
|
||||
using System.ComponentModel.DataAnnotations.Schema;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using System.ComponentModel.DataAnnotations.Schema;
|
||||
#if NETFRAMEWORK
|
||||
using System;
|
||||
#endif
|
||||
|
||||
namespace EnvelopeGenerator.Domain.Entities
|
||||
{
|
||||
[Table("TBSIG_ENVELOPE_RECEIVER", Schema = "dbo")]
|
||||
public class EnvelopeReceiver : EnvelopeReceiverBase
|
||||
#if NET
|
||||
;
|
||||
#elif NETFRAMEWORK
|
||||
{
|
||||
[ForeignKey("EnvelopeId")]
|
||||
public Envelope Envelope { get; set; }
|
||||
#endif
|
||||
|
||||
[ForeignKey("ReceiverId")]
|
||||
public Receiver Receiver { get; set; }
|
||||
}
|
||||
[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
|
||||
@@ -1,57 +0,0 @@
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using System.ComponentModel.DataAnnotations.Schema;
|
||||
#if NETFRAMEWORK
|
||||
using System;
|
||||
#endif
|
||||
|
||||
namespace EnvelopeGenerator.Domain.Entities
|
||||
{
|
||||
[Table("TBSIG_ENVELOPE_RECEIVER", Schema = "dbo")]
|
||||
public class EnvelopeReceiverBase
|
||||
{
|
||||
[Key]
|
||||
[Column("ENVELOPE_ID")]
|
||||
public int EnvelopeId { get; set; }
|
||||
|
||||
[Key]
|
||||
[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);
|
||||
}
|
||||
}
|
||||
@@ -23,7 +23,7 @@ namespace EnvelopeGenerator.Domain.Entities
|
||||
[NotMapped]
|
||||
public Envelope Envelope { get; set; }
|
||||
|
||||
[Column("RECEIVER_MAIL")]
|
||||
[Column("RECEIVER_MAIL", TypeName = "nvarchar(250)")]
|
||||
[Required]
|
||||
[StringLength(250)]
|
||||
[TemplatePlaceholder("NAME_RECEIVER")]
|
||||
@@ -33,9 +33,9 @@ namespace EnvelopeGenerator.Domain.Entities
|
||||
[Required]
|
||||
public DateTime DateValid { get; set; }
|
||||
|
||||
[Column("ADDED_WHO")]
|
||||
[Column("ADDED_WHO", TypeName = "nvarchar(250)")]
|
||||
[Required]
|
||||
[StringLength(100)]
|
||||
[StringLength(250)]
|
||||
public string AddedWho { get; set; }
|
||||
|
||||
public Receiver Receiver { get; set; }
|
||||
|
||||
@@ -7,83 +7,94 @@ using System.Collections.Generic;
|
||||
#endif
|
||||
|
||||
namespace EnvelopeGenerator.Domain.Entities
|
||||
{
|
||||
[Table("TBSIG_RECEIVER", Schema = "dbo")]
|
||||
public class Receiver
|
||||
#if NET
|
||||
;
|
||||
#elif NETFRAMEWORK
|
||||
{
|
||||
[Key]
|
||||
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
|
||||
[Column("GUID")]
|
||||
public int Id { get; set; }
|
||||
#endif
|
||||
|
||||
[Required, EmailAddress]
|
||||
[Column("EMAIL_ADDRESS", TypeName = "nvarchar(128)")]
|
||||
public string EmailAddress { get; set; }
|
||||
[Table("TBSIG_RECEIVER", Schema = "dbo")]
|
||||
public class Receiver
|
||||
{
|
||||
[Key]
|
||||
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
|
||||
[Column("GUID")]
|
||||
public int Id { get; set; }
|
||||
|
||||
[Required]
|
||||
[Column("SIGNATURE", TypeName = "nvarchar(64)")]
|
||||
public string Signature { get; set; }
|
||||
[Required, EmailAddress]
|
||||
[Column("EMAIL_ADDRESS", TypeName = "nvarchar(250)")]
|
||||
[StringLength(250)]
|
||||
public string EmailAddress { get; set; }
|
||||
|
||||
[Required]
|
||||
[Column("ADDED_WHEN", TypeName = "datetime")]
|
||||
public DateTime AddedWhen { get; set; }
|
||||
[Required]
|
||||
[Column("SIGNATURE", TypeName = "nvarchar(64)")]
|
||||
public string Signature { get; set; }
|
||||
|
||||
[Column("TOTP_SECRET_KEY", TypeName = "nvarchar(MAX)")]
|
||||
public string TotpSecretkey { get; set; }
|
||||
[Required]
|
||||
[Column("ADDED_WHEN", TypeName = "datetime")]
|
||||
public DateTime AddedWhen { get; set; }
|
||||
|
||||
[Column("TFA_REG_DEADLINE", TypeName = "datetime")]
|
||||
public DateTime TfaRegDeadline { get; set; }
|
||||
[Column("TOTP_SECRET_KEY", TypeName = "nvarchar(MAX)")]
|
||||
public string TotpSecretkey { get; set; }
|
||||
|
||||
public List<EnvelopeReceiver> EnvelopeReceivers { get; set; }
|
||||
[Column("TFA_REG_DEADLINE", TypeName = "datetime")]
|
||||
public DateTime? TfaRegDeadline { get; set; }
|
||||
|
||||
[NotMapped]
|
||||
public string Name { get; set; }
|
||||
public List<EnvelopeReceiver> EnvelopeReceivers { get; set; }
|
||||
|
||||
[NotMapped]
|
||||
public string Company { get; set; } = string.Empty;
|
||||
#if NETFRAMEWORK
|
||||
[NotMapped]
|
||||
public string Name { get; set; }
|
||||
|
||||
[NotMapped]
|
||||
public string JobTitle { get; set; } = string.Empty;
|
||||
[NotMapped]
|
||||
public string Company { get; set; } = string.Empty;
|
||||
|
||||
[NotMapped]
|
||||
public string PhoneNumber { get; set; } = string.Empty;
|
||||
[NotMapped]
|
||||
public string JobTitle { get; set; } = string.Empty;
|
||||
|
||||
[NotMapped]
|
||||
public string AccessCode { get; set; } = string.Empty;
|
||||
[NotMapped]
|
||||
public string PhoneNumber { get; set; } = string.Empty;
|
||||
|
||||
[NotMapped]
|
||||
public string PrivateMessage { get; set; } = string.Empty;
|
||||
[NotMapped]
|
||||
public string AccessCode { get; set; } = string.Empty;
|
||||
|
||||
[NotMapped]
|
||||
public int Sequence { get; set; } = 0;
|
||||
[NotMapped]
|
||||
public string PrivateMessage { get; set; } = string.Empty;
|
||||
|
||||
[NotMapped]
|
||||
public DateTime SignedDate { get; set; } = DateTime.MinValue;
|
||||
[NotMapped]
|
||||
public int Sequence { get; set; } = 0;
|
||||
|
||||
[NotMapped]
|
||||
public Constants.ReceiverStatus Status { get; set; }
|
||||
[NotMapped]
|
||||
public DateTime SignedDate { get; set; } = DateTime.MinValue;
|
||||
|
||||
[NotMapped]
|
||||
public Constants.ColorType ColorType { get; set; }
|
||||
[NotMapped]
|
||||
public Constants.ReceiverStatus Status { get; set; }
|
||||
|
||||
[NotMapped]
|
||||
public bool HasId => Id > 0;
|
||||
[NotMapped]
|
||||
public Constants.ColorType ColorType { get; set; }
|
||||
|
||||
[NotMapped]
|
||||
public bool HasEmailAndName =>
|
||||
!string.IsNullOrWhiteSpace(EmailAddress) &&
|
||||
!string.IsNullOrWhiteSpace(Name);
|
||||
[NotMapped]
|
||||
public bool HasId => Id > 0;
|
||||
|
||||
[NotMapped]
|
||||
public string SignedDateDisplayValue =>
|
||||
SignedDate == DateTime.MinValue ? "-" : SignedDate.ToString("G");
|
||||
[NotMapped]
|
||||
public bool HasEmailAndName =>
|
||||
!string.IsNullOrWhiteSpace(EmailAddress) &&
|
||||
!string.IsNullOrWhiteSpace(Name);
|
||||
|
||||
[NotMapped]
|
||||
public Color Color => ColorType.ToColor();
|
||||
[NotMapped]
|
||||
public string SignedDateDisplayValue =>
|
||||
SignedDate == DateTime.MinValue ? "-" : SignedDate.ToString("G");
|
||||
|
||||
public string GetSignature()
|
||||
{
|
||||
return EmailAddress.ToUpperInvariant().GetChecksum();
|
||||
}
|
||||
[NotMapped]
|
||||
public Color Color => ColorType.ToColor();
|
||||
|
||||
public string GetSignature()
|
||||
{
|
||||
return EmailAddress.ToUpperInvariant().GetChecksum();
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
#if NETFRAMEWORK
|
||||
}
|
||||
#endif
|
||||
@@ -2,6 +2,8 @@
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFrameworks>net462;net7.0;net8.0;net9.0</TargetFrameworks>
|
||||
<AssemblyVersion>1.4.0</AssemblyVersion>
|
||||
<FileVersion>1.4.0</FileVersion>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Condition="'$(TargetFramework)' == 'net462'">
|
||||
@@ -33,7 +35,7 @@
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="DigitalData.EmailProfilerDispatcher.Abstraction.Attributes" Version="1.0.0" />
|
||||
<PackageReference Include="UserManager.Domain" Version="3.2.1" />
|
||||
<PackageReference Include="UserManager.Domain" Version="3.2.3" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
||||
26
EnvelopeGenerator.Domain/Resources/Email.Designer.cs
generated
26
EnvelopeGenerator.Domain/Resources/Email.Designer.cs
generated
@@ -1,10 +1,10 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Runtime Version:4.0.30319.42000
|
||||
// Dieser Code wurde von einem Tool generiert.
|
||||
// Laufzeitversion:4.0.30319.42000
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn
|
||||
// der Code erneut generiert wird.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
@@ -13,12 +13,12 @@ namespace My.Resources {
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// A strongly-typed resource class, for looking up localized strings, etc.
|
||||
/// Eine stark typisierte Ressourcenklasse zum Suchen von lokalisierten Zeichenfolgen usw.
|
||||
/// </summary>
|
||||
// This class was auto-generated by the StronglyTypedResourceBuilder
|
||||
// class via a tool like ResGen or Visual Studio.
|
||||
// To add or remove a member, edit your .ResX file then rerun ResGen
|
||||
// with the /str option, or rebuild your VS project.
|
||||
// Diese Klasse wurde von der StronglyTypedResourceBuilder automatisch generiert
|
||||
// -Klasse über ein Tool wie ResGen oder Visual Studio automatisch generiert.
|
||||
// Um einen Member hinzuzufügen oder zu entfernen, bearbeiten Sie die .ResX-Datei und führen dann ResGen
|
||||
// mit der /str-Option erneut aus, oder Sie erstellen Ihr VS-Projekt neu.
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||
@@ -33,7 +33,7 @@ namespace My.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Returns the cached ResourceManager instance used by this class.
|
||||
/// Gibt die zwischengespeicherte ResourceManager-Instanz zurück, die von dieser Klasse verwendet wird.
|
||||
/// </summary>
|
||||
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||
public static global::System.Resources.ResourceManager ResourceManager {
|
||||
@@ -47,8 +47,8 @@ namespace My.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Overrides the current thread's CurrentUICulture property for all
|
||||
/// resource lookups using this strongly typed resource class.
|
||||
/// Überschreibt die CurrentUICulture-Eigenschaft des aktuellen Threads für alle
|
||||
/// Ressourcenzuordnungen, die diese stark typisierte Ressourcenklasse verwenden.
|
||||
/// </summary>
|
||||
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||
public static global::System.Globalization.CultureInfo Culture {
|
||||
@@ -61,7 +61,7 @@ namespace My.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Sie haben ein Dokument zur Unterschrift erhalten: {0}.
|
||||
/// Sucht eine lokalisierte Zeichenfolge, die Sie haben ein Dokument zur Unterschrift erhalten: {0} ähnelt.
|
||||
/// </summary>
|
||||
public static string Sie_haben_ein_Dokument_zur_Unterschrift_erhalten___0_ {
|
||||
get {
|
||||
|
||||
140
EnvelopeGenerator.Domain/Resources/Envelope.Designer.cs
generated
140
EnvelopeGenerator.Domain/Resources/Envelope.Designer.cs
generated
@@ -1,10 +1,10 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Runtime Version:4.0.30319.42000
|
||||
// Dieser Code wurde von einem Tool generiert.
|
||||
// Laufzeitversion:4.0.30319.42000
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn
|
||||
// der Code erneut generiert wird.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
@@ -13,12 +13,12 @@ namespace My.Resources {
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// A strongly-typed resource class, for looking up localized strings, etc.
|
||||
/// Eine stark typisierte Ressourcenklasse zum Suchen von lokalisierten Zeichenfolgen usw.
|
||||
/// </summary>
|
||||
// This class was auto-generated by the StronglyTypedResourceBuilder
|
||||
// class via a tool like ResGen or Visual Studio.
|
||||
// To add or remove a member, edit your .ResX file then rerun ResGen
|
||||
// with the /str option, or rebuild your VS project.
|
||||
// Diese Klasse wurde von der StronglyTypedResourceBuilder automatisch generiert
|
||||
// -Klasse über ein Tool wie ResGen oder Visual Studio automatisch generiert.
|
||||
// Um einen Member hinzuzufügen oder zu entfernen, bearbeiten Sie die .ResX-Datei und führen dann ResGen
|
||||
// mit der /str-Option erneut aus, oder Sie erstellen Ihr VS-Projekt neu.
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||
@@ -33,7 +33,7 @@ namespace My.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Returns the cached ResourceManager instance used by this class.
|
||||
/// Gibt die zwischengespeicherte ResourceManager-Instanz zurück, die von dieser Klasse verwendet wird.
|
||||
/// </summary>
|
||||
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||
public static global::System.Resources.ResourceManager ResourceManager {
|
||||
@@ -47,8 +47,8 @@ namespace My.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Overrides the current thread's CurrentUICulture property for all
|
||||
/// resource lookups using this strongly typed resource class.
|
||||
/// Überschreibt die CurrentUICulture-Eigenschaft des aktuellen Threads für alle
|
||||
/// Ressourcenzuordnungen, die diese stark typisierte Ressourcenklasse verwenden.
|
||||
/// </summary>
|
||||
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||
public static global::System.Globalization.CultureInfo Culture {
|
||||
@@ -61,7 +61,16 @@ namespace My.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Bitte wählen Sie die PDF-Dokumente die Sie verketten möchten:.
|
||||
/// Sucht eine lokalisierte Zeichenfolge, die Der Zugangs Code wurde erfolgreich an [@Mail] versendet! ähnelt.
|
||||
/// </summary>
|
||||
public static string AccessCode_manually_send {
|
||||
get {
|
||||
return ResourceManager.GetString("AccessCode manually send", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Sucht eine lokalisierte Zeichenfolge, die Bitte wählen Sie die PDF-Dokumente die Sie verketten möchten: ähnelt.
|
||||
/// </summary>
|
||||
public static string Dialog_Concat_PDF {
|
||||
get {
|
||||
@@ -70,7 +79,7 @@ namespace My.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Wollen Sie diesen Umschlag wirklich zurückrufen/löschen?.
|
||||
/// Sucht eine lokalisierte Zeichenfolge, die Wollen Sie diesen Umschlag wirklich zurückrufen/löschen? ähnelt.
|
||||
/// </summary>
|
||||
public static string Do_you_really_want_to_delete_this_envelope {
|
||||
get {
|
||||
@@ -79,7 +88,7 @@ namespace My.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Wollen Sie dieses Dokument wirklich entfernen?.
|
||||
/// Sucht eine lokalisierte Zeichenfolge, die Wollen Sie dieses Dokument wirklich entfernen? ähnelt.
|
||||
/// </summary>
|
||||
public static string Do_you_really_want_to_remove_this_document {
|
||||
get {
|
||||
@@ -88,7 +97,7 @@ namespace My.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Wollen Sie den ausgewählten Empfänger löschen?.
|
||||
/// Sucht eine lokalisierte Zeichenfolge, die Wollen Sie den ausgewählten Empfänger löschen? ähnelt.
|
||||
/// </summary>
|
||||
public static string Do_you_want_to_delete_the_selected_recipient {
|
||||
get {
|
||||
@@ -97,7 +106,7 @@ namespace My.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Wollen Sie die Signatur löschen?.
|
||||
/// Sucht eine lokalisierte Zeichenfolge, die Wollen Sie die Signatur löschen? ähnelt.
|
||||
/// </summary>
|
||||
public static string Do_you_want_to_delete_the_signature {
|
||||
get {
|
||||
@@ -106,7 +115,7 @@ namespace My.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Wollen Sie den Signaturprozess nun starten?.
|
||||
/// Sucht eine lokalisierte Zeichenfolge, die Wollen Sie den Signaturprozess nun starten? ähnelt.
|
||||
/// </summary>
|
||||
public static string Do_you_want_to_start_the_signature_process_now {
|
||||
get {
|
||||
@@ -115,7 +124,7 @@ namespace My.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Das Dokument konnte nicht geöffnet werden!.
|
||||
/// Sucht eine lokalisierte Zeichenfolge, die Das Dokument konnte nicht geöffnet werden! ähnelt.
|
||||
/// </summary>
|
||||
public static string Document_could_not_be_opened {
|
||||
get {
|
||||
@@ -124,7 +133,7 @@ namespace My.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Dokument konnte nicht gespeichert werden!.
|
||||
/// Sucht eine lokalisierte Zeichenfolge, die Dokument konnte nicht gespeichert werden! ähnelt.
|
||||
/// </summary>
|
||||
public static string Document_Could_Not_Be_Saved {
|
||||
get {
|
||||
@@ -133,7 +142,7 @@ namespace My.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Umschlag an Empfänger {0} weitergeleitet..
|
||||
/// Sucht eine lokalisierte Zeichenfolge, die Umschlag an Empfänger {0} weitergeleitet. ähnelt.
|
||||
/// </summary>
|
||||
public static string Document_forwarded {
|
||||
get {
|
||||
@@ -142,7 +151,7 @@ namespace My.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Aktuell ist per Drag and Drop nur eine PDF-Datei erlaubt..
|
||||
/// Sucht eine lokalisierte Zeichenfolge, die Aktuell ist per Drag and Drop nur eine PDF-Datei erlaubt. ähnelt.
|
||||
/// </summary>
|
||||
public static string Drop_only_one_file {
|
||||
get {
|
||||
@@ -151,7 +160,16 @@ namespace My.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Bearbeite Umschlag.
|
||||
/// Sucht eine lokalisierte Zeichenfolge, die Aktuell sind per Drag and Drop nur PDF-Dateien erlaubt. ähnelt.
|
||||
/// </summary>
|
||||
public static string Drop_only_pdf {
|
||||
get {
|
||||
return ResourceManager.GetString("Drop only pdf", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Sucht eine lokalisierte Zeichenfolge, die Bearbeite Umschlag ähnelt.
|
||||
/// </summary>
|
||||
public static string Edit_Envelope {
|
||||
get {
|
||||
@@ -160,7 +178,7 @@ namespace My.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Signatur-Elemente konnten nicht geladen werden!.
|
||||
/// Sucht eine lokalisierte Zeichenfolge, die Signatur-Elemente konnten nicht geladen werden! ähnelt.
|
||||
/// </summary>
|
||||
public static string Elements_could_not_be_loaded {
|
||||
get {
|
||||
@@ -169,7 +187,7 @@ namespace My.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Signatur-Elemente konnten nicht gespeichert werden!.
|
||||
/// Sucht eine lokalisierte Zeichenfolge, die Signatur-Elemente konnten nicht gespeichert werden! ähnelt.
|
||||
/// </summary>
|
||||
public static string Elements_could_not_be_saved {
|
||||
get {
|
||||
@@ -178,7 +196,7 @@ namespace My.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Der Umschlag wurde bereits versendet!.
|
||||
/// Sucht eine lokalisierte Zeichenfolge, die Der Umschlag wurde bereits versendet! ähnelt.
|
||||
/// </summary>
|
||||
public static string Envelope_already_sent {
|
||||
get {
|
||||
@@ -187,7 +205,7 @@ namespace My.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Umschlag konnte nicht gesendet werden!.
|
||||
/// Sucht eine lokalisierte Zeichenfolge, die Umschlag konnte nicht gesendet werden! ähnelt.
|
||||
/// </summary>
|
||||
public static string Envelope_could_not_be_sent {
|
||||
get {
|
||||
@@ -196,7 +214,7 @@ namespace My.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Umschlag-Editor.
|
||||
/// Sucht eine lokalisierte Zeichenfolge, die Umschlag-Editor ähnelt.
|
||||
/// </summary>
|
||||
public static string Envelope_Editor {
|
||||
get {
|
||||
@@ -205,7 +223,7 @@ namespace My.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Die Einladungen zum Signieren wurden zum Versand eingereiht..
|
||||
/// Sucht eine lokalisierte Zeichenfolge, die Die Einladungen zum Signieren wurden zum Versand eingereiht. ähnelt.
|
||||
/// </summary>
|
||||
public static string Envelope_Invitations_Sent {
|
||||
get {
|
||||
@@ -214,7 +232,7 @@ namespace My.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Übersicht.
|
||||
/// Sucht eine lokalisierte Zeichenfolge, die Übersicht ähnelt.
|
||||
/// </summary>
|
||||
public static string Envelope_Overview {
|
||||
get {
|
||||
@@ -223,7 +241,7 @@ namespace My.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Die Einladungen wurden erfolgreich zum Versand bereitgestellt..
|
||||
/// Sucht eine lokalisierte Zeichenfolge, die Die Einladungen wurden erfolgreich zum Versand bereitgestellt. ähnelt.
|
||||
/// </summary>
|
||||
public static string Envelope_successfully_sent {
|
||||
get {
|
||||
@@ -232,7 +250,7 @@ namespace My.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Die Email-Adresse [ @Mail ] konnte nicht validiert werden!.
|
||||
/// Sucht eine lokalisierte Zeichenfolge, die Die Email-Adresse [ @Mail ] konnte nicht validiert werden! ähnelt.
|
||||
/// </summary>
|
||||
public static string Error_email_Validation {
|
||||
get {
|
||||
@@ -241,8 +259,8 @@ namespace My.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to The mobile phone number [@PhoneNr] could not be validated.
|
||||
///Pattern: +491234567890.
|
||||
/// Sucht eine lokalisierte Zeichenfolge, die Die Mobiltelefonnummer [@PhoneNr] konnte nicht validiert werden.
|
||||
///Muster: +491234567890 ähnelt.
|
||||
/// </summary>
|
||||
public static string Error_phone_Validation {
|
||||
get {
|
||||
@@ -251,7 +269,7 @@ namespace My.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Fehler beim Senden des Umschlags:.
|
||||
/// Sucht eine lokalisierte Zeichenfolge, die Fehler beim Senden des Umschlags: ähnelt.
|
||||
/// </summary>
|
||||
public static string Error_sending_the_envelope {
|
||||
get {
|
||||
@@ -260,7 +278,7 @@ namespace My.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Fehler beim Speichern des Umschlags!.
|
||||
/// Sucht eine lokalisierte Zeichenfolge, die Fehler beim Speichern des Umschlags! ähnelt.
|
||||
/// </summary>
|
||||
public static string Error_when_saving_the_envelope {
|
||||
get {
|
||||
@@ -269,7 +287,7 @@ namespace My.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Fehler beim Speichern der Empfänger!.
|
||||
/// Sucht eine lokalisierte Zeichenfolge, die Fehler beim Speichern der Empfänger! ähnelt.
|
||||
/// </summary>
|
||||
public static string Error_when_saving_the_recipients {
|
||||
get {
|
||||
@@ -278,7 +296,7 @@ namespace My.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Fehler bei der Validierung des Umschlags:.
|
||||
/// Sucht eine lokalisierte Zeichenfolge, die Fehler bei der Validierung des Umschlags: ähnelt.
|
||||
/// </summary>
|
||||
public static string Error_when_validating_the_envelope {
|
||||
get {
|
||||
@@ -287,7 +305,7 @@ namespace My.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Fehler beim Speichern des Umschlags: .
|
||||
/// Sucht eine lokalisierte Zeichenfolge, die Fehler beim Speichern des Umschlags: ähnelt.
|
||||
/// </summary>
|
||||
public static string Errors_when_saving_the_envelope {
|
||||
get {
|
||||
@@ -296,7 +314,7 @@ namespace My.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Mindestens ein Empfänger hat keine Anrede oder keine Email Adresse..
|
||||
/// Sucht eine lokalisierte Zeichenfolge, die Mindestens ein Empfänger hat keine Anrede oder keine Email Adresse. ähnelt.
|
||||
/// </summary>
|
||||
public static string Incomplete_Receivers {
|
||||
get {
|
||||
@@ -305,7 +323,7 @@ namespace My.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Empfänger {0} hat keine gültige Email Addresse..
|
||||
/// Sucht eine lokalisierte Zeichenfolge, die Empfänger {0} hat keine gültige Email Addresse. ähnelt.
|
||||
/// </summary>
|
||||
public static string Invalid_Email_Address {
|
||||
get {
|
||||
@@ -314,7 +332,7 @@ namespace My.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Die Einladung an [@Mail] wurde nochmal versendet!.
|
||||
/// Sucht eine lokalisierte Zeichenfolge, die Die Einladung an [@Mail] wurde nochmal versendet! ähnelt.
|
||||
/// </summary>
|
||||
public static string Invitation_successfully_resend {
|
||||
get {
|
||||
@@ -323,7 +341,7 @@ namespace My.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Fehlendes Dokument.
|
||||
/// Sucht eine lokalisierte Zeichenfolge, die Fehlendes Dokument ähnelt.
|
||||
/// </summary>
|
||||
public static string Missing_Documents {
|
||||
get {
|
||||
@@ -332,7 +350,7 @@ namespace My.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Es muss mindestens ein Signaturfeld gesetzt werden..
|
||||
/// Sucht eine lokalisierte Zeichenfolge, die Es muss mindestens ein Signaturfeld gesetzt werden. ähnelt.
|
||||
/// </summary>
|
||||
public static string Missing_Elements {
|
||||
get {
|
||||
@@ -341,7 +359,7 @@ namespace My.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Für den Empfänger {0} gibt es noch kein Signaturfeld..
|
||||
/// Sucht eine lokalisierte Zeichenfolge, die Für den Empfänger {0} gibt es noch kein Signaturfeld. ähnelt.
|
||||
/// </summary>
|
||||
public static string Missing_Elements_for_Receiver {
|
||||
get {
|
||||
@@ -350,7 +368,7 @@ namespace My.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Fehlende Nachricht.
|
||||
/// Sucht eine lokalisierte Zeichenfolge, die Fehlende Nachricht ähnelt.
|
||||
/// </summary>
|
||||
public static string Missing_Message {
|
||||
get {
|
||||
@@ -359,7 +377,7 @@ namespace My.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Fehlende Empfänger.
|
||||
/// Sucht eine lokalisierte Zeichenfolge, die Fehlende Empfänger ähnelt.
|
||||
/// </summary>
|
||||
public static string Missing_Receivers {
|
||||
get {
|
||||
@@ -368,7 +386,7 @@ namespace My.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to .
|
||||
/// Sucht eine lokalisierte Zeichenfolge, die Not translated ähnelt.
|
||||
/// </summary>
|
||||
public static string ModificationOriginFile_FormFields {
|
||||
get {
|
||||
@@ -377,7 +395,7 @@ namespace My.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Neuer Umschlag.
|
||||
/// Sucht eine lokalisierte Zeichenfolge, die Neuer Umschlag ähnelt.
|
||||
/// </summary>
|
||||
public static string New_Envelope {
|
||||
get {
|
||||
@@ -386,7 +404,7 @@ namespace My.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Es ist nur eine Datei zulässig!.
|
||||
/// Sucht eine lokalisierte Zeichenfolge, die Es ist nur eine Datei zulässig! ähnelt.
|
||||
/// </summary>
|
||||
public static string Only_one_file_is_allowed {
|
||||
get {
|
||||
@@ -395,7 +413,7 @@ namespace My.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Bitte lesen und unterzeichnen Sie dieses Dokument..
|
||||
/// Sucht eine lokalisierte Zeichenfolge, die Bitte lesen und unterzeichnen Sie dieses Dokument. ähnelt.
|
||||
/// </summary>
|
||||
public static string Please_read_and_sign_this_document {
|
||||
get {
|
||||
@@ -404,7 +422,7 @@ namespace My.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Bitte wählen Sie einen Empfänger aus dem Reiter Empfänger aus..
|
||||
/// Sucht eine lokalisierte Zeichenfolge, die Bitte wählen Sie einen Empfänger aus dem Reiter Empfänger aus. ähnelt.
|
||||
/// </summary>
|
||||
public static string Please_select_a_recipient_from_the_Recipients_tab {
|
||||
get {
|
||||
@@ -413,7 +431,7 @@ namespace My.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Empfänger konnte nicht gelöscht werden!.
|
||||
/// Sucht eine lokalisierte Zeichenfolge, die Empfänger konnte nicht gelöscht werden! ähnelt.
|
||||
/// </summary>
|
||||
public static string Recipient_could_not_be_deleted {
|
||||
get {
|
||||
@@ -422,7 +440,7 @@ namespace My.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Soll der Umschlag gespeichert werden?.
|
||||
/// Sucht eine lokalisierte Zeichenfolge, die Soll der Umschlag gespeichert werden? ähnelt.
|
||||
/// </summary>
|
||||
public static string Should_The_Envelope_Be_Saved {
|
||||
get {
|
||||
@@ -431,7 +449,7 @@ namespace My.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Platzhalter Signatur.
|
||||
/// Sucht eine lokalisierte Zeichenfolge, die Platzhalter Signatur ähnelt.
|
||||
/// </summary>
|
||||
public static string Signature {
|
||||
get {
|
||||
@@ -440,7 +458,7 @@ namespace My.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Signatur-Editor.
|
||||
/// Sucht eine lokalisierte Zeichenfolge, die Signatur-Editor ähnelt.
|
||||
/// </summary>
|
||||
public static string Signature_Editor {
|
||||
get {
|
||||
@@ -449,7 +467,7 @@ namespace My.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Der Umschlag konnte nicht gelöscht werden!.
|
||||
/// Sucht eine lokalisierte Zeichenfolge, die Der Umschlag konnte nicht gelöscht werden! ähnelt.
|
||||
/// </summary>
|
||||
public static string The_envelope_could_not_be_deleted {
|
||||
get {
|
||||
@@ -458,7 +476,7 @@ namespace My.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Der Umschlag enthält keine Dokumente.
|
||||
/// Sucht eine lokalisierte Zeichenfolge, die Der Umschlag enthält keine Dokumente ähnelt.
|
||||
/// </summary>
|
||||
public static string The_envelope_does_not_contain_any_documents {
|
||||
get {
|
||||
@@ -467,7 +485,7 @@ namespace My.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Es gibt für diesen Empfänger bereits Elemente. Wollen Sie den Empfänger trotzdem löschen?.
|
||||
/// Sucht eine lokalisierte Zeichenfolge, die Es gibt für diesen Empfänger bereits Elemente. Wollen Sie den Empfänger trotzdem löschen? ähnelt.
|
||||
/// </summary>
|
||||
public static string There_are_already_elements_for_this_recipient {
|
||||
get {
|
||||
@@ -476,7 +494,7 @@ namespace My.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Es sind ungespeicherte Änderungen vorhanden. Wollen Sie diese Speichern?.
|
||||
/// Sucht eine lokalisierte Zeichenfolge, die Es sind ungespeicherte Änderungen vorhanden. Wollen Sie diese speichern? ähnelt.
|
||||
/// </summary>
|
||||
public static string There_are_unsaved_changes {
|
||||
get {
|
||||
@@ -485,7 +503,7 @@ namespace My.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Sie haben ein Dokument zum signieren erhalten:.
|
||||
/// Sucht eine lokalisierte Zeichenfolge, die Sie haben ein Dokument zum signieren erhalten: ähnelt.
|
||||
/// </summary>
|
||||
public static string You_received_a_document_to_sign {
|
||||
get {
|
||||
|
||||
@@ -147,9 +147,6 @@
|
||||
<data name="Drop only one file" xml:space="preserve">
|
||||
<value>Currently, only one PDF file is permitted via drag and drop.</value>
|
||||
</data>
|
||||
<data name="Drop only pdf" xml:space="preserve">
|
||||
<value />
|
||||
</data>
|
||||
<data name="Edit Envelope" xml:space="preserve">
|
||||
<value>Edit Envelope</value>
|
||||
</data>
|
||||
@@ -181,7 +178,8 @@
|
||||
<value>The email [ @Mail ] could not be varified!</value>
|
||||
</data>
|
||||
<data name="Error phone Validation" xml:space="preserve">
|
||||
<value />
|
||||
<value>The mobile phone number [@PhoneNr] could not be validated.
|
||||
Pattern: +491234567890</value>
|
||||
</data>
|
||||
<data name="Error sending the envelope" xml:space="preserve">
|
||||
<value>Error sending the envelope:</value>
|
||||
@@ -222,6 +220,9 @@
|
||||
<data name="Missing Receivers" xml:space="preserve">
|
||||
<value>Missing Receivers</value>
|
||||
</data>
|
||||
<data name="ModificationOriginFile_FormFields" xml:space="preserve">
|
||||
<value>Not translated</value>
|
||||
</data>
|
||||
<data name="New Envelope" xml:space="preserve">
|
||||
<value>New Envelope</value>
|
||||
</data>
|
||||
@@ -255,10 +256,16 @@
|
||||
<data name="There are already elements for this recipient" xml:space="preserve">
|
||||
<value>There are already elements for this recipient. Do you still want to delete the recipient?</value>
|
||||
</data>
|
||||
<data name="There are unsaved changes." xml:space="preserve">
|
||||
<data name="There are unsaved changes" xml:space="preserve">
|
||||
<value>There are unsaved changes. Do you want to save them?</value>
|
||||
</data>
|
||||
<data name="You received a document to sign" xml:space="preserve">
|
||||
<value>You received a document to sign:</value>
|
||||
</data>
|
||||
<data name="Drop only pdf" xml:space="preserve">
|
||||
<value>Currently, only PDF files are allowed via drag and drop.</value>
|
||||
</data>
|
||||
<data name="AccessCode manually send" xml:space="preserve">
|
||||
<value>The access code was successfully sent to [@Mail]!</value>
|
||||
</data>
|
||||
</root>
|
||||
@@ -178,8 +178,8 @@
|
||||
<value>Die Email-Adresse [ @Mail ] konnte nicht validiert werden!</value>
|
||||
</data>
|
||||
<data name="Error phone Validation" xml:space="preserve">
|
||||
<value>The mobile phone number [@PhoneNr] could not be validated.
|
||||
Pattern: +491234567890</value>
|
||||
<value>Die Mobiltelefonnummer [@PhoneNr] konnte nicht validiert werden.
|
||||
Muster: +491234567890</value>
|
||||
</data>
|
||||
<data name="Error sending the envelope" xml:space="preserve">
|
||||
<value>Fehler beim Senden des Umschlags:</value>
|
||||
@@ -221,7 +221,7 @@ Pattern: +491234567890</value>
|
||||
<value>Fehlende Empfänger</value>
|
||||
</data>
|
||||
<data name="ModificationOriginFile_FormFields" xml:space="preserve">
|
||||
<value />
|
||||
<value>Not translated</value>
|
||||
</data>
|
||||
<data name="New Envelope" xml:space="preserve">
|
||||
<value>Neuer Umschlag</value>
|
||||
@@ -257,9 +257,15 @@ Pattern: +491234567890</value>
|
||||
<value>Es gibt für diesen Empfänger bereits Elemente. Wollen Sie den Empfänger trotzdem löschen?</value>
|
||||
</data>
|
||||
<data name="There are unsaved changes" xml:space="preserve">
|
||||
<value>Es sind ungespeicherte Änderungen vorhanden. Wollen Sie diese Speichern?</value>
|
||||
<value>Es sind ungespeicherte Änderungen vorhanden. Wollen Sie diese speichern?</value>
|
||||
</data>
|
||||
<data name="You received a document to sign" xml:space="preserve">
|
||||
<value>Sie haben ein Dokument zum signieren erhalten:</value>
|
||||
</data>
|
||||
<data name="Drop only pdf" xml:space="preserve">
|
||||
<value>Aktuell sind per Drag and Drop nur PDF-Dateien erlaubt.</value>
|
||||
</data>
|
||||
<data name="AccessCode manually send" xml:space="preserve">
|
||||
<value>Der Zugangs Code wurde erfolgreich an [@Mail] versendet!</value>
|
||||
</data>
|
||||
</root>
|
||||
110
EnvelopeGenerator.Domain/Resources/Model.Designer.cs
generated
110
EnvelopeGenerator.Domain/Resources/Model.Designer.cs
generated
@@ -1,10 +1,10 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Runtime Version:4.0.30319.42000
|
||||
// Dieser Code wurde von einem Tool generiert.
|
||||
// Laufzeitversion:4.0.30319.42000
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn
|
||||
// der Code erneut generiert wird.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
@@ -13,12 +13,12 @@ namespace My.Resources {
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// A strongly-typed resource class, for looking up localized strings, etc.
|
||||
/// Eine stark typisierte Ressourcenklasse zum Suchen von lokalisierten Zeichenfolgen usw.
|
||||
/// </summary>
|
||||
// This class was auto-generated by the StronglyTypedResourceBuilder
|
||||
// class via a tool like ResGen or Visual Studio.
|
||||
// To add or remove a member, edit your .ResX file then rerun ResGen
|
||||
// with the /str option, or rebuild your VS project.
|
||||
// Diese Klasse wurde von der StronglyTypedResourceBuilder automatisch generiert
|
||||
// -Klasse über ein Tool wie ResGen oder Visual Studio automatisch generiert.
|
||||
// Um einen Member hinzuzufügen oder zu entfernen, bearbeiten Sie die .ResX-Datei und führen dann ResGen
|
||||
// mit der /str-Option erneut aus, oder Sie erstellen Ihr VS-Projekt neu.
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||
@@ -33,7 +33,7 @@ namespace My.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Returns the cached ResourceManager instance used by this class.
|
||||
/// Gibt die zwischengespeicherte ResourceManager-Instanz zurück, die von dieser Klasse verwendet wird.
|
||||
/// </summary>
|
||||
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||
public static global::System.Resources.ResourceManager ResourceManager {
|
||||
@@ -47,8 +47,8 @@ namespace My.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Overrides the current thread's CurrentUICulture property for all
|
||||
/// resource lookups using this strongly typed resource class.
|
||||
/// Überschreibt die CurrentUICulture-Eigenschaft des aktuellen Threads für alle
|
||||
/// Ressourcenzuordnungen, die diese stark typisierte Ressourcenklasse verwenden.
|
||||
/// </summary>
|
||||
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||
public static global::System.Globalization.CultureInfo Culture {
|
||||
@@ -61,7 +61,7 @@ namespace My.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Zugriffscode korrekt eingegeben.
|
||||
/// Sucht eine lokalisierte Zeichenfolge, die Zugriffscode korrekt eingegeben ähnelt.
|
||||
/// </summary>
|
||||
public static string AccessCodeCorrect {
|
||||
get {
|
||||
@@ -70,7 +70,7 @@ namespace My.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Zugriffscode falsch eingegeben.
|
||||
/// Sucht eine lokalisierte Zeichenfolge, die Zugriffscode falsch eingegeben ähnelt.
|
||||
/// </summary>
|
||||
public static string AccessCodeIncorrect {
|
||||
get {
|
||||
@@ -79,7 +79,7 @@ namespace My.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Zugriffscode angefordert.
|
||||
/// Sucht eine lokalisierte Zeichenfolge, die Zugriffscode angefordert ähnelt.
|
||||
/// </summary>
|
||||
public static string AccessCodeRequested {
|
||||
get {
|
||||
@@ -88,7 +88,7 @@ namespace My.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Fortgeschrittene Elektronische Signatur.
|
||||
/// Sucht eine lokalisierte Zeichenfolge, die Fortgeschrittene Elektronische Signatur ähnelt.
|
||||
/// </summary>
|
||||
public static string AdvancedElectronicSignature {
|
||||
get {
|
||||
@@ -97,7 +97,7 @@ namespace My.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Abgeschlossen.
|
||||
/// Sucht eine lokalisierte Zeichenfolge, die Abgeschlossen ähnelt.
|
||||
/// </summary>
|
||||
public static string Completed {
|
||||
get {
|
||||
@@ -106,7 +106,7 @@ namespace My.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Vollständig Signiert.
|
||||
/// Sucht eine lokalisierte Zeichenfolge, die Vollständig Signiert ähnelt.
|
||||
/// </summary>
|
||||
public static string CompletelySigned {
|
||||
get {
|
||||
@@ -115,7 +115,7 @@ namespace My.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Vertrag.
|
||||
/// Sucht eine lokalisierte Zeichenfolge, die Vertrag ähnelt.
|
||||
/// </summary>
|
||||
public static string Contract {
|
||||
get {
|
||||
@@ -124,7 +124,7 @@ namespace My.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Erstellt.
|
||||
/// Sucht eine lokalisierte Zeichenfolge, die Erstellt ähnelt.
|
||||
/// </summary>
|
||||
public static string Created {
|
||||
get {
|
||||
@@ -133,7 +133,7 @@ namespace My.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Dokument Rotation geändert.
|
||||
/// Sucht eine lokalisierte Zeichenfolge, die Dokument Rotation geändert ähnelt.
|
||||
/// </summary>
|
||||
public static string DocumentMod_Rotation {
|
||||
get {
|
||||
@@ -142,7 +142,7 @@ namespace My.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Dokument geöffnet.
|
||||
/// Sucht eine lokalisierte Zeichenfolge, die Dokument geöffnet ähnelt.
|
||||
/// </summary>
|
||||
public static string DocumentOpened {
|
||||
get {
|
||||
@@ -151,7 +151,7 @@ namespace My.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Unterzeichnung abgelehnt.
|
||||
/// Sucht eine lokalisierte Zeichenfolge, die Unterzeichnung abgelehnt ähnelt.
|
||||
/// </summary>
|
||||
public static string DocumentRejected {
|
||||
get {
|
||||
@@ -160,7 +160,7 @@ namespace My.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Dokument unterzeichnet.
|
||||
/// Sucht eine lokalisierte Zeichenfolge, die Dokument unterzeichnet ähnelt.
|
||||
/// </summary>
|
||||
public static string DocumentSigned {
|
||||
get {
|
||||
@@ -169,7 +169,7 @@ namespace My.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Entwurf.
|
||||
/// Sucht eine lokalisierte Zeichenfolge, die Entwurf ähnelt.
|
||||
/// </summary>
|
||||
public static string Draft {
|
||||
get {
|
||||
@@ -178,7 +178,7 @@ namespace My.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Archiviert.
|
||||
/// Sucht eine lokalisierte Zeichenfolge, die Archiviert ähnelt.
|
||||
/// </summary>
|
||||
public static string EnvelopeArchived {
|
||||
get {
|
||||
@@ -187,7 +187,7 @@ namespace My.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Vollständig signiert.
|
||||
/// Sucht eine lokalisierte Zeichenfolge, die Vollständig signiert ähnelt.
|
||||
/// </summary>
|
||||
public static string EnvelopeCompletelySigned {
|
||||
get {
|
||||
@@ -196,7 +196,7 @@ namespace My.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Umschlag Erstellt.
|
||||
/// Sucht eine lokalisierte Zeichenfolge, die Umschlag Erstellt ähnelt.
|
||||
/// </summary>
|
||||
public static string EnvelopeCreated {
|
||||
get {
|
||||
@@ -205,7 +205,7 @@ namespace My.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Umschlag Gelöscht.
|
||||
/// Sucht eine lokalisierte Zeichenfolge, die Umschlag Gelöscht ähnelt.
|
||||
/// </summary>
|
||||
public static string EnvelopeDeleted {
|
||||
get {
|
||||
@@ -214,7 +214,7 @@ namespace My.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Teil-Signiert.
|
||||
/// Sucht eine lokalisierte Zeichenfolge, die Teil-Signiert ähnelt.
|
||||
/// </summary>
|
||||
public static string EnvelopePartlySigned {
|
||||
get {
|
||||
@@ -223,7 +223,7 @@ namespace My.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Umschlag in Queue.
|
||||
/// Sucht eine lokalisierte Zeichenfolge, die Umschlag in Queue ähnelt.
|
||||
/// </summary>
|
||||
public static string EnvelopeQueued {
|
||||
get {
|
||||
@@ -232,7 +232,7 @@ namespace My.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Umschlag abgelehnt.
|
||||
/// Sucht eine lokalisierte Zeichenfolge, die Umschlag abgelehnt ähnelt.
|
||||
/// </summary>
|
||||
public static string EnvelopeRejected {
|
||||
get {
|
||||
@@ -241,7 +241,7 @@ namespace My.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Signierungszertifikat erstellt.
|
||||
/// Sucht eine lokalisierte Zeichenfolge, die Signierungszertifikat erstellt ähnelt.
|
||||
/// </summary>
|
||||
public static string EnvelopeReportCreated {
|
||||
get {
|
||||
@@ -250,7 +250,7 @@ namespace My.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Gespeichert.
|
||||
/// Sucht eine lokalisierte Zeichenfolge, die Gespeichert ähnelt.
|
||||
/// </summary>
|
||||
public static string EnvelopeSaved {
|
||||
get {
|
||||
@@ -259,7 +259,7 @@ namespace My.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Gesendet.
|
||||
/// Sucht eine lokalisierte Zeichenfolge, die Gesendet ähnelt.
|
||||
/// </summary>
|
||||
public static string EnvelopeSent {
|
||||
get {
|
||||
@@ -268,7 +268,7 @@ namespace My.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Umschlag zurückgezogen.
|
||||
/// Sucht eine lokalisierte Zeichenfolge, die Umschlag zurückgezogen ähnelt.
|
||||
/// </summary>
|
||||
public static string EnvelopeWithdrawn {
|
||||
get {
|
||||
@@ -277,7 +277,7 @@ namespace My.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Zugriffscode versendet.
|
||||
/// Sucht eine lokalisierte Zeichenfolge, die Zugriffscode versendet ähnelt.
|
||||
/// </summary>
|
||||
public static string MessageAccessCodeSent {
|
||||
get {
|
||||
@@ -286,7 +286,7 @@ namespace My.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Abschlussemail versendet.
|
||||
/// Sucht eine lokalisierte Zeichenfolge, die Abschlussemail versendet ähnelt.
|
||||
/// </summary>
|
||||
public static string MessageCompletionSent {
|
||||
get {
|
||||
@@ -295,7 +295,7 @@ namespace My.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Signaturbestätigung versendet.
|
||||
/// Sucht eine lokalisierte Zeichenfolge, die Signaturbestätigung versendet ähnelt.
|
||||
/// </summary>
|
||||
public static string MessageConfirmationSent {
|
||||
get {
|
||||
@@ -304,7 +304,7 @@ namespace My.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Löschinformation versendet.
|
||||
/// Sucht eine lokalisierte Zeichenfolge, die Löschinformation versendet ähnelt.
|
||||
/// </summary>
|
||||
public static string MessageDeletionSent {
|
||||
get {
|
||||
@@ -313,7 +313,7 @@ namespace My.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Dokumentenlink versendet.
|
||||
/// Sucht eine lokalisierte Zeichenfolge, die Dokumentenlink versendet ähnelt.
|
||||
/// </summary>
|
||||
public static string MessageInvitationSent {
|
||||
get {
|
||||
@@ -322,7 +322,7 @@ namespace My.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Nein.
|
||||
/// Sucht eine lokalisierte Zeichenfolge, die Nein ähnelt.
|
||||
/// </summary>
|
||||
public static string No {
|
||||
get {
|
||||
@@ -331,7 +331,7 @@ namespace My.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Teil-Signiert.
|
||||
/// Sucht eine lokalisierte Zeichenfolge, die Teil-Signiert ähnelt.
|
||||
/// </summary>
|
||||
public static string PartlySigned {
|
||||
get {
|
||||
@@ -340,7 +340,7 @@ namespace My.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Qualifizierte Signatur.
|
||||
/// Sucht eine lokalisierte Zeichenfolge, die Qualifizierte Signatur ähnelt.
|
||||
/// </summary>
|
||||
public static string QualifiedSignature {
|
||||
get {
|
||||
@@ -349,7 +349,7 @@ namespace My.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Arbeitsanweisung.
|
||||
/// Sucht eine lokalisierte Zeichenfolge, die Arbeitsanweisung ähnelt.
|
||||
/// </summary>
|
||||
public static string ReadAndSign {
|
||||
get {
|
||||
@@ -358,7 +358,7 @@ namespace My.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Wollen Sie die 2-Faktor Definition für diesen Empfänger zurücksetzen. Der Empfänger muss sich dann neu identifizieren!.
|
||||
/// Sucht eine lokalisierte Zeichenfolge, die Wollen Sie die 2-Faktor Definition für diesen Empfänger zurücksetzen. Der Empfänger muss sich dann neu identifizieren! ähnelt.
|
||||
/// </summary>
|
||||
public static string ResetTOTPUser {
|
||||
get {
|
||||
@@ -367,7 +367,7 @@ namespace My.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Gespeichert.
|
||||
/// Sucht eine lokalisierte Zeichenfolge, die Gespeichert ähnelt.
|
||||
/// </summary>
|
||||
public static string Saved {
|
||||
get {
|
||||
@@ -376,7 +376,7 @@ namespace My.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Gesendet.
|
||||
/// Sucht eine lokalisierte Zeichenfolge, die Gesendet ähnelt.
|
||||
/// </summary>
|
||||
public static string Sent {
|
||||
get {
|
||||
@@ -385,7 +385,7 @@ namespace My.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Signatur.
|
||||
/// Sucht eine lokalisierte Zeichenfolge, die Signatur ähnelt.
|
||||
/// </summary>
|
||||
public static string Signature {
|
||||
get {
|
||||
@@ -394,7 +394,7 @@ namespace My.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Signatur bestätigt.
|
||||
/// Sucht eine lokalisierte Zeichenfolge, die Signatur bestätigt ähnelt.
|
||||
/// </summary>
|
||||
public static string SignatureConfirmed {
|
||||
get {
|
||||
@@ -403,7 +403,7 @@ namespace My.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Signiert.
|
||||
/// Sucht eine lokalisierte Zeichenfolge, die Signiert ähnelt.
|
||||
/// </summary>
|
||||
public static string Signed {
|
||||
get {
|
||||
@@ -412,7 +412,7 @@ namespace My.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Erfolgreich! Dialog wird geschlossen..
|
||||
/// Sucht eine lokalisierte Zeichenfolge, die Erfolgreich! Dialog wird geschlossen. ähnelt.
|
||||
/// </summary>
|
||||
public static string Success_FormClose {
|
||||
get {
|
||||
@@ -421,7 +421,7 @@ namespace My.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Unsigniert.
|
||||
/// Sucht eine lokalisierte Zeichenfolge, die Unsigniert ähnelt.
|
||||
/// </summary>
|
||||
public static string Unsigned {
|
||||
get {
|
||||
@@ -430,7 +430,7 @@ namespace My.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Ja.
|
||||
/// Sucht eine lokalisierte Zeichenfolge, die Ja ähnelt.
|
||||
/// </summary>
|
||||
public static string Yes {
|
||||
get {
|
||||
@@ -439,7 +439,7 @@ namespace My.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Ja, mit Anhang.
|
||||
/// Sucht eine lokalisierte Zeichenfolge, die Ja, mit Anhang ähnelt.
|
||||
/// </summary>
|
||||
public static string YesWithAttachment {
|
||||
get {
|
||||
|
||||
@@ -132,6 +132,9 @@
|
||||
<data name="Completed" xml:space="preserve">
|
||||
<value>Completed</value>
|
||||
</data>
|
||||
<data name="CompletelySigned" xml:space="preserve">
|
||||
<value>Completely signed</value>
|
||||
</data>
|
||||
<data name="Contract" xml:space="preserve">
|
||||
<value>Contract</value>
|
||||
</data>
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="HtmlSanitizer" Version="8.0.865" />
|
||||
<PackageReference Include="Microsoft.Extensions.Caching.Memory" Version="9.0.4" />
|
||||
<PackageReference Include="Microsoft.Extensions.Caching.Memory" Version="8.0.1" />
|
||||
<PackageReference Include="Microsoft.Extensions.Localization.Abstractions" Version="7.0.19" />
|
||||
<PackageReference Include="Microsoft.Extensions.Logging" Version="8.0.0" />
|
||||
<PackageReference Include="Otp.NET" Version="1.4.0" />
|
||||
|
||||
@@ -101,8 +101,8 @@
|
||||
<Reference Include="DigitalData.Modules.Messaging, Version=1.9.8.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\DigitalData.Modules.Messaging.1.9.8\lib\net462\DigitalData.Modules.Messaging.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="DigitalData.UserManager.Domain, Version=3.2.2.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\UserManager.Domain.3.2.2\lib\net462\DigitalData.UserManager.Domain.dll</HintPath>
|
||||
<Reference Include="DigitalData.UserManager.Domain, Version=3.2.3.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\UserManager.Domain.3.2.3\lib\net462\DigitalData.UserManager.Domain.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="DocumentFormat.OpenXml, Version=3.2.0.0, Culture=neutral, PublicKeyToken=8fb06cb64d019a17, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\DocumentFormat.OpenXml.3.2.0\lib\net46\DocumentFormat.OpenXml.dll</HintPath>
|
||||
|
||||
@@ -68,17 +68,17 @@ Public Class frmEnvelopeMainData
|
||||
chked_2Faktor.EditValue = DEF_TF_ENABLED
|
||||
|
||||
Else
|
||||
If IsNothing(Envelope.EnvelopeType) Then
|
||||
Envelope.EnvelopeType = EnvelopeType
|
||||
If IsNothing(Envelope.Type) Then
|
||||
Envelope.Type = EnvelopeType
|
||||
End If
|
||||
If Envelope.EnvelopeType.ContractType = 0 Then
|
||||
If Envelope.Type.ContractType = 0 Then
|
||||
cmbEnvelopeType.EditValue = EnvelopeType
|
||||
Else
|
||||
' This will trigger loading values from the type
|
||||
cmbEnvelopeType.EditValue = Envelope.EnvelopeType
|
||||
' cmbEnvelopeType.SelectedIndex = Convert.ToInt32(Envelope.EnvelopeType) - 1
|
||||
cmbEnvelopeType.EditValue = Envelope.Type
|
||||
' cmbEnvelopeType.SelectedIndex = Convert.ToInt32(Envelope.Type) - 1
|
||||
' cmbEnvelopeType.SelectedIndex = Envelope.Type.Id - 1
|
||||
' cmbEnvelopeType.SelectedItem = cmbEnvelopeType.Properties.Items.Cast(Of EnvelopeType).Where(Function(i) i.Id = Envelope.EnvelopeType.Id).SingleOrDefault()
|
||||
' cmbEnvelopeType.SelectedItem = cmbEnvelopeType.Properties.Items.Cast(Of Type).Where(Function(i) i.Id = Envelope.Type.Id).SingleOrDefault()
|
||||
End If
|
||||
|
||||
|
||||
@@ -126,7 +126,7 @@ Public Class frmEnvelopeMainData
|
||||
oEnvelopeType = EnvelopeType
|
||||
End If
|
||||
Envelope.Title = txtTitle.EditValue.ToString
|
||||
Envelope.EnvelopeType = oEnvelopeType
|
||||
Envelope.Type = oEnvelopeType
|
||||
Envelope.EnvelopeTypeId = IIf(IsNothing(oEnvelopeType), 0, oEnvelopeType.Id)
|
||||
Envelope.CertificationType = cmbCertificationType.SelectedIndex + 1
|
||||
Envelope.Language = cmbLanguage.EditValue
|
||||
|
||||
@@ -243,7 +243,7 @@ Partial Public Class frmFieldEditor
|
||||
If oElement IsNot Nothing Then
|
||||
oStickyNote.Tag = GetAnnotationTag(SelectedReceiver.Id, oPage, oElement.Id)
|
||||
Else
|
||||
MsgBox("No Element for Update found!")
|
||||
'MsgBox("No Element for Update found!")
|
||||
Logger.Error("No Element for Update found!")
|
||||
End If
|
||||
End If
|
||||
|
||||
40
EnvelopeGenerator.Form/frmMain.Designer.vb
generated
40
EnvelopeGenerator.Form/frmMain.Designer.vb
generated
@@ -87,6 +87,7 @@ Partial Class frmMain
|
||||
Me.ColHistoryDateCompleted = New DevExpress.XtraGrid.Columns.GridColumn()
|
||||
Me.ViewCompleted = New DevExpress.XtraGrid.Views.Grid.GridView()
|
||||
Me.GridColumn3 = New DevExpress.XtraGrid.Columns.GridColumn()
|
||||
Me.GridColumn6 = New DevExpress.XtraGrid.Columns.GridColumn()
|
||||
Me.GridColumn4 = New DevExpress.XtraGrid.Columns.GridColumn()
|
||||
Me.GridColumn5 = New DevExpress.XtraGrid.Columns.GridColumn()
|
||||
Me.GridColumn7 = New DevExpress.XtraGrid.Columns.GridColumn()
|
||||
@@ -111,6 +112,8 @@ Partial Class frmMain
|
||||
Me.RefreshTimer = New System.Windows.Forms.Timer(Me.components)
|
||||
Me.SaveFileDialog1 = New System.Windows.Forms.SaveFileDialog()
|
||||
Me.XtraSaveFileDialog1 = New DevExpress.XtraEditors.XtraSaveFileDialog(Me.components)
|
||||
Me.BarButtonItem2 = New DevExpress.XtraBars.BarButtonItem()
|
||||
Me.RibbonPageGroupReceiver = New DevExpress.XtraBars.Ribbon.RibbonPageGroup()
|
||||
CType(Me.SplitContainerControl1, System.ComponentModel.ISupportInitialize).BeginInit()
|
||||
CType(Me.SplitContainerControl1.Panel1, System.ComponentModel.ISupportInitialize).BeginInit()
|
||||
Me.SplitContainerControl1.Panel1.SuspendLayout()
|
||||
@@ -340,9 +343,9 @@ Partial Class frmMain
|
||||
Me.RibbonControl.ExpandCollapseItem.Id = 0
|
||||
Me.RibbonControl.ExpandCollapseItem.ImageOptions.ImageIndex = CType(resources.GetObject("RibbonControl.ExpandCollapseItem.ImageOptions.ImageIndex"), Integer)
|
||||
Me.RibbonControl.ExpandCollapseItem.ImageOptions.LargeImageIndex = CType(resources.GetObject("RibbonControl.ExpandCollapseItem.ImageOptions.LargeImageIndex"), Integer)
|
||||
Me.RibbonControl.Items.AddRange(New DevExpress.XtraBars.BarItem() {Me.RibbonControl.ExpandCollapseItem, Me.RibbonControl.SearchEditItem, Me.btnCreateEnvelope, Me.btnEditEnvelope, Me.btnDeleteEnvelope, Me.BarButtonItem1, Me.txtRefreshLabel, Me.btnShowDocument, Me.btnContactReceiver, Me.txtEnvelopeIdLabel, Me.btnOpenLogDirectory, Me.BarCheckItem1, Me.bsitmInfo, Me.bbtnitmEB, Me.bbtnitmInfoMail, Me.bbtnitm_ResendInvitation, Me.BarButtonItem3, Me.BarButtonItem4, Me.BarStaticItemGhost, Me.bbtnitm2Faktor})
|
||||
Me.RibbonControl.Items.AddRange(New DevExpress.XtraBars.BarItem() {Me.RibbonControl.ExpandCollapseItem, Me.RibbonControl.SearchEditItem, Me.btnCreateEnvelope, Me.btnEditEnvelope, Me.btnDeleteEnvelope, Me.BarButtonItem1, Me.txtRefreshLabel, Me.btnShowDocument, Me.btnContactReceiver, Me.txtEnvelopeIdLabel, Me.btnOpenLogDirectory, Me.BarCheckItem1, Me.bsitmInfo, Me.bbtnitmEB, Me.bbtnitmInfoMail, Me.bbtnitm_ResendInvitation, Me.BarButtonItem3, Me.BarButtonItem4, Me.BarStaticItemGhost, Me.bbtnitm2Faktor, Me.BarButtonItem2})
|
||||
resources.ApplyResources(Me.RibbonControl, "RibbonControl")
|
||||
Me.RibbonControl.MaxItemId = 21
|
||||
Me.RibbonControl.MaxItemId = 22
|
||||
Me.RibbonControl.Name = "RibbonControl"
|
||||
Me.RibbonControl.Pages.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPage() {Me.RibbonPage1, Me.RibbonPage2})
|
||||
Me.RibbonControl.ShowApplicationButton = DevExpress.Utils.DefaultBoolean.[False]
|
||||
@@ -509,7 +512,7 @@ Partial Class frmMain
|
||||
'
|
||||
'RibbonPage1
|
||||
'
|
||||
Me.RibbonPage1.Groups.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPageGroup() {Me.RibbonPageEnvelopeActions, Me.RibbonPageGroup1, Me.RibbonPageGroupFunctions})
|
||||
Me.RibbonPage1.Groups.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPageGroup() {Me.RibbonPageEnvelopeActions, Me.RibbonPageGroup1, Me.RibbonPageGroupFunctions, Me.RibbonPageGroupReceiver})
|
||||
Me.RibbonPage1.Name = "RibbonPage1"
|
||||
resources.ApplyResources(Me.RibbonPage1, "RibbonPage1")
|
||||
'
|
||||
@@ -532,9 +535,6 @@ Partial Class frmMain
|
||||
'RibbonPageGroupFunctions
|
||||
'
|
||||
Me.RibbonPageGroupFunctions.ItemLinks.Add(Me.btnShowDocument)
|
||||
Me.RibbonPageGroupFunctions.ItemLinks.Add(Me.bbtnitm_ResendInvitation)
|
||||
Me.RibbonPageGroupFunctions.ItemLinks.Add(Me.btnContactReceiver)
|
||||
Me.RibbonPageGroupFunctions.ItemLinks.Add(Me.bbtnitm2Faktor)
|
||||
Me.RibbonPageGroupFunctions.ItemLinks.Add(Me.bbtnitmEB)
|
||||
Me.RibbonPageGroupFunctions.ItemLinks.Add(Me.bbtnitmInfoMail)
|
||||
Me.RibbonPageGroupFunctions.Name = "RibbonPageGroupFunctions"
|
||||
@@ -662,7 +662,7 @@ Partial Class frmMain
|
||||
'
|
||||
'ViewCompleted
|
||||
'
|
||||
Me.ViewCompleted.Columns.AddRange(New DevExpress.XtraGrid.Columns.GridColumn() {Me.GridColumn3, Me.GridColumn4, Me.GridColumn5, Me.GridColumn7, Me.GridColumn1})
|
||||
Me.ViewCompleted.Columns.AddRange(New DevExpress.XtraGrid.Columns.GridColumn() {Me.GridColumn3, Me.GridColumn6, Me.GridColumn4, Me.GridColumn5, Me.GridColumn7, Me.GridColumn1})
|
||||
Me.ViewCompleted.GridControl = Me.GridCompleted
|
||||
Me.ViewCompleted.Name = "ViewCompleted"
|
||||
Me.ViewCompleted.OptionsBehavior.Editable = False
|
||||
@@ -676,6 +676,13 @@ Partial Class frmMain
|
||||
Me.GridColumn3.FieldName = "EnvelopeTypeTitle"
|
||||
Me.GridColumn3.Name = "GridColumn3"
|
||||
'
|
||||
'GridColumn6
|
||||
'
|
||||
resources.ApplyResources(Me.GridColumn6, "GridColumn6")
|
||||
Me.GridColumn6.FieldName = "Comment"
|
||||
Me.GridColumn6.MinWidth = 80
|
||||
Me.GridColumn6.Name = "GridColumn6"
|
||||
'
|
||||
'GridColumn4
|
||||
'
|
||||
resources.ApplyResources(Me.GridColumn4, "GridColumn4")
|
||||
@@ -841,6 +848,22 @@ Partial Class frmMain
|
||||
'
|
||||
Me.XtraSaveFileDialog1.FileName = "XtraSaveFileDialog1"
|
||||
'
|
||||
'BarButtonItem2
|
||||
'
|
||||
resources.ApplyResources(Me.BarButtonItem2, "BarButtonItem2")
|
||||
Me.BarButtonItem2.Id = 21
|
||||
Me.BarButtonItem2.ImageOptions.SvgImage = CType(resources.GetObject("BarButtonItem2.ImageOptions.SvgImage"), DevExpress.Utils.Svg.SvgImage)
|
||||
Me.BarButtonItem2.Name = "BarButtonItem2"
|
||||
'
|
||||
'RibbonPageGroupReceiver
|
||||
'
|
||||
Me.RibbonPageGroupReceiver.ItemLinks.Add(Me.bbtnitm_ResendInvitation)
|
||||
Me.RibbonPageGroupReceiver.ItemLinks.Add(Me.BarButtonItem2)
|
||||
Me.RibbonPageGroupReceiver.ItemLinks.Add(Me.bbtnitm2Faktor)
|
||||
Me.RibbonPageGroupReceiver.ItemLinks.Add(Me.btnContactReceiver)
|
||||
Me.RibbonPageGroupReceiver.Name = "RibbonPageGroupReceiver"
|
||||
resources.ApplyResources(Me.RibbonPageGroupReceiver, "RibbonPageGroupReceiver")
|
||||
'
|
||||
'frmMain
|
||||
'
|
||||
resources.ApplyResources(Me, "$this")
|
||||
@@ -976,4 +999,7 @@ Partial Class frmMain
|
||||
Friend WithEvents Label1 As Label
|
||||
Friend WithEvents Button1 As Button
|
||||
Friend WithEvents txtEnvID As TextBox
|
||||
Friend WithEvents GridColumn6 As DevExpress.XtraGrid.Columns.GridColumn
|
||||
Friend WithEvents BarButtonItem2 As DevExpress.XtraBars.BarButtonItem
|
||||
Friend WithEvents RibbonPageGroupReceiver As DevExpress.XtraBars.Ribbon.RibbonPageGroup
|
||||
End Class
|
||||
|
||||
@@ -746,7 +746,7 @@
|
||||
</value>
|
||||
</data>
|
||||
<data name="bbtnitm_ResendInvitation.Caption" xml:space="preserve">
|
||||
<value>Einladung erneut versenden</value>
|
||||
<value>Einladung manuell versenden</value>
|
||||
</data>
|
||||
<data name="bbtnitm_ResendInvitation.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
@@ -903,6 +903,28 @@
|
||||
LjQsMjEuNiwxNCwxNiwxNCAgIGMtNi41LDAtMTAsNS4yLTEwLDljMCw0LDIuMSw2LjUsMi4yLDYuN0M4
|
||||
LjQsMjkuOSw4LjcsMzAsOSwzMEM5LjIsMzAsOS41LDI5LjksOS43LDI5Ljh6IiBjbGFzcz0iQmxhY2si
|
||||
IC8+DQogIDwvZz4NCjwvc3ZnPgs=
|
||||
</value>
|
||||
</data>
|
||||
<data name="BarButtonItem2.Caption" xml:space="preserve">
|
||||
<value>AccessCode manuell versenden</value>
|
||||
</data>
|
||||
<data name="BarButtonItem2.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIxLjIsIFZlcnNpb249MjEuMi40
|
||||
LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
|
||||
dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAKQCAAAC77u/
|
||||
PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
|
||||
IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
|
||||
MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
|
||||
Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg
|
||||
MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJsYWNre2ZpbGw6IzcyNzI3Mjt9Cgku
|
||||
WWVsbG93e2ZpbGw6I0ZGQjExNTt9CgkuQmx1ZXtmaWxsOiMxMTc3RDc7fQoJLlJlZHtmaWxsOiNEMTFD
|
||||
MUM7fQoJLldoaXRle2ZpbGw6I0ZGRkZGRjt9CgkuR3JlZW57ZmlsbDojMDM5QzIzO30KCS5zdDB7Zmls
|
||||
bDojNzI3MjcyO30KCS5zdDF7b3BhY2l0eTowLjU7fQoJLnN0MntvcGFjaXR5OjAuNzU7fQo8L3N0eWxl
|
||||
Pg0KICA8ZyBpZD0iTWFpbCI+DQogICAgPHBhdGggZD0iTTE2LDE4LjNsMTQtOFYyNWMwLDAuNS0wLjUs
|
||||
MS0xLDFIM2MtMC41LDAtMS0wLjUtMS0xVjEwLjNMMTYsMTguM3ogTTI5LDZIM0MyLjUsNiwyLDYuNSwy
|
||||
LDd2MWwxNCw4bDE0LThWNyAgIEMzMCw2LjUsMjkuNSw2LDI5LDZ6IiBjbGFzcz0iQmxhY2siIC8+DQog
|
||||
IDwvZz4NCjwvc3ZnPgs=
|
||||
</value>
|
||||
</data>
|
||||
<data name="RibbonControl.Location" type="System.Drawing.Point, System.Drawing">
|
||||
@@ -917,6 +939,9 @@
|
||||
<data name="RibbonPageGroupFunctions.Text" xml:space="preserve">
|
||||
<value>Funktionen</value>
|
||||
</data>
|
||||
<data name="RibbonPageGroupReceiver.Text" xml:space="preserve">
|
||||
<value>Empfänger</value>
|
||||
</data>
|
||||
<data name="RibbonPage1.Text" xml:space="preserve">
|
||||
<value>Start</value>
|
||||
</data>
|
||||
@@ -1098,11 +1123,23 @@
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="GridColumn3.VisibleIndex" type="System.Int32, mscorlib">
|
||||
<value>2</value>
|
||||
<value>3</value>
|
||||
</data>
|
||||
<data name="GridColumn3.Width" type="System.Int32, mscorlib">
|
||||
<value>100</value>
|
||||
</data>
|
||||
<data name="GridColumn6.Caption" xml:space="preserve">
|
||||
<value>Kommentar</value>
|
||||
</data>
|
||||
<data name="GridColumn6.Visible" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="GridColumn6.VisibleIndex" type="System.Int32, mscorlib">
|
||||
<value>1</value>
|
||||
</data>
|
||||
<data name="GridColumn6.Width" type="System.Int32, mscorlib">
|
||||
<value>80</value>
|
||||
</data>
|
||||
<data name="GridColumn4.Caption" xml:space="preserve">
|
||||
<value>Status</value>
|
||||
</data>
|
||||
@@ -1110,7 +1147,7 @@
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="GridColumn4.VisibleIndex" type="System.Int32, mscorlib">
|
||||
<value>1</value>
|
||||
<value>2</value>
|
||||
</data>
|
||||
<data name="GridColumn4.Width" type="System.Int32, mscorlib">
|
||||
<value>163</value>
|
||||
@@ -1134,7 +1171,7 @@
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="GridColumn7.VisibleIndex" type="System.Int32, mscorlib">
|
||||
<value>3</value>
|
||||
<value>4</value>
|
||||
</data>
|
||||
<data name="GridColumn7.Width" type="System.Int32, mscorlib">
|
||||
<value>120</value>
|
||||
@@ -1146,7 +1183,7 @@
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="GridColumn1.VisibleIndex" type="System.Int32, mscorlib">
|
||||
<value>4</value>
|
||||
<value>5</value>
|
||||
</data>
|
||||
<data name="GridColumn1.Width" type="System.Int32, mscorlib">
|
||||
<value>120</value>
|
||||
@@ -2084,6 +2121,12 @@
|
||||
<data name=">>GridColumn3.Type" xml:space="preserve">
|
||||
<value>DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
|
||||
</data>
|
||||
<data name=">>GridColumn6.Name" xml:space="preserve">
|
||||
<value>GridColumn6</value>
|
||||
</data>
|
||||
<data name=">>GridColumn6.Type" xml:space="preserve">
|
||||
<value>DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
|
||||
</data>
|
||||
<data name=">>GridColumn4.Name" xml:space="preserve">
|
||||
<value>GridColumn4</value>
|
||||
</data>
|
||||
@@ -2132,6 +2175,18 @@
|
||||
<data name=">>XtraSaveFileDialog1.Type" xml:space="preserve">
|
||||
<value>DevExpress.XtraEditors.XtraSaveFileDialog, DevExpress.XtraDialogs.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
|
||||
</data>
|
||||
<data name=">>BarButtonItem2.Name" xml:space="preserve">
|
||||
<value>BarButtonItem2</value>
|
||||
</data>
|
||||
<data name=">>BarButtonItem2.Type" xml:space="preserve">
|
||||
<value>DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
|
||||
</data>
|
||||
<data name=">>RibbonPageGroupReceiver.Name" xml:space="preserve">
|
||||
<value>RibbonPageGroupReceiver</value>
|
||||
</data>
|
||||
<data name=">>RibbonPageGroupReceiver.Type" xml:space="preserve">
|
||||
<value>DevExpress.XtraBars.Ribbon.RibbonPageGroup, DevExpress.XtraBars.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
|
||||
</data>
|
||||
<data name=">>$this.Name" xml:space="preserve">
|
||||
<value>frmMain</value>
|
||||
</data>
|
||||
|
||||
@@ -1,17 +1,19 @@
|
||||
Imports System.IO
|
||||
Imports System.ComponentModel
|
||||
Imports System.IdentityModel.Metadata
|
||||
Imports System.IO
|
||||
Imports System.Text
|
||||
Imports DevExpress.LookAndFeel
|
||||
Imports DevExpress.Utils.Extensions
|
||||
Imports DevExpress.XtraCharts
|
||||
Imports DevExpress.XtraGrid
|
||||
Imports DevExpress.XtraGrid.Views.Grid
|
||||
Imports DevExpress.XtraPrinting
|
||||
Imports DevExpress.XtraSplashScreen
|
||||
Imports DigitalData.GUIs.Common
|
||||
Imports DigitalData.Modules.Base
|
||||
Imports DigitalData.Modules.Logging
|
||||
Imports EnvelopeGenerator.CommonServices
|
||||
Imports EnvelopeGenerator.CommonServices.My
|
||||
Imports System.ComponentModel
|
||||
Imports DevExpress.XtraPrinting
|
||||
Imports EnvelopeGenerator.Domain.Entities
|
||||
|
||||
Public Class frmMain
|
||||
@@ -25,6 +27,7 @@ Public Class frmMain
|
||||
Private Controller As EnvelopeListController
|
||||
Private myFileData As Byte()
|
||||
Private myResFileData As Byte()
|
||||
Private FormLoad As Boolean = True
|
||||
|
||||
Public Sub New(pState As State)
|
||||
' Dieser Aufruf ist für den Designer erforderlich.
|
||||
@@ -60,6 +63,10 @@ Public Class frmMain
|
||||
XtraTabControlMain.TabPages(3).PageVisible = False
|
||||
End If
|
||||
LoadEnvelopeData()
|
||||
Dim oXMLPath = Get_DocGrid_Layout_Filename(ViewEnvelopes.Name)
|
||||
If File.Exists(oXMLPath) Then
|
||||
ViewEnvelopes.RestoreLayoutFromXml(oXMLPath)
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Sub LoadEnvelopeData()
|
||||
@@ -216,6 +223,7 @@ Public Class frmMain
|
||||
RibbonPageEnvelopeActions.Enabled = True
|
||||
Select Case XtraTabControlMain.SelectedTabPageIndex
|
||||
Case 1
|
||||
RibbonPageGroupReceiver.Visible = False
|
||||
btnEditEnvelope.Enabled = False
|
||||
btnDeleteEnvelope.Enabled = False
|
||||
btnContactReceiver.Enabled = False
|
||||
@@ -225,7 +233,12 @@ Public Class frmMain
|
||||
bbtnitmEB.Enabled = True
|
||||
bbtnitm2Faktor.Enabled = False
|
||||
LoadEnvelopeData()
|
||||
Dim oXMLPath = Get_DocGrid_Layout_Filename(ViewCompleted.Name)
|
||||
If File.Exists(oXMLPath) Then
|
||||
ViewCompleted.RestoreLayoutFromXml(oXMLPath)
|
||||
End If
|
||||
Case 0
|
||||
RibbonPageGroupReceiver.Visible = True
|
||||
btnEditEnvelope.Enabled = True
|
||||
btnDeleteEnvelope.Enabled = True
|
||||
btnContactReceiver.Enabled = True
|
||||
@@ -557,6 +570,7 @@ Public Class frmMain
|
||||
MYUSER = oUser
|
||||
End If
|
||||
End If
|
||||
FormLoad = False
|
||||
End Sub
|
||||
|
||||
Private Sub bbtnitmInfoMail_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles bbtnitmInfoMail.ItemClick
|
||||
@@ -795,8 +809,11 @@ Public Class frmMain
|
||||
If oDT.Rows.Count = 1 Then
|
||||
Dim oTFA_REG_DL = oDT.Rows(0).Item("TFA_REG_DEADLINE")
|
||||
Dim oTOTP = oDT.Rows(0).Item("TOTP_SECRET_KEY")
|
||||
Dim oForm As New frm2Factor_Properties(oReceiver.EmailAddress, oTOTP, oTFA_REG_DL, DB_DD_ECM)
|
||||
oForm.ShowDialog()
|
||||
If Not IsDBNull(oTOTP) And Not IsDBNull(oTFA_REG_DL) Then
|
||||
Dim oForm As New frm2Factor_Properties(oReceiver.EmailAddress, oTOTP.ToString, oTFA_REG_DL, DB_DD_ECM)
|
||||
oForm.ShowDialog()
|
||||
End If
|
||||
|
||||
End If
|
||||
End If
|
||||
|
||||
@@ -838,4 +855,71 @@ Public Class frmMain
|
||||
.DbConfig = Nothing
|
||||
}
|
||||
End Function
|
||||
|
||||
Private Sub BarButtonItem2_ItemClick_1(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem2.ItemClick
|
||||
Dim oHandle = SplashScreenManager.ShowOverlayForm(Me)
|
||||
Try
|
||||
Dim oView As GridView = GridEnvelopes.FocusedView
|
||||
Dim selReceiver As Receiver
|
||||
If oView.Name = ViewReceivers.Name Then
|
||||
selReceiver = oView.GetRow(oView.FocusedRowHandle)
|
||||
Else
|
||||
MsgBox(Resources.Envelope.Please_select_a_recipient_from_the_Recipients_tab, MsgBoxStyle.Information, Text)
|
||||
End If
|
||||
If ViewEnvelopes.FocusedRowHandle < 0 Or IsNothing(selReceiver) Then
|
||||
Exit Sub
|
||||
End If
|
||||
Dim oEnvelope As Envelope = ViewEnvelopes.GetRow(ViewEnvelopes.FocusedRowHandle)
|
||||
If oEnvelope.UseAccessCode = True Then
|
||||
Dim oController = New EnvelopeEditorController(State, oEnvelope)
|
||||
Dim Documents As New BindingList(Of EnvelopeDocument)
|
||||
Dim Receivers As New BindingList(Of Receiver)
|
||||
Receivers = New BindingList(Of Receiver)(oController.Envelope.Receivers)
|
||||
For Each oReceiver As Receiver In Receivers
|
||||
If oReceiver.EmailAddress = selReceiver.EmailAddress Then
|
||||
If oController.ActionService.ManuallySendAccessCode(oEnvelope, oReceiver) = True Then
|
||||
Dim oMsg = Resources.Envelope.AccessCode_successfully_send.Replace("@Mail", oReceiver.EmailAddress)
|
||||
MsgBox(oMsg, MsgBoxStyle.Information, Text)
|
||||
|
||||
End If
|
||||
End If
|
||||
Next
|
||||
Else
|
||||
MsgBox("Envelope is defined without AccessCode so far!", MsgBoxStyle.Information)
|
||||
End If
|
||||
|
||||
Catch ex As Exception
|
||||
Logger.Error(ex)
|
||||
Finally
|
||||
|
||||
|
||||
End Try
|
||||
SplashScreenManager.CloseOverlayForm(oHandle)
|
||||
|
||||
End Sub
|
||||
|
||||
Private Sub ViewCompleted_Layout(sender As Object, e As EventArgs) Handles ViewCompleted.Layout
|
||||
If FormLoad = True Then
|
||||
Exit Sub
|
||||
End If
|
||||
Dim oXMLPath = Get_DocGrid_Layout_Filename(ViewCompleted.Name)
|
||||
ViewCompleted.SaveLayoutToXml(oXMLPath)
|
||||
bsitmInfo.Caption = "Grid Layout Envelopes Completed Saved"
|
||||
End Sub
|
||||
|
||||
Private Sub ViewEnvelopes_Layout(sender As Object, e As EventArgs) Handles ViewEnvelopes.Layout
|
||||
If FormLoad = True Then
|
||||
Exit Sub
|
||||
End If
|
||||
Dim oXMLPath = Get_DocGrid_Layout_Filename(ViewEnvelopes.Name)
|
||||
ViewEnvelopes.SaveLayoutToXml(oXMLPath)
|
||||
bsitmInfo.Caption = "Grid Layout Envelopes Saved"
|
||||
|
||||
End Sub
|
||||
Private Function Get_DocGrid_Layout_Filename(pGridViewName As String)
|
||||
Dim EntityRegex As New RegularExpressions.Regex("\s+\(\d+\)")
|
||||
Dim Filename As String = String.Format("{0}_UserLayout.xml", pGridViewName)
|
||||
Dim oGridlayoutFullFilename = System.IO.Path.Combine(Application.UserAppDataPath(), Filename)
|
||||
Return oGridlayoutFullFilename
|
||||
End Function
|
||||
End Class
|
||||
@@ -50,5 +50,5 @@
|
||||
<package id="System.Text.Json" version="9.0.0" targetFramework="net462" />
|
||||
<package id="System.Threading.Tasks.Extensions" version="4.5.4" targetFramework="net462" />
|
||||
<package id="System.ValueTuple" version="4.5.0" targetFramework="net462" />
|
||||
<package id="UserManager.Domain" version="3.2.2" targetFramework="net462" />
|
||||
<package id="UserManager.Domain" version="3.2.3" targetFramework="net462" />
|
||||
</packages>
|
||||
@@ -22,7 +22,7 @@
|
||||
<PackageReference Include="DigitalData.Auth.Client" Version="1.3.7" />
|
||||
<PackageReference Include="DigitalData.Core.API" Version="2.2.1" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.OpenApi" Version="9.0.4" />
|
||||
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="9.0.4" />
|
||||
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="9.0.6" />
|
||||
<PackageReference Include="NLog" Version="5.2.5" />
|
||||
<PackageReference Include="NLog.Web.AspNetCore" Version="5.3.0" />
|
||||
<PackageReference Include="Scalar.AspNetCore" Version="2.2.1" />
|
||||
|
||||
@@ -40,7 +40,7 @@ try
|
||||
|
||||
builder.Services.AddControllers();
|
||||
|
||||
//CORS Policy
|
||||
// CORS Policy
|
||||
var allowedOrigins = config.GetSection("AllowedOrigins").Get<string[]>() ??
|
||||
throw new InvalidOperationException("AllowedOrigins section is missing in the configuration.");
|
||||
builder.Services.AddCors(options =>
|
||||
@@ -93,7 +93,7 @@ try
|
||||
Id = "Bearer"
|
||||
}
|
||||
},
|
||||
new string[] {}
|
||||
Array.Empty<string>()
|
||||
}
|
||||
});
|
||||
|
||||
@@ -104,8 +104,12 @@ try
|
||||
}
|
||||
});
|
||||
builder.Services.AddOpenApi();
|
||||
// DbContext
|
||||
var connStr = config.GetConnectionString("Default") ?? throw new InvalidOperationException("There is no default connection string in appsettings.json.");
|
||||
|
||||
//AddEF Core dbcontext
|
||||
var useDbMigration = Environment.GetEnvironmentVariable("MIGRATION_TEST_MODE") == true.ToString() || config.GetValue<bool>("UseDbMigration");
|
||||
var cnnStrName = useDbMigration ? "DbMigrationTest" : "Default";
|
||||
var connStr = config.GetConnectionString(cnnStrName)
|
||||
?? throw new InvalidOperationException($"Connection string '{cnnStrName}' is missing in the application configuration.");
|
||||
|
||||
builder.Services.Configure<ConnectionString>(cs => cs.Value = connStr);
|
||||
|
||||
@@ -129,7 +133,7 @@ try
|
||||
{
|
||||
var clientParams = deferredProvider.GetOptions<ClientParams>();
|
||||
var publicKey = clientParams!.PublicKeys.Get(authTokenKeys.Issuer, authTokenKeys.Audience);
|
||||
return new List<SecurityKey>() { publicKey.SecurityKey };
|
||||
return [publicKey.SecurityKey];
|
||||
},
|
||||
ValidateIssuer = true,
|
||||
ValidIssuer = authTokenKeys.Issuer,
|
||||
@@ -205,10 +209,10 @@ try
|
||||
app.UseCors("AllowSpecificOriginsPolicy");
|
||||
|
||||
// Localizer
|
||||
string[] supportedCultureNames = { "de-DE", "en-US" };
|
||||
IList<CultureInfo> list = supportedCultureNames.Select((string cn) => new CultureInfo(cn)).ToList();
|
||||
CultureInfo cultureInfo = list.FirstOrDefault() ?? throw new ArgumentNullException("supportedCultureNames", "Supported cultures cannot be empty.");
|
||||
RequestLocalizationOptions requestLocalizationOptions = new RequestLocalizationOptions
|
||||
string[] supportedCultureNames = ["de-DE", "en-US"];
|
||||
IList<CultureInfo> list = [.. supportedCultureNames.Select(cn => new CultureInfo(cn))];
|
||||
var cultureInfo = list.FirstOrDefault() ?? throw new InvalidOperationException("There is no supported culture.");
|
||||
var requestLocalizationOptions = new RequestLocalizationOptions
|
||||
{
|
||||
SupportedCultures = list,
|
||||
SupportedUICultures = list
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
{
|
||||
"UseSwagger": true,
|
||||
"UseDbMigration": true,
|
||||
"DiPMode": true,
|
||||
"Logging": {
|
||||
"LogLevel": {
|
||||
@@ -10,7 +11,8 @@
|
||||
"AllowedHosts": "*",
|
||||
"AllowedOrigins": [ "http://localhost:4200" ],
|
||||
"ConnectionStrings": {
|
||||
"Default": "Server=SDD-VMP04-SQL17\\DD_DEVELOP01;Database=DD_ECM;User Id=sa;Password=dd;Encrypt=false;TrustServerCertificate=True;"
|
||||
"Default": "Server=SDD-VMP04-SQL17\\DD_DEVELOP01;Database=DD_ECM;User Id=sa;Password=dd;Encrypt=false;TrustServerCertificate=True;",
|
||||
"DbMigrationTest": "Server=SDD-VMP04-SQL17\\DD_DEVELOP01;Database=DD_ECM_DATA_MIGR_TEST;User Id=sa;Password=dd;Encrypt=false;TrustServerCertificate=True;"
|
||||
},
|
||||
"DirectorySearchOptions": {
|
||||
"ServerName": "DD-VMP01-DC01",
|
||||
|
||||
@@ -48,12 +48,10 @@ public static class DIExtensions
|
||||
services.TryAddScoped<IDocumentStatusRepository, DocumentStatusRepository>();
|
||||
services.TryAddScoped<IEmailTemplateRepository, EmailTemplateRepository>();
|
||||
services.TryAddScoped<IEnvelopeRepository, EnvelopeRepository>();
|
||||
services.TryAddScoped<IEnvelopeCertificateRepository, EnvelopeCertificateRepository>();
|
||||
services.TryAddScoped<IEnvelopeHistoryRepository, EnvelopeHistoryRepository>();
|
||||
services.TryAddScoped<IEnvelopeReceiverRepository, EnvelopeReceiverRepository>();
|
||||
services.TryAddScoped<IEnvelopeTypeRepository, EnvelopeTypeRepository>();
|
||||
services.TryAddScoped<IReceiverRepository, ReceiverRepository>();
|
||||
services.TryAddScoped<IUserReceiverRepository, UserReceiverRepository>();
|
||||
services.TryAddScoped<IEnvelopeReceiverReadOnlyRepository, EnvelopeReceiverReadOnlyRepository>();
|
||||
|
||||
services.AddDbRepository<EGDbContext, Config>(context => context.Configs).UseAutoMapper();
|
||||
@@ -62,12 +60,10 @@ public static class DIExtensions
|
||||
services.AddDbRepository<EGDbContext, DocumentStatus>(context => context.DocumentStatus).UseAutoMapper();
|
||||
services.AddDbRepository<EGDbContext, EmailTemplate>(context => context.EmailTemplate).UseAutoMapper();
|
||||
services.AddDbRepository<EGDbContext, Envelope>(context => context.Envelopes).UseAutoMapper();
|
||||
services.AddDbRepository<EGDbContext, EnvelopeCertificate>(context => context.EnvelopeCertificates).UseAutoMapper();
|
||||
services.AddDbRepository<EGDbContext, EnvelopeHistory>(context => context.EnvelopeHistories).UseAutoMapper();
|
||||
services.AddDbRepository<EGDbContext, EnvelopeReceiver>(context => context.EnvelopeReceivers).UseAutoMapper();
|
||||
services.AddDbRepository<EGDbContext, EnvelopeType>(context => context.EnvelopeTypes).UseAutoMapper();
|
||||
services.AddDbRepository<EGDbContext, Receiver>(context => context.Receivers).UseAutoMapper();
|
||||
services.AddDbRepository<EGDbContext, UserReceiver>(context => context.UserReceivers).UseAutoMapper();
|
||||
services.AddDbRepository<EGDbContext, EnvelopeReceiverReadOnly>(context => context.EnvelopeReceiverReadOnlys).UseAutoMapper();
|
||||
|
||||
services.AddSQLExecutor<Envelope>();
|
||||
|
||||
@@ -17,8 +17,6 @@ namespace EnvelopeGenerator.Infrastructure;
|
||||
//TODO: Adding EmailOut instead of EmailOut.Abst is not correct for the arch. Re-design EmailPut consedering this. IMailDbContext shoud move to Abstraction layer (hint: in this case using DBSet in abst. will be problem because entity framework will have to be added.
|
||||
public class EGDbContext : DbContext, IUserManagerDbContext, IMailDbContext
|
||||
{
|
||||
public DbSet<UserReceiver> UserReceivers { get; set; }
|
||||
|
||||
public DbSet<Config> Configs { get; set; }
|
||||
|
||||
public DbSet<EnvelopeReceiver> EnvelopeReceivers { get; set; }
|
||||
@@ -31,8 +29,6 @@ public class EGDbContext : DbContext, IUserManagerDbContext, IMailDbContext
|
||||
|
||||
public DbSet<EmailTemplate> EmailTemplate { get; set; }
|
||||
|
||||
public DbSet<EnvelopeCertificate> EnvelopeCertificates { get; set; }
|
||||
|
||||
public DbSet<EnvelopeDocument> EnvelopeDocument { get; set; }
|
||||
|
||||
public DbSet<EnvelopeHistory> EnvelopeHistories { get; set; }
|
||||
@@ -61,20 +57,20 @@ public class EGDbContext : DbContext, IUserManagerDbContext, IMailDbContext
|
||||
|
||||
private readonly DbTriggerParams _triggers;
|
||||
|
||||
private readonly ILogger<EGDbContext> _logger;
|
||||
private readonly ILogger<EGDbContext>? _logger;
|
||||
|
||||
public EGDbContext(DbContextOptions<EGDbContext> options, IOptions<DbTriggerParams> triggerParamOptions, ILogger<EGDbContext> logger) : base(options)
|
||||
public bool IsMigration { get; set; } = false;
|
||||
|
||||
public EGDbContext(DbContextOptions<EGDbContext> options, IOptions<DbTriggerParams> triggerParamOptions, ILogger<EGDbContext>? logger = null) : base(options)
|
||||
{
|
||||
_triggers = triggerParamOptions.Value;
|
||||
_logger = logger;
|
||||
|
||||
UserReceivers = Set<UserReceiver>();
|
||||
Configs = Set<Config>();
|
||||
EnvelopeReceivers = Set<EnvelopeReceiver>();
|
||||
Envelopes = Set<Envelope>();
|
||||
DocumentReceiverElements = Set<DocumentReceiverElement>();
|
||||
DocumentStatus = Set<DocumentStatus>();
|
||||
EnvelopeCertificates = Set<EnvelopeCertificate>();
|
||||
EnvelopeDocument = Set<EnvelopeDocument>();
|
||||
EnvelopeHistories = Set<EnvelopeHistory>();
|
||||
EnvelopeTypes = Set<EnvelopeType>();
|
||||
@@ -102,11 +98,9 @@ public class EGDbContext : DbContext, IUserManagerDbContext, IMailDbContext
|
||||
modelBuilder.Entity<DocumentStatus>();
|
||||
modelBuilder.Entity<EmailTemplate>();
|
||||
modelBuilder.Entity<Envelope>();
|
||||
modelBuilder.Entity<EnvelopeCertificate>();
|
||||
modelBuilder.Entity<EnvelopeHistory>();
|
||||
modelBuilder.Entity<EnvelopeType>();
|
||||
modelBuilder.Entity<Receiver>();
|
||||
modelBuilder.Entity<UserReceiver>();
|
||||
modelBuilder.Entity<EmailOut>();
|
||||
|
||||
// Configure the one-to-many relationship of Envelope
|
||||
@@ -130,17 +124,20 @@ public class EGDbContext : DbContext, IUserManagerDbContext, IMailDbContext
|
||||
.WithMany(ed => ed.Elements)
|
||||
.HasForeignKey(dre => dre.DocumentId);
|
||||
|
||||
modelBuilder.Entity<EnvelopeHistory>()
|
||||
.HasOne(eh => eh.Receiver)
|
||||
.WithMany()
|
||||
.HasForeignKey(eh => eh.UserReference)
|
||||
.HasPrincipalKey(e => e.EmailAddress);
|
||||
if (!IsMigration)
|
||||
{
|
||||
modelBuilder.Entity<EnvelopeHistory>()
|
||||
.HasOne(eh => eh.Receiver)
|
||||
.WithMany()
|
||||
.HasForeignKey(eh => eh.UserReference)
|
||||
.HasPrincipalKey(e => e.EmailAddress);
|
||||
|
||||
modelBuilder.Entity<EnvelopeHistory>()
|
||||
.HasOne(eh => eh.Sender)
|
||||
.WithMany()
|
||||
.HasForeignKey(eh => eh.UserReference)
|
||||
.HasPrincipalKey(e => e.Email);
|
||||
modelBuilder.Entity<EnvelopeHistory>()
|
||||
.HasOne(eh => eh.Sender)
|
||||
.WithMany()
|
||||
.HasForeignKey(eh => eh.UserReference)
|
||||
.HasPrincipalKey(e => e.Email);
|
||||
}
|
||||
|
||||
modelBuilder.Entity<EnvelopeReceiverReadOnly>()
|
||||
.HasOne(erro => erro.Receiver)
|
||||
@@ -155,7 +152,7 @@ public class EGDbContext : DbContext, IUserManagerDbContext, IMailDbContext
|
||||
.ForEach(tName =>
|
||||
{
|
||||
modelBuilder.Entity<T>().ToTable(tb => tb.HasTrigger(tName));
|
||||
_logger.LogInformation("Trigger '{triggerName}' has been added to the '{entityName}' entity.", tName, typeof(T).Name);
|
||||
_logger?.LogInformation("Trigger '{triggerName}' has been added to the '{entityName}' entity.", tName, typeof(T).Name);
|
||||
});
|
||||
|
||||
// TODO: call add trigger methods with attributes and reflection
|
||||
@@ -164,14 +161,12 @@ public class EGDbContext : DbContext, IUserManagerDbContext, IMailDbContext
|
||||
AddTrigger<DocumentStatus>();
|
||||
AddTrigger<EmailTemplate>();
|
||||
AddTrigger<Envelope>();
|
||||
AddTrigger<EnvelopeCertificate>();
|
||||
AddTrigger<EnvelopeDocument>();
|
||||
AddTrigger<EnvelopeHistory>();
|
||||
AddTrigger<EnvelopeReceiver>();
|
||||
AddTrigger<EnvelopeReceiverReadOnly>();
|
||||
AddTrigger<EnvelopeType>();
|
||||
AddTrigger<Receiver>();
|
||||
AddTrigger<UserReceiver>();
|
||||
AddTrigger<EmailOut>();
|
||||
|
||||
//configure model builder for user manager tables
|
||||
|
||||
46
EnvelopeGenerator.Infrastructure/EGDbContextFactory.cs
Normal file
46
EnvelopeGenerator.Infrastructure/EGDbContextFactory.cs
Normal file
@@ -0,0 +1,46 @@
|
||||
using EnvelopeGenerator.Application.Configurations;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Microsoft.EntityFrameworkCore.Design;
|
||||
using Microsoft.Extensions.Configuration;
|
||||
using Microsoft.Extensions.Options;
|
||||
|
||||
namespace EnvelopeGenerator.Infrastructure
|
||||
{
|
||||
public class EGDbContextFactory : IDesignTimeDbContextFactory<EGDbContext>
|
||||
{
|
||||
public EGDbContext CreateDbContext(string[] args)
|
||||
{
|
||||
var config = new ConfigurationBuilder()
|
||||
.SetBasePath(Directory.GetCurrentDirectory()) // Önemli!
|
||||
.AddJsonFile("appsettings.migration.json")
|
||||
.Build();
|
||||
|
||||
// create DbContextOptions
|
||||
var optionsBuilder = new DbContextOptionsBuilder<EGDbContext>();
|
||||
optionsBuilder.UseSqlServer(config.GetConnectionString("Default"));
|
||||
|
||||
// create DbTriggerParams
|
||||
var triggerLists = config.GetSection("DbTriggerParams").Get<Dictionary<string, List<string>>>();
|
||||
var dbTriggerParams = new DbTriggerParams();
|
||||
if(triggerLists is not null)
|
||||
foreach (var triggerList in triggerLists)
|
||||
{
|
||||
if(triggerList.Value.Count == 0)
|
||||
continue; // Skip empty trigger lists
|
||||
|
||||
var tableName = triggerList.Key;
|
||||
|
||||
dbTriggerParams[tableName] = new List<string>();
|
||||
|
||||
foreach (var trigger in triggerList.Value)
|
||||
{
|
||||
dbTriggerParams[tableName].Add(trigger);
|
||||
}
|
||||
}
|
||||
|
||||
var dbContext = new EGDbContext(optionsBuilder.Options, Options.Create(dbTriggerParams));
|
||||
dbContext.IsMigration = true;
|
||||
return dbContext;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -12,7 +12,7 @@
|
||||
<PackageReference Include="DigitalData.Core.Infrastructure" Version="2.1.1" />
|
||||
<PackageReference Include="DigitalData.Core.Infrastructure.AutoMapper" Version="1.0.3" />
|
||||
<PackageReference Include="DigitalData.EmailProfilerDispatcher" Version="3.1.1" />
|
||||
<PackageReference Include="UserManager" Version="1.1.1" />
|
||||
<PackageReference Include="UserManager" Version="1.1.3" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
@@ -23,16 +23,37 @@
|
||||
<ItemGroup Condition="'$(TargetFramework)' == 'net7.0'">
|
||||
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="7.0.20" />
|
||||
<PackageReference Include="Microsoft.EntityFrameworkCore.Relational" Version="7.0.20" />
|
||||
<PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="7.0.20">
|
||||
<PrivateAssets>all</PrivateAssets>
|
||||
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
||||
</PackageReference>
|
||||
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="7.0.20" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup Condition="'$(TargetFramework)' == 'net8.0'">
|
||||
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="8.0.15" />
|
||||
<PackageReference Include="Microsoft.EntityFrameworkCore.Relational" Version="8.0.15" />
|
||||
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="8.0.17" />
|
||||
<PackageReference Include="Microsoft.EntityFrameworkCore.Relational" Version="8.0.17" />
|
||||
<PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="8.0.17">
|
||||
<PrivateAssets>all</PrivateAssets>
|
||||
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
||||
</PackageReference>
|
||||
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="8.0.17" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup Condition="'$(TargetFramework)' == 'net9.0'">
|
||||
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="9.0.5" />
|
||||
<PackageReference Include="Microsoft.EntityFrameworkCore.Relational" Version="9.0.5" />
|
||||
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="9.0.6" />
|
||||
<PackageReference Include="Microsoft.EntityFrameworkCore.Relational" Version="9.0.6" />
|
||||
<PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="9.0.6">
|
||||
<PrivateAssets>all</PrivateAssets>
|
||||
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
||||
</PackageReference>
|
||||
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="9.0.6" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<None Update="appsettings.migration.json">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
1380
EnvelopeGenerator.Infrastructure/Migrations/20250701151754_InitialCreate.Designer.cs
generated
Normal file
1380
EnvelopeGenerator.Infrastructure/Migrations/20250701151754_InitialCreate.Designer.cs
generated
Normal file
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,811 @@
|
||||
using System;
|
||||
using Microsoft.EntityFrameworkCore.Migrations;
|
||||
|
||||
#nullable disable
|
||||
|
||||
namespace EnvelopeGenerator.Infrastructure.Migrations
|
||||
{
|
||||
/// <inheritdoc />
|
||||
public partial class InitialCreate : Migration
|
||||
{
|
||||
/// <inheritdoc />
|
||||
protected override void Up(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.EnsureSchema(
|
||||
name: "dbo");
|
||||
|
||||
migrationBuilder.CreateTable(
|
||||
name: "TBDD_CLIENT_USER",
|
||||
schema: "dbo",
|
||||
columns: table => new
|
||||
{
|
||||
GUID = table.Column<int>(type: "int", nullable: false)
|
||||
.Annotation("SqlServer:Identity", "1, 1"),
|
||||
USER_ID = table.Column<int>(type: "int", nullable: false),
|
||||
CLIENT_ID = table.Column<int>(type: "int", nullable: false),
|
||||
COMMENT = table.Column<string>(type: "nvarchar(max)", nullable: true),
|
||||
ADDED_WHO = table.Column<string>(type: "nvarchar(50)", maxLength: 50, nullable: true),
|
||||
ADDED_WHEN = table.Column<DateTime>(type: "datetime", nullable: false)
|
||||
},
|
||||
constraints: table =>
|
||||
{
|
||||
table.PrimaryKey("PK_TBDD_CLIENT_USER", x => x.GUID);
|
||||
});
|
||||
|
||||
migrationBuilder.CreateTable(
|
||||
name: "TBDD_GROUPS",
|
||||
schema: "dbo",
|
||||
columns: table => new
|
||||
{
|
||||
GUID = table.Column<int>(type: "int", nullable: false)
|
||||
.Annotation("SqlServer:Identity", "1, 1"),
|
||||
Name = table.Column<string>(type: "nvarchar(50)", maxLength: 50, nullable: true),
|
||||
AD_SYNC = table.Column<bool>(type: "bit", nullable: false),
|
||||
Internal = table.Column<bool>(type: "bit", nullable: false),
|
||||
Active = table.Column<bool>(type: "bit", nullable: false),
|
||||
Comment = table.Column<string>(type: "nvarchar(200)", maxLength: 200, nullable: true),
|
||||
ECM_FK_ID = table.Column<int>(type: "int", nullable: false),
|
||||
ADDED_WHO = table.Column<string>(type: "nvarchar(50)", maxLength: 50, nullable: true),
|
||||
CHANGED_WHO = table.Column<string>(type: "nvarchar(50)", maxLength: 50, nullable: true),
|
||||
ADDED_WHEN = table.Column<DateTime>(type: "datetime", nullable: false),
|
||||
CHANGED_WHEN = table.Column<DateTime>(type: "datetime", nullable: true)
|
||||
},
|
||||
constraints: table =>
|
||||
{
|
||||
table.PrimaryKey("PK_TBDD_GROUPS", x => x.GUID);
|
||||
});
|
||||
|
||||
migrationBuilder.CreateTable(
|
||||
name: "TBDD_MODULES",
|
||||
schema: "dbo",
|
||||
columns: table => new
|
||||
{
|
||||
GUID = table.Column<int>(type: "int", nullable: false)
|
||||
.Annotation("SqlServer:Identity", "1, 1"),
|
||||
Name = table.Column<string>(type: "nvarchar(50)", maxLength: 50, nullable: true),
|
||||
SHORT_NAME = table.Column<string>(type: "nvarchar(20)", maxLength: 20, nullable: true)
|
||||
},
|
||||
constraints: table =>
|
||||
{
|
||||
table.PrimaryKey("PK_TBDD_MODULES", x => x.GUID);
|
||||
});
|
||||
|
||||
migrationBuilder.CreateTable(
|
||||
name: "TBDD_USER",
|
||||
schema: "dbo",
|
||||
columns: table => new
|
||||
{
|
||||
GUID = table.Column<int>(type: "int", nullable: false)
|
||||
.Annotation("SqlServer:Identity", "1, 1"),
|
||||
PRENAME = table.Column<string>(type: "nvarchar(50)", maxLength: 50, nullable: true),
|
||||
NAME = table.Column<string>(type: "nvarchar(50)", maxLength: 50, nullable: true),
|
||||
USERNAME = table.Column<string>(type: "nvarchar(50)", maxLength: 50, nullable: false),
|
||||
SHORTNAME = table.Column<string>(type: "nvarchar(30)", maxLength: 30, nullable: true),
|
||||
EMAIL = table.Column<string>(type: "nvarchar(100)", maxLength: 100, nullable: true),
|
||||
LANGUAGE = table.Column<string>(type: "nvarchar(5)", maxLength: 5, nullable: false),
|
||||
COMMENT = table.Column<string>(type: "nvarchar(500)", maxLength: 500, nullable: true),
|
||||
DELETED = table.Column<bool>(type: "bit", nullable: false),
|
||||
DATE_FORMAT = table.Column<string>(type: "nvarchar(10)", maxLength: 10, nullable: false),
|
||||
ACTIVE = table.Column<bool>(type: "bit", nullable: false),
|
||||
GENERAL_VIEWER = table.Column<string>(type: "nvarchar(30)", maxLength: 30, nullable: false),
|
||||
WAN_ENVIRONMENT = table.Column<bool>(type: "bit", nullable: false),
|
||||
USERID_FK_INT_ECM = table.Column<int>(type: "int", nullable: false),
|
||||
DELETED_WHEN = table.Column<DateTime>(type: "datetime2", nullable: false),
|
||||
DELETED_WHO = table.Column<string>(type: "nvarchar(50)", maxLength: 50, nullable: false),
|
||||
ADDED_WHO = table.Column<string>(type: "nvarchar(50)", maxLength: 50, nullable: true),
|
||||
CHANGED_WHO = table.Column<string>(type: "nvarchar(50)", maxLength: 50, nullable: true),
|
||||
ADDED_WHEN = table.Column<DateTime>(type: "datetime", nullable: false),
|
||||
CHANGED_WHEN = table.Column<DateTime>(type: "datetime", nullable: true)
|
||||
},
|
||||
constraints: table =>
|
||||
{
|
||||
table.PrimaryKey("PK_TBDD_USER", x => x.GUID);
|
||||
});
|
||||
|
||||
migrationBuilder.CreateTable(
|
||||
name: "TBEMLP_EMAIL_OUT",
|
||||
columns: table => new
|
||||
{
|
||||
GUID = table.Column<int>(type: "int", nullable: false)
|
||||
.Annotation("SqlServer:Identity", "1, 1"),
|
||||
REMINDER_TYPE_ID = table.Column<int>(type: "int", nullable: false),
|
||||
SENDING_PROFILE = table.Column<int>(type: "int", nullable: false),
|
||||
REFERENCE_ID = table.Column<int>(type: "int", nullable: false),
|
||||
REFERENCE_STRING = table.Column<string>(type: "varchar(200)", maxLength: 200, nullable: true),
|
||||
ENTITY_ID = table.Column<int>(type: "int", nullable: true),
|
||||
WF_ID = table.Column<int>(type: "int", nullable: false),
|
||||
WF_REFERENCE = table.Column<string>(type: "varchar(200)", maxLength: 200, nullable: true),
|
||||
EMAIL_ADRESS = table.Column<string>(type: "varchar(1000)", maxLength: 1000, nullable: false),
|
||||
EMAIL_SUBJ = table.Column<string>(type: "varchar(500)", maxLength: 500, nullable: false),
|
||||
EMAIL_BODY = table.Column<string>(type: "varchar(max)", nullable: false),
|
||||
EMAIL_ATTMT1 = table.Column<string>(type: "varchar(512)", maxLength: 512, nullable: true),
|
||||
EMAIL_SENT = table.Column<DateTime>(type: "datetime2", nullable: true),
|
||||
COMMENT = table.Column<string>(type: "varchar(500)", maxLength: 500, nullable: true),
|
||||
ADDED_WHO = table.Column<string>(type: "varchar(50)", maxLength: 50, nullable: false),
|
||||
CHANGED_WHO = table.Column<string>(type: "varchar(50)", maxLength: 50, nullable: true),
|
||||
CHANGED_WHEN = table.Column<DateTime>(type: "datetime2", nullable: true),
|
||||
ERROR_TIMESTAMP = table.Column<DateTime>(type: "datetime2", nullable: true),
|
||||
ERROR_MSG = table.Column<string>(type: "varchar(900)", maxLength: 900, nullable: true)
|
||||
},
|
||||
constraints: table =>
|
||||
{
|
||||
table.PrimaryKey("PK_TBEMLP_EMAIL_OUT", x => x.GUID);
|
||||
});
|
||||
|
||||
migrationBuilder.CreateTable(
|
||||
name: "TBSIG_CONFIG",
|
||||
schema: "dbo",
|
||||
columns: table => new
|
||||
{
|
||||
SENDING_PROFILE = table.Column<int>(type: "int", nullable: false),
|
||||
SIGNATURE_HOST = table.Column<string>(type: "nvarchar(128)", nullable: false),
|
||||
EXTERNAL_PROGRAM_NAME = table.Column<string>(type: "nvarchar(30)", nullable: true),
|
||||
EXPORT_PATH = table.Column<string>(type: "nvarchar(256)", nullable: true)
|
||||
},
|
||||
constraints: table =>
|
||||
{
|
||||
});
|
||||
|
||||
migrationBuilder.CreateTable(
|
||||
name: "TBSIG_EMAIL_TEMPLATE",
|
||||
schema: "dbo",
|
||||
columns: table => new
|
||||
{
|
||||
GUID = table.Column<int>(type: "int", nullable: false)
|
||||
.Annotation("SqlServer:Identity", "1, 1"),
|
||||
NAME = table.Column<string>(type: "nvarchar(64)", nullable: true),
|
||||
BODY = table.Column<string>(type: "nvarchar(max)", nullable: true),
|
||||
SUBJECT = table.Column<string>(type: "nvarchar(512)", nullable: true),
|
||||
ADDED_WHEN = table.Column<DateTime>(type: "datetime", nullable: false),
|
||||
CHANGED_WHEN = table.Column<DateTime>(type: "datetime", nullable: false)
|
||||
},
|
||||
constraints: table =>
|
||||
{
|
||||
table.PrimaryKey("PK_TBSIG_EMAIL_TEMPLATE", x => x.GUID);
|
||||
});
|
||||
|
||||
migrationBuilder.CreateTable(
|
||||
name: "TBSIG_ENVELOPE_CERTIFICATE",
|
||||
schema: "dbo",
|
||||
columns: table => new
|
||||
{
|
||||
GUID = table.Column<int>(type: "int", nullable: false)
|
||||
.Annotation("SqlServer:Identity", "1, 1"),
|
||||
ENVELOPE_ID = table.Column<int>(type: "int", nullable: false),
|
||||
ENVELOPE_UUID = table.Column<string>(type: "nvarchar(36)", nullable: false),
|
||||
ENVELOPE_SUBJECT = table.Column<string>(type: "nvarchar(512)", nullable: false),
|
||||
CREATOR_ID = table.Column<int>(type: "int", nullable: false),
|
||||
CREATOR_NAME = table.Column<string>(type: "nvarchar(128)", nullable: false),
|
||||
CREATOR_EMAIL = table.Column<string>(type: "nvarchar(128)", nullable: false),
|
||||
ENVELOPE_STATUS = table.Column<int>(type: "int", nullable: false)
|
||||
},
|
||||
constraints: table =>
|
||||
{
|
||||
table.PrimaryKey("PK_TBSIG_ENVELOPE_CERTIFICATE", x => x.GUID);
|
||||
});
|
||||
|
||||
migrationBuilder.CreateTable(
|
||||
name: "TBSIG_ENVELOPE_TYPE",
|
||||
schema: "dbo",
|
||||
columns: table => new
|
||||
{
|
||||
GUID = table.Column<int>(type: "int", nullable: false)
|
||||
.Annotation("SqlServer:Identity", "1, 1"),
|
||||
TITLE = table.Column<string>(type: "nvarchar(128)", nullable: false),
|
||||
LANGUAGE = table.Column<string>(type: "nvarchar(5)", nullable: true),
|
||||
EXPIRES_DAYS = table.Column<int>(type: "int", nullable: false),
|
||||
CERTIFICATION_TYPE = table.Column<int>(type: "int", nullable: false),
|
||||
USE_ACCESS_CODE = table.Column<bool>(type: "bit", nullable: false),
|
||||
FINAL_EMAIL_TO_CREATOR = table.Column<int>(type: "int", nullable: false),
|
||||
FINAL_EMAIL_TO_RECEIVERS = table.Column<int>(type: "int", nullable: false),
|
||||
ADDED_WHEN = table.Column<DateTime>(type: "datetime", nullable: false),
|
||||
CHANGED_WHEN = table.Column<DateTime>(type: "datetime", nullable: false),
|
||||
EXPIRES_WARNING_DAYS = table.Column<int>(type: "int", nullable: false),
|
||||
SEND_REMINDER_EMAILS = table.Column<bool>(type: "bit", nullable: false),
|
||||
FIRST_REMINDER_DAYS = table.Column<int>(type: "int", nullable: false),
|
||||
REMINDER_INTERVAL_DAYS = table.Column<int>(type: "int", nullable: false),
|
||||
CONTRACT_TYPE = table.Column<int>(type: "int", nullable: false)
|
||||
},
|
||||
constraints: table =>
|
||||
{
|
||||
table.PrimaryKey("PK_TBSIG_ENVELOPE_TYPE", x => x.GUID);
|
||||
});
|
||||
|
||||
migrationBuilder.CreateTable(
|
||||
name: "TBDD_GROUPS_USER",
|
||||
schema: "dbo",
|
||||
columns: table => new
|
||||
{
|
||||
GUID = table.Column<int>(type: "int", nullable: false)
|
||||
.Annotation("SqlServer:Identity", "1, 1"),
|
||||
USER_ID = table.Column<int>(type: "int", nullable: false),
|
||||
GROUP_ID = table.Column<int>(type: "int", nullable: false),
|
||||
Comment = table.Column<string>(type: "nvarchar(200)", maxLength: 200, nullable: true),
|
||||
ADDED_WHO = table.Column<string>(type: "nvarchar(50)", maxLength: 50, nullable: true),
|
||||
CHANGED_WHO = table.Column<string>(type: "nvarchar(50)", maxLength: 50, nullable: true),
|
||||
ADDED_WHEN = table.Column<DateTime>(type: "datetime", nullable: false),
|
||||
CHANGED_WHEN = table.Column<DateTime>(type: "datetime", nullable: true)
|
||||
},
|
||||
constraints: table =>
|
||||
{
|
||||
table.PrimaryKey("PK_TBDD_GROUPS_USER", x => x.GUID);
|
||||
table.ForeignKey(
|
||||
name: "FK_TBDD_GROUPS_USER_TBDD_GROUPS_GROUP_ID",
|
||||
column: x => x.GROUP_ID,
|
||||
principalSchema: "dbo",
|
||||
principalTable: "TBDD_GROUPS",
|
||||
principalColumn: "GUID",
|
||||
onDelete: ReferentialAction.Cascade);
|
||||
table.ForeignKey(
|
||||
name: "FK_TBDD_GROUPS_USER_TBDD_USER_USER_ID",
|
||||
column: x => x.USER_ID,
|
||||
principalSchema: "dbo",
|
||||
principalTable: "TBDD_USER",
|
||||
principalColumn: "GUID",
|
||||
onDelete: ReferentialAction.Cascade);
|
||||
});
|
||||
|
||||
migrationBuilder.CreateTable(
|
||||
name: "TBDD_USER_MODULES",
|
||||
schema: "dbo",
|
||||
columns: table => new
|
||||
{
|
||||
GUID = table.Column<int>(type: "int", nullable: false)
|
||||
.Annotation("SqlServer:Identity", "1, 1"),
|
||||
USER_ID = table.Column<int>(type: "int", nullable: false),
|
||||
MODULE_ID = table.Column<int>(type: "int", nullable: false),
|
||||
COMMENT = table.Column<string>(type: "nvarchar(200)", maxLength: 200, nullable: true),
|
||||
ADDED_WHO = table.Column<string>(type: "nvarchar(50)", maxLength: 50, nullable: true),
|
||||
CHANGED_WHO = table.Column<string>(type: "nvarchar(50)", maxLength: 50, nullable: true)
|
||||
},
|
||||
constraints: table =>
|
||||
{
|
||||
table.PrimaryKey("PK_TBDD_USER_MODULES", x => x.GUID);
|
||||
table.ForeignKey(
|
||||
name: "FK_TBDD_USER_MODULES_TBDD_MODULES_MODULE_ID",
|
||||
column: x => x.MODULE_ID,
|
||||
principalSchema: "dbo",
|
||||
principalTable: "TBDD_MODULES",
|
||||
principalColumn: "GUID",
|
||||
onDelete: ReferentialAction.Cascade);
|
||||
table.ForeignKey(
|
||||
name: "FK_TBDD_USER_MODULES_TBDD_USER_USER_ID",
|
||||
column: x => x.USER_ID,
|
||||
principalSchema: "dbo",
|
||||
principalTable: "TBDD_USER",
|
||||
principalColumn: "GUID",
|
||||
onDelete: ReferentialAction.Cascade);
|
||||
});
|
||||
|
||||
migrationBuilder.CreateTable(
|
||||
name: "TBDD_USER_REPRESENTATION",
|
||||
schema: "dbo",
|
||||
columns: table => new
|
||||
{
|
||||
GUID = table.Column<int>(type: "int", nullable: false)
|
||||
.Annotation("SqlServer:Identity", "1, 1"),
|
||||
USER_ID = table.Column<int>(type: "int", nullable: true),
|
||||
REPR_GROUP = table.Column<int>(type: "int", nullable: true),
|
||||
GROUP_ID = table.Column<int>(type: "int", nullable: true),
|
||||
REPR_USER = table.Column<int>(type: "int", nullable: true),
|
||||
VALID_FROM = table.Column<DateTime>(type: "datetime2", nullable: true),
|
||||
VALID_TO = table.Column<DateTime>(type: "datetime2", nullable: true),
|
||||
ADDED_WHO = table.Column<string>(type: "nvarchar(50)", maxLength: 50, nullable: true),
|
||||
CHANGED_WHO = table.Column<string>(type: "nvarchar(50)", maxLength: 50, nullable: true),
|
||||
ADDED_WHEN = table.Column<DateTime>(type: "datetime", nullable: false),
|
||||
CHANGED_WHEN = table.Column<DateTime>(type: "datetime", nullable: true)
|
||||
},
|
||||
constraints: table =>
|
||||
{
|
||||
table.PrimaryKey("PK_TBDD_USER_REPRESENTATION", x => x.GUID);
|
||||
table.ForeignKey(
|
||||
name: "FK_TBDD_USER_REPRESENTATION_TBDD_GROUPS_GROUP_ID",
|
||||
column: x => x.GROUP_ID,
|
||||
principalSchema: "dbo",
|
||||
principalTable: "TBDD_GROUPS",
|
||||
principalColumn: "GUID");
|
||||
table.ForeignKey(
|
||||
name: "FK_TBDD_USER_REPRESENTATION_TBDD_GROUPS_REPR_GROUP",
|
||||
column: x => x.REPR_GROUP,
|
||||
principalSchema: "dbo",
|
||||
principalTable: "TBDD_GROUPS",
|
||||
principalColumn: "GUID");
|
||||
table.ForeignKey(
|
||||
name: "FK_TBDD_USER_REPRESENTATION_TBDD_USER_REPR_USER",
|
||||
column: x => x.REPR_USER,
|
||||
principalSchema: "dbo",
|
||||
principalTable: "TBDD_USER",
|
||||
principalColumn: "GUID");
|
||||
table.ForeignKey(
|
||||
name: "FK_TBDD_USER_REPRESENTATION_TBDD_USER_USER_ID",
|
||||
column: x => x.USER_ID,
|
||||
principalSchema: "dbo",
|
||||
principalTable: "TBDD_USER",
|
||||
principalColumn: "GUID");
|
||||
});
|
||||
|
||||
migrationBuilder.CreateTable(
|
||||
name: "TBSIG_ENVELOPE",
|
||||
schema: "dbo",
|
||||
columns: table => new
|
||||
{
|
||||
GUID = table.Column<int>(type: "int", nullable: false)
|
||||
.Annotation("SqlServer:Identity", "1, 1"),
|
||||
USER_ID = table.Column<int>(type: "int", nullable: false),
|
||||
STATUS = table.Column<int>(type: "int", nullable: false),
|
||||
ENVELOPE_UUID = table.Column<string>(type: "nvarchar(36)", nullable: false),
|
||||
MESSAGE = table.Column<string>(type: "nvarchar(max)", nullable: true),
|
||||
EXPIRES_WHEN = table.Column<DateTime>(type: "datetime", nullable: false),
|
||||
EXPIRES_WARNING_WHEN = table.Column<DateTime>(type: "datetime", nullable: false),
|
||||
ADDED_WHEN = table.Column<DateTime>(type: "datetime", nullable: false),
|
||||
CHANGED_WHEN = table.Column<DateTime>(type: "datetime", nullable: false),
|
||||
TITLE = table.Column<string>(type: "nvarchar(128)", nullable: true),
|
||||
CONTRACT_TYPE = table.Column<int>(type: "int", nullable: false),
|
||||
LANGUAGE = table.Column<string>(type: "nvarchar(5)", nullable: true),
|
||||
SEND_REMINDER_EMAILS = table.Column<bool>(type: "bit", nullable: false),
|
||||
FIRST_REMINDER_DAYS = table.Column<int>(type: "int", nullable: false),
|
||||
REMINDER_INTERVAL_DAYS = table.Column<int>(type: "int", nullable: false),
|
||||
ENVELOPE_TYPE = table.Column<int>(type: "int", nullable: false),
|
||||
CERTIFICATION_TYPE = table.Column<int>(type: "int", nullable: false),
|
||||
USE_ACCESS_CODE = table.Column<bool>(type: "bit", nullable: false),
|
||||
FINAL_EMAIL_TO_CREATOR = table.Column<int>(type: "int", nullable: false),
|
||||
FINAL_EMAIL_TO_RECEIVERS = table.Column<int>(type: "int", nullable: false),
|
||||
EXPIRES_WHEN_DAYS = table.Column<int>(type: "int", nullable: false),
|
||||
EXPIRES_WARNING_WHEN_DAYS = table.Column<int>(type: "int", nullable: false),
|
||||
TFA_ENABLED = table.Column<bool>(type: "bit", nullable: false),
|
||||
DOC_RESULT = table.Column<byte[]>(type: "varbinary(max)", nullable: true)
|
||||
},
|
||||
constraints: table =>
|
||||
{
|
||||
table.PrimaryKey("PK_TBSIG_ENVELOPE", x => x.GUID);
|
||||
table.ForeignKey(
|
||||
name: "FK_TBSIG_ENVELOPE_TBDD_USER_USER_ID",
|
||||
column: x => x.USER_ID,
|
||||
principalSchema: "dbo",
|
||||
principalTable: "TBDD_USER",
|
||||
principalColumn: "GUID",
|
||||
onDelete: ReferentialAction.Cascade);
|
||||
table.ForeignKey(
|
||||
name: "FK_TBSIG_ENVELOPE_TBSIG_ENVELOPE_TYPE_ENVELOPE_TYPE",
|
||||
column: x => x.ENVELOPE_TYPE,
|
||||
principalSchema: "dbo",
|
||||
principalTable: "TBSIG_ENVELOPE_TYPE",
|
||||
principalColumn: "GUID",
|
||||
onDelete: ReferentialAction.Cascade);
|
||||
});
|
||||
|
||||
migrationBuilder.CreateTable(
|
||||
name: "TBSIG_ENVELOPE_DOCUMENT",
|
||||
schema: "dbo",
|
||||
columns: table => new
|
||||
{
|
||||
GUID = table.Column<int>(type: "int", nullable: false)
|
||||
.Annotation("SqlServer:Identity", "1, 1"),
|
||||
ENVELOPE_ID = table.Column<int>(type: "int", nullable: false),
|
||||
ADDED_WHEN = table.Column<DateTime>(type: "datetime", nullable: false),
|
||||
BYTE_DATA = table.Column<byte[]>(type: "varbinary(max)", nullable: true)
|
||||
},
|
||||
constraints: table =>
|
||||
{
|
||||
table.PrimaryKey("PK_TBSIG_ENVELOPE_DOCUMENT", x => x.GUID);
|
||||
table.ForeignKey(
|
||||
name: "FK_TBSIG_ENVELOPE_DOCUMENT_TBSIG_ENVELOPE_ENVELOPE_ID",
|
||||
column: x => x.ENVELOPE_ID,
|
||||
principalSchema: "dbo",
|
||||
principalTable: "TBSIG_ENVELOPE",
|
||||
principalColumn: "GUID",
|
||||
onDelete: ReferentialAction.Cascade);
|
||||
});
|
||||
|
||||
migrationBuilder.CreateTable(
|
||||
name: "TBSIG_RECEIVER",
|
||||
schema: "dbo",
|
||||
columns: table => new
|
||||
{
|
||||
GUID = table.Column<int>(type: "int", nullable: false)
|
||||
.Annotation("SqlServer:Identity", "1, 1"),
|
||||
EMAIL_ADDRESS = table.Column<string>(type: "nvarchar(250)", maxLength: 250, nullable: false),
|
||||
SIGNATURE = table.Column<string>(type: "nvarchar(64)", nullable: false),
|
||||
ADDED_WHEN = table.Column<DateTime>(type: "datetime", nullable: false),
|
||||
TOTP_SECRET_KEY = table.Column<string>(type: "nvarchar(MAX)", nullable: true),
|
||||
TFA_REG_DEADLINE = table.Column<DateTime>(type: "datetime", nullable: false),
|
||||
EnvelopeId = table.Column<int>(type: "int", nullable: true)
|
||||
},
|
||||
constraints: table =>
|
||||
{
|
||||
table.PrimaryKey("PK_TBSIG_RECEIVER", x => x.GUID);
|
||||
table.UniqueConstraint("AK_TBSIG_RECEIVER_EMAIL_ADDRESS", x => x.EMAIL_ADDRESS);
|
||||
table.ForeignKey(
|
||||
name: "FK_TBSIG_RECEIVER_TBSIG_ENVELOPE_EnvelopeId",
|
||||
column: x => x.EnvelopeId,
|
||||
principalSchema: "dbo",
|
||||
principalTable: "TBSIG_ENVELOPE",
|
||||
principalColumn: "GUID");
|
||||
});
|
||||
|
||||
migrationBuilder.CreateTable(
|
||||
name: "TBSIG_DOCUMENT_RECEIVER_ELEMENT",
|
||||
schema: "dbo",
|
||||
columns: table => new
|
||||
{
|
||||
GUID = table.Column<int>(type: "int", nullable: false)
|
||||
.Annotation("SqlServer:Identity", "1, 1"),
|
||||
DOCUMENT_ID = table.Column<int>(type: "int", nullable: false),
|
||||
RECEIVER_ID = table.Column<int>(type: "int", nullable: false),
|
||||
ELEMENT_TYPE = table.Column<int>(type: "int", nullable: false),
|
||||
POSITION_X = table.Column<double>(type: "float", nullable: false),
|
||||
POSITION_Y = table.Column<double>(type: "float", nullable: false),
|
||||
WIDTH = table.Column<double>(type: "float", nullable: false),
|
||||
HEIGHT = table.Column<double>(type: "float", nullable: false),
|
||||
PAGE = table.Column<int>(type: "int", nullable: false),
|
||||
REQUIRED = table.Column<bool>(type: "bit", nullable: false),
|
||||
TOOLTIP = table.Column<string>(type: "nvarchar(max)", nullable: true),
|
||||
READ_ONLY = table.Column<bool>(type: "bit", nullable: false),
|
||||
ANNOTATION_INDEX = table.Column<int>(type: "int", nullable: false),
|
||||
ADDED_WHEN = table.Column<DateTime>(type: "datetime", nullable: false),
|
||||
CHANGED_WHEN = table.Column<DateTime>(type: "datetime", nullable: false)
|
||||
},
|
||||
constraints: table =>
|
||||
{
|
||||
table.PrimaryKey("PK_TBSIG_DOCUMENT_RECEIVER_ELEMENT", x => x.GUID);
|
||||
table.ForeignKey(
|
||||
name: "FK_TBSIG_DOCUMENT_RECEIVER_ELEMENT_TBSIG_ENVELOPE_DOCUMENT_DOCUMENT_ID",
|
||||
column: x => x.DOCUMENT_ID,
|
||||
principalSchema: "dbo",
|
||||
principalTable: "TBSIG_ENVELOPE_DOCUMENT",
|
||||
principalColumn: "GUID",
|
||||
onDelete: ReferentialAction.Cascade);
|
||||
table.ForeignKey(
|
||||
name: "FK_TBSIG_DOCUMENT_RECEIVER_ELEMENT_TBSIG_RECEIVER_RECEIVER_ID",
|
||||
column: x => x.RECEIVER_ID,
|
||||
principalSchema: "dbo",
|
||||
principalTable: "TBSIG_RECEIVER",
|
||||
principalColumn: "GUID",
|
||||
onDelete: ReferentialAction.Cascade);
|
||||
});
|
||||
|
||||
migrationBuilder.CreateTable(
|
||||
name: "TBSIG_DOCUMENT_STATUS",
|
||||
schema: "dbo",
|
||||
columns: table => new
|
||||
{
|
||||
GUID = table.Column<int>(type: "int", nullable: false)
|
||||
.Annotation("SqlServer:Identity", "1, 1"),
|
||||
ENVELOPE_ID = table.Column<int>(type: "int", nullable: false),
|
||||
RECEIVER_ID = table.Column<int>(type: "int", nullable: false),
|
||||
STATUS = table.Column<int>(type: "int", nullable: false),
|
||||
STATUS_CHANGED_WHEN = table.Column<DateTime>(type: "datetime", nullable: false),
|
||||
VALUE = table.Column<string>(type: "nvarchar(max)", nullable: true),
|
||||
ADDED_WHEN = table.Column<DateTime>(type: "datetime", nullable: false),
|
||||
CHANGED_WHEN = table.Column<DateTime>(type: "datetime", nullable: false)
|
||||
},
|
||||
constraints: table =>
|
||||
{
|
||||
table.PrimaryKey("PK_TBSIG_DOCUMENT_STATUS", x => x.GUID);
|
||||
table.ForeignKey(
|
||||
name: "FK_TBSIG_DOCUMENT_STATUS_TBSIG_ENVELOPE_ENVELOPE_ID",
|
||||
column: x => x.ENVELOPE_ID,
|
||||
principalSchema: "dbo",
|
||||
principalTable: "TBSIG_ENVELOPE",
|
||||
principalColumn: "GUID",
|
||||
onDelete: ReferentialAction.Cascade);
|
||||
table.ForeignKey(
|
||||
name: "FK_TBSIG_DOCUMENT_STATUS_TBSIG_RECEIVER_RECEIVER_ID",
|
||||
column: x => x.RECEIVER_ID,
|
||||
principalSchema: "dbo",
|
||||
principalTable: "TBSIG_RECEIVER",
|
||||
principalColumn: "GUID",
|
||||
onDelete: ReferentialAction.Cascade);
|
||||
});
|
||||
|
||||
migrationBuilder.CreateTable(
|
||||
name: "TBSIG_ENVELOPE_HISTORY",
|
||||
schema: "dbo",
|
||||
columns: table => new
|
||||
{
|
||||
GUID = table.Column<long>(type: "bigint", nullable: false)
|
||||
.Annotation("SqlServer:Identity", "1, 1"),
|
||||
ENVELOPE_ID = table.Column<int>(type: "int", nullable: false),
|
||||
USER_REFERENCE = table.Column<string>(type: "nvarchar(128)", nullable: false),
|
||||
STATUS = table.Column<int>(type: "int", nullable: false),
|
||||
ADDED_WHEN = table.Column<DateTime>(type: "datetime", nullable: false),
|
||||
ACTION_DATE = table.Column<DateTime>(type: "datetime", nullable: false),
|
||||
COMMENT = table.Column<string>(type: "nvarchar(max)", nullable: true),
|
||||
SenderId = table.Column<int>(type: "int", nullable: true),
|
||||
ReceiverId = table.Column<int>(type: "int", nullable: true)
|
||||
},
|
||||
constraints: table =>
|
||||
{
|
||||
table.PrimaryKey("PK_TBSIG_ENVELOPE_HISTORY", x => x.GUID);
|
||||
table.ForeignKey(
|
||||
name: "FK_TBSIG_ENVELOPE_HISTORY_TBDD_USER_SenderId",
|
||||
column: x => x.SenderId,
|
||||
principalSchema: "dbo",
|
||||
principalTable: "TBDD_USER",
|
||||
principalColumn: "GUID");
|
||||
table.ForeignKey(
|
||||
name: "FK_TBSIG_ENVELOPE_HISTORY_TBSIG_ENVELOPE_ENVELOPE_ID",
|
||||
column: x => x.ENVELOPE_ID,
|
||||
principalSchema: "dbo",
|
||||
principalTable: "TBSIG_ENVELOPE",
|
||||
principalColumn: "GUID",
|
||||
onDelete: ReferentialAction.Cascade);
|
||||
table.ForeignKey(
|
||||
name: "FK_TBSIG_ENVELOPE_HISTORY_TBSIG_RECEIVER_ReceiverId",
|
||||
column: x => x.ReceiverId,
|
||||
principalSchema: "dbo",
|
||||
principalTable: "TBSIG_RECEIVER",
|
||||
principalColumn: "GUID");
|
||||
});
|
||||
|
||||
migrationBuilder.CreateTable(
|
||||
name: "TBSIG_ENVELOPE_RECEIVER",
|
||||
schema: "dbo",
|
||||
columns: table => new
|
||||
{
|
||||
ENVELOPE_ID = table.Column<int>(type: "int", nullable: false),
|
||||
RECEIVER_ID = table.Column<int>(type: "int", nullable: false),
|
||||
SEQUENCE = table.Column<int>(type: "int", nullable: false),
|
||||
NAME = table.Column<string>(type: "nvarchar(128)", nullable: true),
|
||||
JOB_TITLE = table.Column<string>(type: "nvarchar(128)", nullable: true),
|
||||
COMPANY_NAME = table.Column<string>(type: "nvarchar(128)", nullable: true),
|
||||
PRIVATE_MESSAGE = table.Column<string>(type: "nvarchar(max)", nullable: true),
|
||||
ACCESS_CODE = table.Column<string>(type: "nvarchar(64)", nullable: true),
|
||||
ADDED_WHEN = table.Column<DateTime>(type: "datetime", nullable: false),
|
||||
CHANGED_WHEN = table.Column<DateTime>(type: "datetime", nullable: false),
|
||||
PHONE_NUMBER = table.Column<string>(type: "nvarchar(20)", maxLength: 20, nullable: true)
|
||||
},
|
||||
constraints: table =>
|
||||
{
|
||||
table.PrimaryKey("PK_TBSIG_ENVELOPE_RECEIVER", x => new { x.ENVELOPE_ID, x.RECEIVER_ID });
|
||||
table.ForeignKey(
|
||||
name: "FK_TBSIG_ENVELOPE_RECEIVER_TBSIG_ENVELOPE_ENVELOPE_ID",
|
||||
column: x => x.ENVELOPE_ID,
|
||||
principalSchema: "dbo",
|
||||
principalTable: "TBSIG_ENVELOPE",
|
||||
principalColumn: "GUID",
|
||||
onDelete: ReferentialAction.Cascade);
|
||||
table.ForeignKey(
|
||||
name: "FK_TBSIG_ENVELOPE_RECEIVER_TBSIG_RECEIVER_RECEIVER_ID",
|
||||
column: x => x.RECEIVER_ID,
|
||||
principalSchema: "dbo",
|
||||
principalTable: "TBSIG_RECEIVER",
|
||||
principalColumn: "GUID",
|
||||
onDelete: ReferentialAction.Cascade);
|
||||
});
|
||||
|
||||
migrationBuilder.CreateTable(
|
||||
name: "TBSIG_ENVELOPE_RECEIVER_READ_ONLY",
|
||||
columns: table => new
|
||||
{
|
||||
GUID = table.Column<long>(type: "bigint", nullable: false)
|
||||
.Annotation("SqlServer:Identity", "1, 1"),
|
||||
ENVELOPE_ID = table.Column<long>(type: "bigint", nullable: false),
|
||||
RECEIVER_MAIL = table.Column<string>(type: "nvarchar(250)", maxLength: 250, nullable: false),
|
||||
DATE_VALID = table.Column<DateTime>(type: "datetime2", nullable: false),
|
||||
ADDED_WHO = table.Column<string>(type: "nvarchar(250)", maxLength: 250, nullable: false),
|
||||
ADDED_WHEN = table.Column<DateTime>(type: "datetime2", nullable: false),
|
||||
CHANGED_WHO = table.Column<string>(type: "nvarchar(100)", maxLength: 100, nullable: true),
|
||||
CHANGED_WHEN = table.Column<DateTime>(type: "datetime2", nullable: false)
|
||||
},
|
||||
constraints: table =>
|
||||
{
|
||||
table.PrimaryKey("PK_TBSIG_ENVELOPE_RECEIVER_READ_ONLY", x => x.GUID);
|
||||
table.ForeignKey(
|
||||
name: "FK_TBSIG_ENVELOPE_RECEIVER_READ_ONLY_TBSIG_RECEIVER_ADDED_WHO",
|
||||
column: x => x.ADDED_WHO,
|
||||
principalSchema: "dbo",
|
||||
principalTable: "TBSIG_RECEIVER",
|
||||
principalColumn: "EMAIL_ADDRESS",
|
||||
onDelete: ReferentialAction.Cascade);
|
||||
});
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_TBDD_GROUPS_USER_GROUP_ID",
|
||||
schema: "dbo",
|
||||
table: "TBDD_GROUPS_USER",
|
||||
column: "GROUP_ID");
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_TBDD_GROUPS_USER_USER_ID",
|
||||
schema: "dbo",
|
||||
table: "TBDD_GROUPS_USER",
|
||||
column: "USER_ID");
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_TBDD_USER_MODULES_MODULE_ID",
|
||||
schema: "dbo",
|
||||
table: "TBDD_USER_MODULES",
|
||||
column: "MODULE_ID");
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_TBDD_USER_MODULES_USER_ID",
|
||||
schema: "dbo",
|
||||
table: "TBDD_USER_MODULES",
|
||||
column: "USER_ID");
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_TBDD_USER_REPRESENTATION_GROUP_ID",
|
||||
schema: "dbo",
|
||||
table: "TBDD_USER_REPRESENTATION",
|
||||
column: "GROUP_ID");
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_TBDD_USER_REPRESENTATION_REPR_GROUP",
|
||||
schema: "dbo",
|
||||
table: "TBDD_USER_REPRESENTATION",
|
||||
column: "REPR_GROUP");
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_TBDD_USER_REPRESENTATION_REPR_USER",
|
||||
schema: "dbo",
|
||||
table: "TBDD_USER_REPRESENTATION",
|
||||
column: "REPR_USER");
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_TBDD_USER_REPRESENTATION_USER_ID",
|
||||
schema: "dbo",
|
||||
table: "TBDD_USER_REPRESENTATION",
|
||||
column: "USER_ID");
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_TBSIG_DOCUMENT_RECEIVER_ELEMENT_DOCUMENT_ID",
|
||||
schema: "dbo",
|
||||
table: "TBSIG_DOCUMENT_RECEIVER_ELEMENT",
|
||||
column: "DOCUMENT_ID");
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_TBSIG_DOCUMENT_RECEIVER_ELEMENT_RECEIVER_ID",
|
||||
schema: "dbo",
|
||||
table: "TBSIG_DOCUMENT_RECEIVER_ELEMENT",
|
||||
column: "RECEIVER_ID");
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_TBSIG_DOCUMENT_STATUS_ENVELOPE_ID",
|
||||
schema: "dbo",
|
||||
table: "TBSIG_DOCUMENT_STATUS",
|
||||
column: "ENVELOPE_ID");
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_TBSIG_DOCUMENT_STATUS_RECEIVER_ID",
|
||||
schema: "dbo",
|
||||
table: "TBSIG_DOCUMENT_STATUS",
|
||||
column: "RECEIVER_ID");
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_TBSIG_ENVELOPE_ENVELOPE_TYPE",
|
||||
schema: "dbo",
|
||||
table: "TBSIG_ENVELOPE",
|
||||
column: "ENVELOPE_TYPE");
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_TBSIG_ENVELOPE_USER_ID",
|
||||
schema: "dbo",
|
||||
table: "TBSIG_ENVELOPE",
|
||||
column: "USER_ID");
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_TBSIG_ENVELOPE_DOCUMENT_ENVELOPE_ID",
|
||||
schema: "dbo",
|
||||
table: "TBSIG_ENVELOPE_DOCUMENT",
|
||||
column: "ENVELOPE_ID");
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_TBSIG_ENVELOPE_HISTORY_ENVELOPE_ID",
|
||||
schema: "dbo",
|
||||
table: "TBSIG_ENVELOPE_HISTORY",
|
||||
column: "ENVELOPE_ID");
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_TBSIG_ENVELOPE_HISTORY_ReceiverId",
|
||||
schema: "dbo",
|
||||
table: "TBSIG_ENVELOPE_HISTORY",
|
||||
column: "ReceiverId");
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_TBSIG_ENVELOPE_HISTORY_SenderId",
|
||||
schema: "dbo",
|
||||
table: "TBSIG_ENVELOPE_HISTORY",
|
||||
column: "SenderId");
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_TBSIG_ENVELOPE_RECEIVER_RECEIVER_ID",
|
||||
schema: "dbo",
|
||||
table: "TBSIG_ENVELOPE_RECEIVER",
|
||||
column: "RECEIVER_ID");
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_TBSIG_ENVELOPE_RECEIVER_READ_ONLY_ADDED_WHO",
|
||||
table: "TBSIG_ENVELOPE_RECEIVER_READ_ONLY",
|
||||
column: "ADDED_WHO");
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_TBSIG_RECEIVER_EnvelopeId",
|
||||
schema: "dbo",
|
||||
table: "TBSIG_RECEIVER",
|
||||
column: "EnvelopeId");
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
protected override void Down(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.DropTable(
|
||||
name: "TBDD_CLIENT_USER",
|
||||
schema: "dbo");
|
||||
|
||||
migrationBuilder.DropTable(
|
||||
name: "TBDD_GROUPS_USER",
|
||||
schema: "dbo");
|
||||
|
||||
migrationBuilder.DropTable(
|
||||
name: "TBDD_USER_MODULES",
|
||||
schema: "dbo");
|
||||
|
||||
migrationBuilder.DropTable(
|
||||
name: "TBDD_USER_REPRESENTATION",
|
||||
schema: "dbo");
|
||||
|
||||
migrationBuilder.DropTable(
|
||||
name: "TBEMLP_EMAIL_OUT");
|
||||
|
||||
migrationBuilder.DropTable(
|
||||
name: "TBSIG_CONFIG",
|
||||
schema: "dbo");
|
||||
|
||||
migrationBuilder.DropTable(
|
||||
name: "TBSIG_DOCUMENT_RECEIVER_ELEMENT",
|
||||
schema: "dbo");
|
||||
|
||||
migrationBuilder.DropTable(
|
||||
name: "TBSIG_DOCUMENT_STATUS",
|
||||
schema: "dbo");
|
||||
|
||||
migrationBuilder.DropTable(
|
||||
name: "TBSIG_EMAIL_TEMPLATE",
|
||||
schema: "dbo");
|
||||
|
||||
migrationBuilder.DropTable(
|
||||
name: "TBSIG_ENVELOPE_CERTIFICATE",
|
||||
schema: "dbo");
|
||||
|
||||
migrationBuilder.DropTable(
|
||||
name: "TBSIG_ENVELOPE_HISTORY",
|
||||
schema: "dbo");
|
||||
|
||||
migrationBuilder.DropTable(
|
||||
name: "TBSIG_ENVELOPE_RECEIVER",
|
||||
schema: "dbo");
|
||||
|
||||
migrationBuilder.DropTable(
|
||||
name: "TBSIG_ENVELOPE_RECEIVER_READ_ONLY");
|
||||
|
||||
migrationBuilder.DropTable(
|
||||
name: "TBDD_MODULES",
|
||||
schema: "dbo");
|
||||
|
||||
migrationBuilder.DropTable(
|
||||
name: "TBDD_GROUPS",
|
||||
schema: "dbo");
|
||||
|
||||
migrationBuilder.DropTable(
|
||||
name: "TBSIG_ENVELOPE_DOCUMENT",
|
||||
schema: "dbo");
|
||||
|
||||
migrationBuilder.DropTable(
|
||||
name: "TBSIG_RECEIVER",
|
||||
schema: "dbo");
|
||||
|
||||
migrationBuilder.DropTable(
|
||||
name: "TBSIG_ENVELOPE",
|
||||
schema: "dbo");
|
||||
|
||||
migrationBuilder.DropTable(
|
||||
name: "TBDD_USER",
|
||||
schema: "dbo");
|
||||
|
||||
migrationBuilder.DropTable(
|
||||
name: "TBSIG_ENVELOPE_TYPE",
|
||||
schema: "dbo");
|
||||
}
|
||||
}
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,13 +0,0 @@
|
||||
using DigitalData.Core.Infrastructure;
|
||||
using EnvelopeGenerator.Domain.Entities;
|
||||
using EnvelopeGenerator.Application.Contracts.Repositories;
|
||||
|
||||
namespace EnvelopeGenerator.Infrastructure.Repositories;
|
||||
|
||||
[Obsolete("Use IRepository")]
|
||||
public class EnvelopeCertificateRepository : CRUDRepository<EnvelopeCertificate, int, EGDbContext>, IEnvelopeCertificateRepository
|
||||
{
|
||||
public EnvelopeCertificateRepository(EGDbContext dbContext) : base(dbContext, dbContext.EnvelopeCertificates)
|
||||
{
|
||||
}
|
||||
}
|
||||
13
EnvelopeGenerator.Infrastructure/appsettings.migration.json
Normal file
13
EnvelopeGenerator.Infrastructure/appsettings.migration.json
Normal file
@@ -0,0 +1,13 @@
|
||||
{
|
||||
"ConnectionStrings": {
|
||||
"Default": "Server=SDD-VMP04-SQL17\\DD_DEVELOP01;Database=DD_ECM_DATA_MIGR_TEST;User Id=sa;Password=dd;Encrypt=false;TrustServerCertificate=True;"
|
||||
},
|
||||
"DbTriggerParams": {
|
||||
"Envelope": [ "TBSIG_ENVELOPE_HISTORY_AFT_INS" ],
|
||||
"EnvelopeHistory": [ "TBSIG_ENVELOPE_HISTORY_AFT_INS" ],
|
||||
"EmailOut": [ "TBEMLP_EMAIL_OUT_AFT_INS", "TBEMLP_EMAIL_OUT_AFT_UPD" ],
|
||||
"EnvelopeReceiverReadOnly": [ "TBSIG_ENVELOPE_RECEIVER_READ_ONLY_UPD" ],
|
||||
"Receiver": [],
|
||||
"EmailTemplate": [ "TBSIG_EMAIL_TEMPLATE_AFT_UPD" ]
|
||||
}
|
||||
}
|
||||
@@ -28,7 +28,7 @@ public static class DependencyInjection
|
||||
});
|
||||
|
||||
// Add envelope generator services
|
||||
services.AddEnvelopeGeneratorInfrastructureServices(options => options.UseSqlServer(connStr));
|
||||
services.AddEnvelopeGeneratorInfrastructureServices((provider, options) => options.UseSqlServer(connStr));
|
||||
|
||||
return services
|
||||
.AddSingleton<CommandManager>()
|
||||
|
||||
@@ -12,7 +12,8 @@
|
||||
}
|
||||
},
|
||||
"ConnectionStrings": {
|
||||
"Default": "Server=SDD-VMP04-SQL17\\DD_DEVELOP01;Database=DD_ECM;User Id=sa;Password=dd;Encrypt=false;TrustServerCertificate=True;"
|
||||
"Default": "Server=SDD-VMP04-SQL17\\DD_DEVELOP01;Database=DD_ECM;User Id=sa;Password=dd;Encrypt=false;TrustServerCertificate=True;",
|
||||
"Dev": "Server=SDD-VMP04-SQL17\\DD_DEVELOP01;Database=DD_ECM_DATA_MIGR_TEST;User Id=sa;Password=dd;Encrypt=false;TrustServerCertificate=True;"
|
||||
},
|
||||
"PSPDFKitLicenseKey": "SXCtGGY9XA-31OGUXQK-r7c6AkdLGPm2ljuyDr1qu0kkhLvydg-Do-fxpNUF4Rq3fS_xAnZRNFRHbXpE6sQ2BMcCSVTcXVJO6tPviexjpiT-HnrDEySlUERJnnvh-tmeOWprxS6BySPnSILkmaVQtUfOIUS-cUbvvEYHTvQBKbSF8di4XHQFyfv49ihr51axm3NVV3AXwh2EiKL5C5XdqBZ4sQ4O7vXBjM2zvxdPxlxdcNYmiU83uAzw7B83O_jubPzya4CdUHh_YH7Nlp2gP56MeG1Sw2JhMtfG3Rj14Sg4ctaeL9p6AEWca5dDjJ2li5tFIV2fQSsw6A_cowLu0gtMm5i8IfJXeIcQbMC2-0wGv1oe9hZYJvFMdzhTM_FiejM0agemxt3lJyzuyP8zbBSOgp7Si6A85krLWPZptyZBTG7pp7IHboUHfPMxCXqi-zMsqewOJtQBE2mjntU-lPryKnssOpMPfswwQX7QSkJYV5EMqNmEhQX6mEkp2wcqFzMC7bJQew1aO4pOpvChUaMvb1vgRek0HxLag0nwQYX2YrYGh7F_xXJs-8HNwJe8H0-eW4x4faayCgM5rB5772CCCsD9ThZcvXFrjNHHLGJ8WuBUFm6LArvSfFQdii_7j-_sqHMpeKZt26NFgivj1A==",
|
||||
"Content-Security-Policy": [ // The first format parameter {0} will be replaced by the nonce value.
|
||||
|
||||
@@ -18,7 +18,7 @@ public class Mock
|
||||
builder.Configuration.AddJsonFile(configPath, optional: true, reloadOnChange: true);
|
||||
|
||||
builder.Services
|
||||
.AddEnvelopeGeneratorInfrastructureServices(opt =>
|
||||
.AddEnvelopeGeneratorInfrastructureServices((provider, opt) =>
|
||||
{
|
||||
if (useRealDb)
|
||||
{
|
||||
|
||||
@@ -1,18 +1,17 @@
|
||||
using EnvelopeGenerator.Web.Services;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
|
||||
namespace EnvelopeGenerator.Web.Controllers
|
||||
namespace EnvelopeGenerator.Web.Controllers;
|
||||
|
||||
public class BaseController : Controller
|
||||
{
|
||||
public class BaseController : Controller
|
||||
protected readonly DatabaseService database;
|
||||
|
||||
protected readonly ILogger _logger;
|
||||
|
||||
public BaseController(DatabaseService database, ILogger logger)
|
||||
{
|
||||
protected readonly DatabaseService database;
|
||||
|
||||
protected readonly ILogger _logger;
|
||||
|
||||
public BaseController(DatabaseService database, ILogger logger)
|
||||
{
|
||||
this.database = database;
|
||||
_logger = logger;
|
||||
}
|
||||
this.database = database;
|
||||
_logger = logger;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,14 +0,0 @@
|
||||
using EnvelopeGenerator.Application.Contracts.Services;
|
||||
using EnvelopeGenerator.Application.DTOs;
|
||||
using EnvelopeGenerator.Domain.Entities;
|
||||
|
||||
namespace EnvelopeGenerator.Web.Controllers.Test;
|
||||
|
||||
[Obsolete("Use MediatR")]
|
||||
public class TestEnvelopeCertificateController : TestControllerBase<IEnvelopeCertificateService, EnvelopeCertificateDto, EnvelopeCertificate, int>
|
||||
{
|
||||
public TestEnvelopeCertificateController(ILogger<TestEnvelopeCertificateController> logger, IEnvelopeCertificateService service) : base(logger, service)
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
@@ -2113,7 +2113,7 @@
|
||||
<PrivateAssets>all</PrivateAssets>
|
||||
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
||||
</PackageReference>
|
||||
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="7.0.15" />
|
||||
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="7.0.20" />
|
||||
<PackageReference Include="Microsoft.Extensions.Caching.SqlServer" Version="7.0.20" />
|
||||
<PackageReference Include="Newtonsoft.Json" Version="13.0.3" />
|
||||
<PackageReference Include="NLog" Version="5.2.5" />
|
||||
|
||||
@@ -88,7 +88,10 @@ try
|
||||
}
|
||||
|
||||
//AddEF Core dbcontext
|
||||
var connStr = config.GetConnectionString(Key.Default) ?? throw new InvalidOperationException("There is no default connection string in appsettings.json.");
|
||||
var useDbMigration = Environment.GetEnvironmentVariable("MIGRATION_TEST_MODE") == true.ToString() || config.GetValue<bool>("UseDbMigration");
|
||||
var cnnStrName = useDbMigration ? Key.DbMigrationTest : Key.Default;
|
||||
var connStr = config.GetConnectionString(cnnStrName)
|
||||
?? throw new InvalidOperationException($"Connection string '{cnnStrName}' is missing in the application configuration.");
|
||||
|
||||
builder.Services.AddDistributedSqlServerCache(options =>
|
||||
{
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
"ASPNETCORE_ENVIRONMENT": "Development"
|
||||
}
|
||||
},
|
||||
"swagger": {
|
||||
"https": {
|
||||
"commandName": "Project",
|
||||
"launchBrowser": true,
|
||||
"launchUrl": "swagger",
|
||||
@@ -25,6 +25,17 @@
|
||||
},
|
||||
"dotnetRunMessages": true,
|
||||
"applicationUrl": "https://localhost:7202;http://localhost:5009"
|
||||
},
|
||||
"httpsDbMigration": {
|
||||
"commandName": "Project",
|
||||
"launchBrowser": true,
|
||||
"launchUrl": "swagger",
|
||||
"environmentVariables": {
|
||||
"ASPNETCORE_ENVIRONMENT": "Development",
|
||||
"MIGRATION_TEST_MODE": "true"
|
||||
},
|
||||
"dotnetRunMessages": true,
|
||||
"applicationUrl": "https://localhost:7202;http://localhost:5009"
|
||||
}
|
||||
},
|
||||
"iisSettings": {
|
||||
|
||||
@@ -7,8 +7,5 @@
|
||||
}
|
||||
},
|
||||
"AdminPassword": "dd",
|
||||
"UseCSPInDev": false,
|
||||
"ConnectionStrings": {
|
||||
"Default": "Server=sDD-VMP04-SQL19\\CURSORAG;Database=DD_ECM;User Id=sa;Password=dd;Encrypt=false;TrustServerCertificate=True;"
|
||||
}
|
||||
"UseCSPInDev": false
|
||||
}
|
||||
@@ -1,6 +1,7 @@
|
||||
{
|
||||
"DiPMode": false, //Please be careful when enabling Development in Production (DiP) mode. It allows Swagger and test controllers to be enabled in a production environment.
|
||||
"EnableSwagger": true,
|
||||
"UseDbMigration": false,
|
||||
"EnableTestControllers": true,
|
||||
"DetailedErrors": true,
|
||||
"Logging": {
|
||||
@@ -12,7 +13,8 @@
|
||||
}
|
||||
},
|
||||
"ConnectionStrings": {
|
||||
"Default": "Server=SDD-VMP04-SQL17\\DD_DEVELOP01;Database=DD_ECM;User Id=sa;Password=dd;Encrypt=false;TrustServerCertificate=True;"
|
||||
"Default": "Server=SDD-VMP04-SQL17\\DD_DEVELOP01;Database=DD_ECM;User Id=sa;Password=dd;Encrypt=false;TrustServerCertificate=True;",
|
||||
"DbMigrationTest": "Server=SDD-VMP04-SQL17\\DD_DEVELOP01;Database=DD_ECM_DATA_MIGR_TEST;User Id=sa;Password=dd;Encrypt=false;TrustServerCertificate=True;"
|
||||
},
|
||||
"PSPDFKitLicenseKey": "SXCtGGY9XA-31OGUXQK-r7c6AkdLGPm2ljuyDr1qu0kkhLvydg-Do-fxpNUF4Rq3fS_xAnZRNFRHbXpE6sQ2BMcCSVTcXVJO6tPviexjpiT-HnrDEySlUERJnnvh-tmeOWprxS6BySPnSILkmaVQtUfOIUS-cUbvvEYHTvQBKbSF8di4XHQFyfv49ihr51axm3NVV3AXwh2EiKL5C5XdqBZ4sQ4O7vXBjM2zvxdPxlxdcNYmiU83uAzw7B83O_jubPzya4CdUHh_YH7Nlp2gP56MeG1Sw2JhMtfG3Rj14Sg4ctaeL9p6AEWca5dDjJ2li5tFIV2fQSsw6A_cowLu0gtMm5i8IfJXeIcQbMC2-0wGv1oe9hZYJvFMdzhTM_FiejM0agemxt3lJyzuyP8zbBSOgp7Si6A85krLWPZptyZBTG7pp7IHboUHfPMxCXqi-zMsqewOJtQBE2mjntU-lPryKnssOpMPfswwQX7QSkJYV5EMqNmEhQX6mEkp2wcqFzMC7bJQew1aO4pOpvChUaMvb1vgRek0HxLag0nwQYX2YrYGh7F_xXJs-8HNwJe8H0-eW4x4faayCgM5rB5772CCCsD9ThZcvXFrjNHHLGJ8WuBUFm6LArvSfFQdii_7j-_sqHMpeKZt26NFgivj1A==",
|
||||
"Content-Security-Policy": [ // The first format parameter {0} will be replaced by the nonce value.
|
||||
|
||||
74
EnvelopeGenerator.Web/wwwroot/README.md
Normal file
74
EnvelopeGenerator.Web/wwwroot/README.md
Normal file
@@ -0,0 +1,74 @@
|
||||
# 📄 PSPDFKit-Integration – Vanilla JavaScript
|
||||
|
||||
Dieses Projekt zeigt, wie die PDF-Anzeige- und Signaturbibliothek [PSPDFKit](https://www.nutrient.io/sdk/web/getting-started/other-frameworks/javascript/) mithilfe von **Vanilla JavaScript** integriert werden kann.
|
||||
|
||||
## 🚀 Verwendungszweck
|
||||
|
||||
PSPDFKit wurde in der Webanwendung verwendet, um PDF-Dokumente:
|
||||
- anzuzeigen,
|
||||
- zu signieren,
|
||||
- mit Anmerkungen zu versehen,
|
||||
- Formularfelder auszufüllen.
|
||||
|
||||
Benutzer können Dokumente **direkt über den Browser signieren und versenden**.
|
||||
|
||||
---
|
||||
|
||||
## 🔧 Wo und wie wurde PSPDFKit verwendet?
|
||||
|
||||
### 1. PSPDFKit laden
|
||||
|
||||
PSPDFKit wurde mit der Funktion `loadPSPDFKit` in `UI.js` gestartet:
|
||||
|
||||
```js
|
||||
PSPDFKit.load({
|
||||
container: ‚#app‘,
|
||||
document: arrayBuffer,
|
||||
licenseKey: ‚YOUR_LICENSE_KEY‘,
|
||||
...
|
||||
})
|
||||
```
|
||||
|
||||
### 2. Anmerkungen und Formularfelder
|
||||
|
||||
In `annotation.js` werden die folgenden Felder dynamisch zu PDF-Dokumenten hinzugefügt:
|
||||
|
||||
- **Signaturfeld** (`SignatureFormField`)
|
||||
- **Position** (`TextFormField`)
|
||||
- **Stadt** (`TextFormField`)
|
||||
- **Datum** (`TextFormField`, wird automatisch mit dem heutigen Datum ausgefüllt)
|
||||
- **Bezeichnungen** (`Ort`, `Position`, `Date`) – dies sind nur lesbare Textfelder.
|
||||
- **Rahmen für Signaturbild** – wird dynamisch erstellt und platziert, wenn der Benutzer unterschreibt.
|
||||
|
||||
Die Felder werden entsprechend ihrer Position auf dem PDF berechnet und für jedes Feld wird eine eindeutige ID erstellt.
|
||||
|
||||
---
|
||||
|
||||
### 3. Anpassungen der Symbolleiste
|
||||
|
||||
In `UI.js` ist die Standard-Symbolleiste (`toolbarItems`) von PSPDFKit konfiguriert:
|
||||
|
||||
- Es werden nur zulässige Elemente (`sidebar`, `zoom`, `pager`, `search` usw.) angezeigt.
|
||||
- Je nach Benutzerberechtigung (z. B. schreibgeschützt oder beschreibbar) werden die folgenden speziellen Schaltflächen dynamisch hinzugefügt:
|
||||
|
||||
**Beschreibbarer Modus:**
|
||||
- `Teilen` (SHARE)
|
||||
- `Logout` (LOGOUT)
|
||||
- `Zurücksetzen` (RESET)
|
||||
- `Ablehnen` (REJECT)
|
||||
- `Finalisieren` (FINISH)
|
||||
|
||||
**Nur-Lesemodus:**
|
||||
- Die Schaltfläche `Teilen` kopiert nur den Link in die Zwischenablage (COPY_URL)
|
||||
|
||||
Für mobile Geräte werden zusätzlich vereinfachte Schaltflächen angezeigt.
|
||||
|
||||
---
|
||||
|
||||
### 📁 Wichtige Dateien
|
||||
|
||||
| Datei | Beschreibung |
|
||||
|-------------------|-----------------------------------------------|
|
||||
| `app.js` | Hauptanwendungsklasse, Dokumentladen und -steuerung |
|
||||
| `ui.js` | PSPDFKit-UI-Einrichtung und Symbolleistenverwaltung |
|
||||
| `annotation.js` | Erstellen und Löschen von Anmerkungsfeldern |
|
||||
Reference in New Issue
Block a user