Compare commits
44 Commits
feat/signF
...
c1d46b446a
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c1d46b446a | ||
|
|
a5261baec5 | ||
|
|
3eb11311a7 | ||
|
|
10b05d6301 | ||
|
|
c6fe039dd8 | ||
|
|
1f43dff9f4 | ||
|
|
dafa4f0409 | ||
|
|
3625508460 | ||
|
|
7326f03a8d | ||
|
|
35e9f6404c | ||
|
|
dd6bc55fd6 | ||
|
|
8e4266fcf6 | ||
|
|
10aa857544 | ||
|
|
4fc94fc567 | ||
|
|
b83607d916 | ||
|
|
a38c2cd956 | ||
|
|
502c607ebd | ||
|
|
39c1d3e624 | ||
|
|
39cc30f48b | ||
|
|
79204d4f6d | ||
|
|
806b990556 | ||
|
|
d34a1016c4 | ||
|
|
93dbe63fb4 | ||
|
|
55ffe40c46 | ||
|
|
be9516d852 | ||
|
|
12502bb2de | ||
|
|
26745e0c37 | ||
|
|
2ea5fd7dbb | ||
|
|
446aeb00b1 | ||
|
|
abc3bb7652 | ||
|
|
a8a768d7d6 | ||
|
|
31c4a8a20f | ||
|
|
e98abde5ff | ||
|
|
49497dafd1 | ||
|
|
08e1187124 | ||
|
|
1b923dc93b | ||
|
|
bdf2527fc1 | ||
|
|
1a69478f48 | ||
|
|
83d29bf78d | ||
|
|
bc45aadf27 | ||
|
|
7e66cd4dae | ||
|
|
cc11d70a27 | ||
|
|
02aeaea8a9 | ||
|
|
05867cc645 |
@@ -1,4 +1,4 @@
|
|||||||
using DigitalData.Core.Abstractions.Client;
|
using DigitalData.Core.Client.Interface;
|
||||||
namespace EnvelopeGenerator.Application.Configurations;
|
namespace EnvelopeGenerator.Application.Configurations;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
using DigitalData.Core.Abstractions.Infrastructure;
|
using DigitalData.Core.Application.Interfaces.Repository;
|
||||||
using EnvelopeGenerator.Domain.Entities;
|
using EnvelopeGenerator.Domain.Entities;
|
||||||
|
|
||||||
namespace EnvelopeGenerator.Application.Contracts.Repositories;
|
namespace EnvelopeGenerator.Application.Contracts.Repositories;
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
using DigitalData.Core.Abstractions.Infrastructure;
|
using DigitalData.Core.Application.Interfaces.Repository;
|
||||||
using EnvelopeGenerator.Domain.Entities;
|
using EnvelopeGenerator.Domain.Entities;
|
||||||
|
|
||||||
namespace EnvelopeGenerator.Application.Contracts.Repositories;
|
namespace EnvelopeGenerator.Application.Contracts.Repositories;
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
using DigitalData.Core.Abstractions.Infrastructure;
|
using DigitalData.Core.Application.Interfaces.Repository;
|
||||||
using EnvelopeGenerator.Domain.Entities;
|
using EnvelopeGenerator.Domain.Entities;
|
||||||
|
|
||||||
namespace EnvelopeGenerator.Application.Contracts.Repositories;
|
namespace EnvelopeGenerator.Application.Contracts.Repositories;
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
using DigitalData.Core.Abstractions.Infrastructure;
|
using DigitalData.Core.Application.Interfaces.Repository;
|
||||||
using EnvelopeGenerator.Domain.Entities;
|
using EnvelopeGenerator.Domain.Entities;
|
||||||
using static EnvelopeGenerator.Common.Constants;
|
using static EnvelopeGenerator.CommonServices.Constants;
|
||||||
|
|
||||||
namespace EnvelopeGenerator.Application.Contracts.Repositories;
|
namespace EnvelopeGenerator.Application.Contracts.Repositories;
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
using DigitalData.Core.Abstractions.Infrastructure;
|
using DigitalData.Core.Application.Interfaces.Repository;
|
||||||
using EnvelopeGenerator.Domain.Entities;
|
using EnvelopeGenerator.Domain.Entities;
|
||||||
|
|
||||||
namespace EnvelopeGenerator.Application.Contracts.Repositories;
|
namespace EnvelopeGenerator.Application.Contracts.Repositories;
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
using DigitalData.Core.Abstractions.Infrastructure;
|
using DigitalData.Core.Application.Interfaces.Repository;
|
||||||
using EnvelopeGenerator.Domain.Entities;
|
using EnvelopeGenerator.Domain.Entities;
|
||||||
|
|
||||||
namespace EnvelopeGenerator.Application.Contracts.Repositories;
|
namespace EnvelopeGenerator.Application.Contracts.Repositories;
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
using DigitalData.Core.Abstractions.Infrastructure;
|
using DigitalData.Core.Application.Interfaces.Repository;
|
||||||
using EnvelopeGenerator.Domain.Entities;
|
using EnvelopeGenerator.Domain.Entities;
|
||||||
|
|
||||||
namespace EnvelopeGenerator.Application.Contracts.Repositories;
|
namespace EnvelopeGenerator.Application.Contracts.Repositories;
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
using DigitalData.Core.Abstractions.Infrastructure;
|
using DigitalData.Core.Application.Interfaces.Repository;
|
||||||
using EnvelopeGenerator.Domain.Entities;
|
using EnvelopeGenerator.Domain.Entities;
|
||||||
|
|
||||||
namespace EnvelopeGenerator.Application.Contracts.Repositories;
|
namespace EnvelopeGenerator.Application.Contracts.Repositories;
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
using DigitalData.Core.Abstractions.Infrastructure;
|
using DigitalData.Core.Application.Interfaces.Repository;
|
||||||
using EnvelopeGenerator.Domain.Entities;
|
using EnvelopeGenerator.Domain.Entities;
|
||||||
|
|
||||||
namespace EnvelopeGenerator.Application.Contracts.Repositories;
|
namespace EnvelopeGenerator.Application.Contracts.Repositories;
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
using DigitalData.Core.Abstractions.Infrastructure;
|
using DigitalData.Core.Application.Interfaces.Repository;
|
||||||
using EnvelopeGenerator.Domain.Entities;
|
using EnvelopeGenerator.Domain.Entities;
|
||||||
|
|
||||||
namespace EnvelopeGenerator.Application.Contracts.Repositories;
|
namespace EnvelopeGenerator.Application.Contracts.Repositories;
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
using DigitalData.Core.Abstractions.Infrastructure;
|
using DigitalData.Core.Application.Interfaces.Repository;
|
||||||
using EnvelopeGenerator.Domain.Entities;
|
using EnvelopeGenerator.Domain.Entities;
|
||||||
|
|
||||||
namespace EnvelopeGenerator.Application.Contracts.Repositories;
|
namespace EnvelopeGenerator.Application.Contracts.Repositories;
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
using DigitalData.Core.Abstractions.Infrastructure;
|
using DigitalData.Core.Application.Interfaces.Repository;
|
||||||
using EnvelopeGenerator.Domain.Entities;
|
using EnvelopeGenerator.Domain.Entities;
|
||||||
|
|
||||||
namespace EnvelopeGenerator.Application.Contracts.Repositories;
|
namespace EnvelopeGenerator.Application.Contracts.Repositories;
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
using DigitalData.Core.Abstractions.Infrastructure;
|
using DigitalData.Core.Application.Interfaces.Repository;
|
||||||
using EnvelopeGenerator.Domain.Entities;
|
using EnvelopeGenerator.Domain.Entities;
|
||||||
|
|
||||||
namespace EnvelopeGenerator.Application.Contracts.Repositories;
|
namespace EnvelopeGenerator.Application.Contracts.Repositories;
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
using DigitalData.Core.Abstractions.Application;
|
using DigitalData.Core.Application.Interfaces;
|
||||||
using DigitalData.Core.DTO;
|
using DigitalData.Core.DTO;
|
||||||
using EnvelopeGenerator.Application.DTOs;
|
using EnvelopeGenerator.Application.DTOs;
|
||||||
using EnvelopeGenerator.Domain.Entities;
|
using EnvelopeGenerator.Domain.Entities;
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
using DigitalData.Core.Abstractions.Application;
|
using DigitalData.Core.Application.Interfaces;
|
||||||
using EnvelopeGenerator.Application.DTOs;
|
using EnvelopeGenerator.Application.DTOs;
|
||||||
using EnvelopeGenerator.Domain.Entities;
|
using EnvelopeGenerator.Domain.Entities;
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
using DigitalData.Core.Abstractions.Application;
|
using DigitalData.Core.Application.Interfaces;
|
||||||
using EnvelopeGenerator.Application.DTOs;
|
using EnvelopeGenerator.Application.DTOs;
|
||||||
using EnvelopeGenerator.Domain.Entities;
|
using EnvelopeGenerator.Domain.Entities;
|
||||||
namespace EnvelopeGenerator.Application.Contracts.Services;
|
namespace EnvelopeGenerator.Application.Contracts.Services;
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
using DigitalData.Core.Abstractions.Application;
|
using DigitalData.Core.Application.Interfaces;
|
||||||
using DigitalData.Core.DTO;
|
using DigitalData.Core.DTO;
|
||||||
using EnvelopeGenerator.Application.DTOs;
|
using EnvelopeGenerator.Application.DTOs;
|
||||||
using EnvelopeGenerator.Domain.Entities;
|
using EnvelopeGenerator.Domain.Entities;
|
||||||
using static EnvelopeGenerator.Common.Constants;
|
using static EnvelopeGenerator.Domain.Constants;
|
||||||
|
|
||||||
namespace EnvelopeGenerator.Application.Contracts.Services;
|
namespace EnvelopeGenerator.Application.Contracts.Services;
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
using DigitalData.Core.Abstractions.Application;
|
using DigitalData.Core.Application.Interfaces;
|
||||||
using EnvelopeGenerator.Application.DTOs;
|
using EnvelopeGenerator.Application.DTOs;
|
||||||
using EnvelopeGenerator.Domain.Entities;
|
using EnvelopeGenerator.Domain.Entities;
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
using DigitalData.Core.Abstractions.Application;
|
using DigitalData.Core.Application.Interfaces;
|
||||||
using EnvelopeGenerator.Application.DTOs;
|
using EnvelopeGenerator.Application.DTOs;
|
||||||
using EnvelopeGenerator.Domain.Entities;
|
using EnvelopeGenerator.Domain.Entities;
|
||||||
|
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
using DigitalData.Core.Abstractions.Application;
|
using DigitalData.Core.Application.Interfaces;
|
||||||
using DigitalData.Core.DTO;
|
using DigitalData.Core.DTO;
|
||||||
using EnvelopeGenerator.Application.DTOs.EnvelopeHistory;
|
using EnvelopeGenerator.Application.DTOs.EnvelopeHistory;
|
||||||
using EnvelopeGenerator.Application.DTOs.Receiver;
|
using EnvelopeGenerator.Application.DTOs.Receiver;
|
||||||
using EnvelopeGenerator.Domain.Entities;
|
using EnvelopeGenerator.Domain.Entities;
|
||||||
using static EnvelopeGenerator.Common.Constants;
|
using static EnvelopeGenerator.CommonServices.Constants;
|
||||||
|
|
||||||
namespace EnvelopeGenerator.Application.Contracts.Services;
|
namespace EnvelopeGenerator.Application.Contracts.Services;
|
||||||
|
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
using DigitalData.EmailProfilerDispatcher.Abstraction.Contracts;
|
using DigitalData.EmailProfilerDispatcher.Abstraction.Contracts;
|
||||||
using EnvelopeGenerator.Application.DTOs.EnvelopeReceiver;
|
using EnvelopeGenerator.Application.DTOs.EnvelopeReceiver;
|
||||||
using EnvelopeGenerator.Application.DTOs.EnvelopeReceiverReadOnly;
|
using EnvelopeGenerator.Application.DTOs.EnvelopeReceiverReadOnly;
|
||||||
using EnvelopeGenerator.Common;
|
using EnvelopeGenerator.CommonServices;
|
||||||
|
|
||||||
namespace EnvelopeGenerator.Application.Contracts.Services;
|
namespace EnvelopeGenerator.Application.Contracts.Services;
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
using DigitalData.Core.Abstractions.Application;
|
using DigitalData.Core.Application.Interfaces;
|
||||||
using EnvelopeGenerator.Application.DTOs.EnvelopeReceiverReadOnly;
|
using EnvelopeGenerator.Application.DTOs.EnvelopeReceiverReadOnly;
|
||||||
using EnvelopeGenerator.Domain.Entities;
|
using EnvelopeGenerator.Domain.Entities;
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
using CommandDotNet;
|
using CommandDotNet;
|
||||||
using DigitalData.Core.Abstractions.Application;
|
using DigitalData.Core.Application.Interfaces;
|
||||||
using DigitalData.Core.DTO;
|
using DigitalData.Core.DTO;
|
||||||
using EnvelopeGenerator.Application.DTOs.EnvelopeReceiver;
|
using EnvelopeGenerator.Application.DTOs.EnvelopeReceiver;
|
||||||
using EnvelopeGenerator.Application.DTOs.Messaging;
|
using EnvelopeGenerator.Application.DTOs.Messaging;
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
using DigitalData.Core.Abstractions.Application;
|
using DigitalData.Core.Application.Interfaces;
|
||||||
using DigitalData.Core.DTO;
|
using DigitalData.Core.DTO;
|
||||||
using EnvelopeGenerator.Application.DTOs;
|
using EnvelopeGenerator.Application.DTOs;
|
||||||
using EnvelopeGenerator.Domain.Entities;
|
using EnvelopeGenerator.Domain.Entities;
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
using DigitalData.Core.Abstractions.Application;
|
using DigitalData.Core.Application.Interfaces;
|
||||||
using EnvelopeGenerator.Application.DTOs;
|
using EnvelopeGenerator.Application.DTOs;
|
||||||
using EnvelopeGenerator.Domain.Entities;
|
using EnvelopeGenerator.Domain.Entities;
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
using DigitalData.Core.Abstractions;
|
using DigitalData.Core.Abstractions;
|
||||||
using DigitalData.Core.Abstractions.Application;
|
using DigitalData.Core.Application.Interfaces;
|
||||||
using DigitalData.Core.DTO;
|
using DigitalData.Core.DTO;
|
||||||
using EnvelopeGenerator.Application.DTOs.Receiver;
|
using EnvelopeGenerator.Application.DTOs.Receiver;
|
||||||
using EnvelopeGenerator.Domain.Entities;
|
using EnvelopeGenerator.Domain.Entities;
|
||||||
@@ -12,5 +12,5 @@ public interface IReceiverService : ICRUDService<ReceiverCreateDto, ReceiverRead
|
|||||||
|
|
||||||
Task<Result> DeleteByAsync(string? emailAddress = null, string? signature = null);
|
Task<Result> DeleteByAsync(string? emailAddress = null, string? signature = null);
|
||||||
|
|
||||||
Task<Result> UpdateAsync<TUpdateDto>(TUpdateDto updateDto) where TUpdateDto : IUnique<int>;
|
Task<Result> UpdateAsync<TUpdateDto>(TUpdateDto updateDto);
|
||||||
}
|
}
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
using DigitalData.Core.Abstractions.Application;
|
using DigitalData.Core.Application.Interfaces;
|
||||||
using EnvelopeGenerator.Application.DTOs;
|
using EnvelopeGenerator.Application.DTOs;
|
||||||
using EnvelopeGenerator.Domain.Entities;
|
using EnvelopeGenerator.Domain.Entities;
|
||||||
|
|
||||||
|
|||||||
@@ -1,21 +1,35 @@
|
|||||||
using DigitalData.Core.Abstractions;
|
using Microsoft.AspNetCore.Mvc;
|
||||||
using Microsoft.AspNetCore.Mvc;
|
|
||||||
using System.ComponentModel.DataAnnotations.Schema;
|
|
||||||
using System.Text.Json.Serialization;
|
|
||||||
|
|
||||||
namespace EnvelopeGenerator.Application.DTOs
|
namespace EnvelopeGenerator.Application.DTOs;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Data Transfer Object representing configuration settings.
|
||||||
|
/// </summary>
|
||||||
|
[ApiExplorerSettings(IgnoreApi = true)]
|
||||||
|
public class ConfigDto
|
||||||
{
|
{
|
||||||
[ApiExplorerSettings(IgnoreApi = true)]
|
/// <summary>
|
||||||
public record ConfigDto(
|
/// Gets or sets the path to the document.
|
||||||
string DocumentPath,
|
/// </summary>
|
||||||
int SendingProfile,
|
public string DocumentPath { get; set; }
|
||||||
string SignatureHost,
|
|
||||||
string ExternalProgramName,
|
/// <summary>
|
||||||
string ExportPath) : IUnique<int>
|
/// Gets or sets the sending profile identifier.
|
||||||
{
|
/// </summary>
|
||||||
[NotMapped]
|
public int SendingProfile { get; set; }
|
||||||
[JsonIgnore]
|
|
||||||
[Obsolete("Configuration does not have an ID; it represents a single table in the database.")]
|
/// <summary>
|
||||||
public int Id => throw new InvalidOperationException("This configuration does not support an ID as it represents a single row in the database.");
|
/// Gets or sets the signature host URL or name.
|
||||||
};
|
/// </summary>
|
||||||
|
public string SignatureHost { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets or sets the name of the external program.
|
||||||
|
/// </summary>
|
||||||
|
public string ExternalProgramName { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets or sets the path where exports will be saved.
|
||||||
|
/// </summary>
|
||||||
|
public string ExportPath { get; set; }
|
||||||
}
|
}
|
||||||
@@ -1,26 +1,95 @@
|
|||||||
using DigitalData.Core.Abstractions;
|
using Microsoft.AspNetCore.Mvc;
|
||||||
using Microsoft.AspNetCore.Mvc;
|
|
||||||
|
|
||||||
namespace EnvelopeGenerator.Application.DTOs
|
namespace EnvelopeGenerator.Application.DTOs;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Data Transfer Object representing a positioned element assigned to a document receiver.
|
||||||
|
/// </summary>
|
||||||
|
[ApiExplorerSettings(IgnoreApi = true)]
|
||||||
|
public class DocumentReceiverElementDto
|
||||||
{
|
{
|
||||||
[ApiExplorerSettings(IgnoreApi = true)]
|
/// <summary>
|
||||||
public record DocumentReceiverElementDto(
|
/// Gets or sets the unique identifier of the element.
|
||||||
int Id,
|
/// </summary>
|
||||||
int DocumentId,
|
public int Id { get; set; }
|
||||||
int ReceiverId,
|
|
||||||
int ElementType,
|
/// <summary>
|
||||||
double X,
|
/// Gets or sets the identifier of the associated document.
|
||||||
double Y,
|
/// </summary>
|
||||||
double Width,
|
public int DocumentId { get; set; }
|
||||||
double Height,
|
|
||||||
int Page,
|
/// <summary>
|
||||||
bool Required,
|
/// Gets or sets the identifier of the receiver.
|
||||||
string? Tooltip,
|
/// </summary>
|
||||||
bool ReadOnly,
|
public int ReceiverId { get; set; }
|
||||||
int AnnotationIndex,
|
|
||||||
DateTime AddedWhen,
|
/// <summary>
|
||||||
DateTime? ChangedWhen,
|
/// Gets or sets the type of the element.
|
||||||
double Top,
|
/// </summary>
|
||||||
double Left
|
public int ElementType { get; set; }
|
||||||
): IUnique<int>;
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets or sets the X coordinate of the element.
|
||||||
|
/// </summary>
|
||||||
|
public double X { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets or sets the Y coordinate of the element.
|
||||||
|
/// </summary>
|
||||||
|
public double Y { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets or sets the width of the element.
|
||||||
|
/// </summary>
|
||||||
|
public double Width { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets or sets the height of the element.
|
||||||
|
/// </summary>
|
||||||
|
public double Height { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets or sets the page number where the element appears.
|
||||||
|
/// </summary>
|
||||||
|
public int Page { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets or sets a value indicating whether the element is required.
|
||||||
|
/// </summary>
|
||||||
|
public bool Required { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets or sets the tooltip text for the element.
|
||||||
|
/// </summary>
|
||||||
|
public string? Tooltip { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets or sets a value indicating whether the element is read-only.
|
||||||
|
/// </summary>
|
||||||
|
public bool ReadOnly { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets or sets the annotation index for ordering or reference.
|
||||||
|
/// </summary>
|
||||||
|
public int AnnotationIndex { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets or sets the timestamp when the element was added.
|
||||||
|
/// </summary>
|
||||||
|
public DateTime AddedWhen { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets or sets the timestamp when the element was last changed, if applicable.
|
||||||
|
/// </summary>
|
||||||
|
public DateTime? ChangedWhen { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets or sets the top position of the element (in layout terms).
|
||||||
|
/// </summary>
|
||||||
|
public double Top { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets or sets the left position of the element (in layout terms).
|
||||||
|
/// </summary>
|
||||||
|
public double Left { get; set; }
|
||||||
}
|
}
|
||||||
@@ -1,18 +1,50 @@
|
|||||||
using DigitalData.Core.Abstractions;
|
using Microsoft.AspNetCore.Mvc;
|
||||||
using Microsoft.AspNetCore.Mvc;
|
|
||||||
|
|
||||||
namespace EnvelopeGenerator.Application.DTOs
|
namespace EnvelopeGenerator.Application.DTOs;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Data Transfer Object representing the status of a document for a specific receiver.
|
||||||
|
/// </summary>
|
||||||
|
[ApiExplorerSettings(IgnoreApi = true)]
|
||||||
|
public class DocumentStatusDto
|
||||||
{
|
{
|
||||||
[ApiExplorerSettings(IgnoreApi = true)]
|
/// <summary>
|
||||||
public record DocumentStatusDto(
|
/// Gets or sets the unique identifier of the document status entry.
|
||||||
int Id,
|
/// </summary>
|
||||||
int EnvelopeId,
|
public int Id { get; set; }
|
||||||
int ReceiverId,
|
|
||||||
int Status,
|
/// <summary>
|
||||||
DateTime? StatusChangedWhen,
|
/// Gets or sets the ID of the associated envelope.
|
||||||
DateTime AddedWhen,
|
/// </summary>
|
||||||
DateTime? ChangedWhen) : IUnique<int>
|
public int EnvelopeId { get; set; }
|
||||||
{
|
|
||||||
public string? Value { get; set; }
|
/// <summary>
|
||||||
};
|
/// Gets or sets the ID of the receiver associated with this status.
|
||||||
|
/// </summary>
|
||||||
|
public int ReceiverId { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets or sets the current status code.
|
||||||
|
/// </summary>
|
||||||
|
public int Status { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets or sets the timestamp when the status was changed.
|
||||||
|
/// </summary>
|
||||||
|
public DateTime? StatusChangedWhen { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets or sets the timestamp when this record was added.
|
||||||
|
/// </summary>
|
||||||
|
public DateTime AddedWhen { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets or sets the timestamp when this record was last changed.
|
||||||
|
/// </summary>
|
||||||
|
public DateTime? ChangedWhen { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets or sets the display value associated with the status.
|
||||||
|
/// </summary>
|
||||||
|
public string? Value { get; set; }
|
||||||
}
|
}
|
||||||
@@ -1,5 +1,4 @@
|
|||||||
using DigitalData.Core.Abstractions;
|
using Microsoft.AspNetCore.Mvc;
|
||||||
using Microsoft.AspNetCore.Mvc;
|
|
||||||
|
|
||||||
namespace EnvelopeGenerator.Application.DTOs
|
namespace EnvelopeGenerator.Application.DTOs
|
||||||
{
|
{
|
||||||
@@ -7,7 +6,7 @@ namespace EnvelopeGenerator.Application.DTOs
|
|||||||
///
|
///
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[ApiExplorerSettings(IgnoreApi = true)]
|
[ApiExplorerSettings(IgnoreApi = true)]
|
||||||
public record EmailTemplateDto : IUnique<int>
|
public record EmailTemplateDto
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
///
|
///
|
||||||
|
|||||||
@@ -1,16 +1,50 @@
|
|||||||
using DigitalData.Core.Abstractions;
|
using Microsoft.AspNetCore.Mvc;
|
||||||
using Microsoft.AspNetCore.Mvc;
|
|
||||||
|
|
||||||
namespace EnvelopeGenerator.Application.DTOs
|
namespace EnvelopeGenerator.Application.DTOs;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Data Transfer Object representing certificate information for an envelope.
|
||||||
|
/// </summary>
|
||||||
|
[ApiExplorerSettings(IgnoreApi = true)]
|
||||||
|
public class EnvelopeCertificateDto
|
||||||
{
|
{
|
||||||
[ApiExplorerSettings(IgnoreApi = true)]
|
/// <summary>
|
||||||
public record EnvelopeCertificateDto(
|
/// Gets the unique identifier of the certificate.
|
||||||
int Id,
|
/// </summary>
|
||||||
int EnvelopeId,
|
public int Id { get; init; }
|
||||||
string EnvelopeUuid,
|
|
||||||
string EnvelopeSubject,
|
/// <summary>
|
||||||
int CreatorId,
|
/// Gets the envelope ID associated with the certificate.
|
||||||
string CreatorName,
|
/// </summary>
|
||||||
string CreatorEmail,
|
public int EnvelopeId { get; init; }
|
||||||
int EnvelopeStatus) : IUnique<int>;
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets the UUID of the envelope.
|
||||||
|
/// </summary>
|
||||||
|
public string EnvelopeUuid { get; init; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets the subject of the envelope.
|
||||||
|
/// </summary>
|
||||||
|
public string EnvelopeSubject { get; init; }
|
||||||
|
|
||||||
|
/// <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; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets the email address of the creator.
|
||||||
|
/// </summary>
|
||||||
|
public string CreatorEmail { get; init; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets the current status of the envelope.
|
||||||
|
/// </summary>
|
||||||
|
public int EnvelopeStatus { get; init; }
|
||||||
}
|
}
|
||||||
@@ -1,15 +1,35 @@
|
|||||||
using DigitalData.Core.Abstractions;
|
using Microsoft.AspNetCore.Mvc;
|
||||||
using Microsoft.AspNetCore.Mvc;
|
|
||||||
|
|
||||||
namespace EnvelopeGenerator.Application.DTOs
|
namespace EnvelopeGenerator.Application.DTOs;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Data Transfer Object representing a document within an envelope, including optional binary data and form elements.
|
||||||
|
/// </summary>
|
||||||
|
[ApiExplorerSettings(IgnoreApi = true)]
|
||||||
|
public class EnvelopeDocumentDto
|
||||||
{
|
{
|
||||||
[ApiExplorerSettings(IgnoreApi = true)]
|
/// <summary>
|
||||||
public record EnvelopeDocumentDto
|
/// Gets or sets the unique identifier of the document.
|
||||||
(
|
/// </summary>
|
||||||
int Id,
|
public int Id { get; set; }
|
||||||
int EnvelopeId,
|
|
||||||
DateTime AddedWhen,
|
/// <summary>
|
||||||
byte[]? ByteData = null,
|
/// Gets or sets the envelope ID to which the document belongs.
|
||||||
IEnumerable<DocumentReceiverElementDto>? Elements = null
|
/// </summary>
|
||||||
) : IUnique<int>;
|
public int EnvelopeId { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets or sets the date and time when the document was added.
|
||||||
|
/// </summary>
|
||||||
|
public DateTime AddedWhen { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets or sets the binary data of the document, if available.
|
||||||
|
/// </summary>
|
||||||
|
public byte[]? ByteData { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets or sets the collection of elements associated with the document for receiver interactions, if any.
|
||||||
|
/// </summary>
|
||||||
|
public IEnumerable<DocumentReceiverElementDto>? Elements { get; set; }
|
||||||
}
|
}
|
||||||
@@ -1,56 +1,54 @@
|
|||||||
using DigitalData.Core.Abstractions;
|
using DigitalData.EmailProfilerDispatcher.Abstraction.Attributes;
|
||||||
using DigitalData.EmailProfilerDispatcher.Abstraction.Attributes;
|
|
||||||
using DigitalData.UserManager.Application.DTOs.User;
|
using DigitalData.UserManager.Application.DTOs.User;
|
||||||
using EnvelopeGenerator.Domain.Entities;
|
using EnvelopeGenerator.Domain.Entities;
|
||||||
using Microsoft.AspNetCore.Mvc;
|
using Microsoft.AspNetCore.Mvc;
|
||||||
|
|
||||||
namespace EnvelopeGenerator.Application.DTOs
|
namespace EnvelopeGenerator.Application.DTOs;
|
||||||
|
|
||||||
|
[ApiExplorerSettings(IgnoreApi = true)]
|
||||||
|
public record EnvelopeDto
|
||||||
{
|
{
|
||||||
[ApiExplorerSettings(IgnoreApi = true)]
|
public int Id { get; set; }
|
||||||
public record EnvelopeDto() : IUnique<int>
|
|
||||||
{
|
|
||||||
public int Id { get; set; }
|
|
||||||
|
|
||||||
public int UserId { get; set; }
|
public int UserId { get; set; }
|
||||||
|
|
||||||
public int Status { get; set; }
|
public int Status { get; set; }
|
||||||
|
|
||||||
public string StatusName { get; set; }
|
public string StatusName { get; set; }
|
||||||
|
|
||||||
public string Uuid { get; set; }
|
public string Uuid { get; set; }
|
||||||
|
|
||||||
[TemplatePlaceholder("[MESSAGE]")]
|
[TemplatePlaceholder("[MESSAGE]")]
|
||||||
public string Message { get; set; }
|
public string Message { get; set; }
|
||||||
|
|
||||||
public DateTime AddedWhen { get; set; }
|
public DateTime AddedWhen { get; set; }
|
||||||
|
|
||||||
public DateTime? ChangedWhen { get; set; }
|
public DateTime? ChangedWhen { get; set; }
|
||||||
|
|
||||||
[TemplatePlaceholder("[DOCUMENT_TITLE]")]
|
[TemplatePlaceholder("[DOCUMENT_TITLE]")]
|
||||||
public string Title { get; set; }
|
public string Title { get; set; }
|
||||||
|
|
||||||
public int? ContractType { get; set; }
|
public int? ContractType { get; set; }
|
||||||
|
|
||||||
public string Language { get; set; }
|
public string Language { get; set; }
|
||||||
|
|
||||||
public int? EnvelopeTypeId { get; set; }
|
public int? EnvelopeTypeId { get; set; }
|
||||||
|
|
||||||
public int? CertificationType { get; set; }
|
public int? CertificationType { get; set; }
|
||||||
|
|
||||||
public bool? UseAccessCode { get; set; }
|
public bool? UseAccessCode { get; set; }
|
||||||
|
|
||||||
public bool TFAEnabled { get; init; }
|
public bool TFAEnabled { get; init; }
|
||||||
|
|
||||||
public UserReadDto? User { get; set; }
|
public UserReadDto? User { get; set; }
|
||||||
|
|
||||||
public EnvelopeType? EnvelopeType { get; set; }
|
public EnvelopeType? EnvelopeType { get; set; }
|
||||||
|
|
||||||
public string? EnvelopeTypeTitle { get; set; }
|
public string? EnvelopeTypeTitle { get; set; }
|
||||||
|
|
||||||
public bool IsAlreadySent { get; set; }
|
public bool IsAlreadySent { get; set; }
|
||||||
|
|
||||||
public byte[]? DocResult { get; init; }
|
public byte[]? DocResult { get; init; }
|
||||||
|
|
||||||
public IEnumerable<EnvelopeDocumentDto>? Documents { get; set; }
|
public IEnumerable<EnvelopeDocumentDto>? Documents { get; set; }
|
||||||
}
|
|
||||||
}
|
}
|
||||||
@@ -1,12 +1,34 @@
|
|||||||
using Microsoft.AspNetCore.Mvc;
|
using Microsoft.AspNetCore.Mvc;
|
||||||
|
|
||||||
namespace EnvelopeGenerator.Application.DTOs.EnvelopeHistory
|
namespace EnvelopeGenerator.Application.DTOs.EnvelopeHistory;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Data Transfer Object for creating a new envelope history record.
|
||||||
|
/// </summary>
|
||||||
|
public class EnvelopeHistoryCreateDto
|
||||||
{
|
{
|
||||||
[ApiExplorerSettings(IgnoreApi = true)]
|
/// <summary>
|
||||||
public record EnvelopeHistoryCreateDto(
|
/// Gets or sets the identifier of the envelope.
|
||||||
int EnvelopeId,
|
/// </summary>
|
||||||
string UserReference,
|
public int EnvelopeId { get; set; }
|
||||||
int Status,
|
|
||||||
DateTime? ActionDate,
|
/// <summary>
|
||||||
string? Comment = null);
|
/// Gets or sets the user reference associated with the action.
|
||||||
|
/// </summary>
|
||||||
|
public required string UserReference { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets or sets the status of the envelope at the time of the action.
|
||||||
|
/// </summary>
|
||||||
|
public int Status { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets or sets the date and time when the action occurred.
|
||||||
|
/// </summary>
|
||||||
|
public DateTime? ActionDate { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets or sets an optional comment related to the action.
|
||||||
|
/// </summary>
|
||||||
|
public string? Comment { get; set; }
|
||||||
}
|
}
|
||||||
@@ -1,36 +1,73 @@
|
|||||||
using DigitalData.Core.Abstractions;
|
using DigitalData.Core.Abstractions;
|
||||||
using DigitalData.Core.DTO;
|
|
||||||
using DigitalData.UserManager.Application.DTOs.User;
|
using DigitalData.UserManager.Application.DTOs.User;
|
||||||
using EnvelopeGenerator.Application.DTOs.Receiver;
|
using EnvelopeGenerator.Application.DTOs.Receiver;
|
||||||
using Microsoft.AspNetCore.Mvc;
|
using static EnvelopeGenerator.CommonServices.Constants;
|
||||||
using static EnvelopeGenerator.Common.Constants;
|
|
||||||
|
|
||||||
namespace EnvelopeGenerator.Application.DTOs.EnvelopeHistory;
|
namespace EnvelopeGenerator.Application.DTOs.EnvelopeHistory;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
///
|
/// Data Transfer Object representing the history of an envelope, including status, sender, receiver, and related metadata.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="Id"></param>
|
public record EnvelopeHistoryDto : IUnique<long>
|
||||||
/// <param name="EnvelopeId"></param>
|
{
|
||||||
/// <param name="UserReference"></param>
|
/// <summary>
|
||||||
/// <param name="Status"></param>
|
/// Unique identifier for the envelope history entry.
|
||||||
/// <param name="StatusName"></param>
|
/// </summary>
|
||||||
/// <param name="AddedWhen"></param>
|
public long Id { get; set; }
|
||||||
/// <param name="ActionDate"></param>
|
|
||||||
/// <param name="Sender"></param>
|
/// <summary>
|
||||||
/// <param name="Receiver"></param>
|
/// Identifier of the associated envelope.
|
||||||
/// <param name="ReferenceType"></param>
|
/// </summary>
|
||||||
/// <param name="Comment"></param>
|
public int EnvelopeId { get; set; }
|
||||||
[ApiExplorerSettings(IgnoreApi = true)]
|
|
||||||
public record EnvelopeHistoryDto(
|
/// <summary>
|
||||||
long Id,
|
/// Reference string for the user related to this history entry.
|
||||||
int EnvelopeId,
|
/// </summary>
|
||||||
string UserReference,
|
public string UserReference { get; set; }
|
||||||
int Status,
|
|
||||||
string? StatusName,
|
/// <summary>
|
||||||
DateTime AddedWhen,
|
/// Status code of the envelope at this history point.
|
||||||
DateTime? ActionDate,
|
/// </summary>
|
||||||
UserCreateDto? Sender,
|
public int Status { get; set; }
|
||||||
ReceiverReadDto? Receiver,
|
|
||||||
ReferenceType ReferenceType,
|
/// <summary>
|
||||||
string? Comment = null) : BaseDTO<long>(Id), IUnique<long>;
|
/// Human-readable name of the status.
|
||||||
|
/// </summary>
|
||||||
|
public string? StatusName { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Date and time when this history entry was added.
|
||||||
|
/// </summary>
|
||||||
|
public DateTime AddedWhen { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Date and time when an action was performed, if applicable.
|
||||||
|
/// </summary>
|
||||||
|
public DateTime? ActionDate { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Information about the sender associated with this history entry.
|
||||||
|
/// </summary>
|
||||||
|
public UserCreateDto? Sender { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Information about the receiver associated with this history entry.
|
||||||
|
/// </summary>
|
||||||
|
public ReceiverReadDto? Receiver { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Type of reference for this history entry.
|
||||||
|
/// </summary>
|
||||||
|
public ReferenceType ReferenceType { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Optional comment related to this history entry.
|
||||||
|
/// </summary>
|
||||||
|
public string? Comment { get; set; }
|
||||||
|
|
||||||
|
/// <inheritdoc/>
|
||||||
|
public override int GetHashCode()
|
||||||
|
{
|
||||||
|
return Id.GetHashCode();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|||||||
@@ -1,18 +1,62 @@
|
|||||||
using EnvelopeGenerator.Application.DTOs.Receiver;
|
using EnvelopeGenerator.Application.DTOs.Receiver;
|
||||||
using Microsoft.AspNetCore.Mvc;
|
using Microsoft.AspNetCore.Mvc;
|
||||||
|
|
||||||
namespace EnvelopeGenerator.Application.DTOs.EnvelopeReceiverReadOnly
|
namespace EnvelopeGenerator.Application.DTOs.EnvelopeReceiverReadOnly;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Represents a read-only Data Transfer Object (DTO) for an envelope receiver.
|
||||||
|
/// Contains information about the receiver, associated envelope, and audit details.
|
||||||
|
/// </summary>
|
||||||
|
[ApiExplorerSettings(IgnoreApi = true)]
|
||||||
|
public class EnvelopeReceiverReadOnlyDto
|
||||||
{
|
{
|
||||||
[ApiExplorerSettings(IgnoreApi = true)]
|
/// <summary>
|
||||||
public record EnvelopeReceiverReadOnlyDto(
|
/// Gets or inits the unique identifier of the envelope receiver.
|
||||||
long Id,
|
/// </summary>
|
||||||
long EnvelopeId,
|
public long Id { get; init; }
|
||||||
string ReceiverMail,
|
|
||||||
DateTime DateValid,
|
/// <summary>
|
||||||
DateTime AddedWhen,
|
/// Gets or inits the identifier of the associated envelope.
|
||||||
string AddedWho,
|
/// </summary>
|
||||||
EnvelopeDto? Envelope = null,
|
public long EnvelopeId { get; init; }
|
||||||
string? ChangedWho = null,
|
|
||||||
DateTime? ChangedWhen = null,
|
/// <summary>
|
||||||
ReceiverReadDto? Receiver = null);
|
/// Gets or inits the email address of the receiver.
|
||||||
|
/// </summary>
|
||||||
|
public string ReceiverMail { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets or inits the date until which the receiver is valid.
|
||||||
|
/// </summary>
|
||||||
|
public DateTime DateValid { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets or inits the date and time when the receiver was added.
|
||||||
|
/// </summary>
|
||||||
|
public DateTime AddedWhen { get; init; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets or inits the user who added the receiver.
|
||||||
|
/// </summary>
|
||||||
|
public string AddedWho { get; init; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets or inits the associated envelope details.
|
||||||
|
/// </summary>
|
||||||
|
public EnvelopeDto? Envelope { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets or inits the user who last changed the receiver, if any.
|
||||||
|
/// </summary>
|
||||||
|
public string? ChangedWho { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets or inits the date and time when the receiver was last changed, if any.
|
||||||
|
/// </summary>
|
||||||
|
public DateTime? ChangedWhen { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets or inits the associated receiver details.
|
||||||
|
/// </summary>
|
||||||
|
public ReceiverReadDto? Receiver { get; set; }
|
||||||
}
|
}
|
||||||
@@ -1,14 +1,31 @@
|
|||||||
using DigitalData.Core.Abstractions;
|
using DigitalData.Core.Abstractions;
|
||||||
using Microsoft.AspNetCore.Mvc;
|
using Microsoft.AspNetCore.Mvc;
|
||||||
|
|
||||||
namespace EnvelopeGenerator.Application.DTOs.EnvelopeReceiverReadOnly
|
namespace EnvelopeGenerator.Application.DTOs.EnvelopeReceiverReadOnly;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Data Transfer Object for updating a read-only envelope receiver.
|
||||||
|
/// </summary>
|
||||||
|
[ApiExplorerSettings(IgnoreApi = true)]
|
||||||
|
public class EnvelopeReceiverReadOnlyUpdateDto : IUnique<long>
|
||||||
{
|
{
|
||||||
[ApiExplorerSettings(IgnoreApi = true)]
|
/// <summary>
|
||||||
public record EnvelopeReceiverReadOnlyUpdateDto(
|
/// Gets or sets the unique identifier of the envelope receiver.
|
||||||
long Id,
|
/// </summary>
|
||||||
DateTime DateValid,
|
public long Id { get; init; }
|
||||||
string ChangedWho) : IUnique<long>
|
|
||||||
{
|
/// <summary>
|
||||||
public DateTime ChangedWhen { get; } = DateTime.Now;
|
/// Gets or sets the date when the envelope receiver becomes valid.
|
||||||
};
|
/// </summary>
|
||||||
|
public DateTime DateValid { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets or sets the name of the user who made the change.
|
||||||
|
/// </summary>
|
||||||
|
public string ChangedWho { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets or sets the date and time when the change was made.
|
||||||
|
/// </summary>
|
||||||
|
public DateTime ChangedWhen { get; set; } = DateTime.Now;
|
||||||
}
|
}
|
||||||
@@ -1,23 +1,85 @@
|
|||||||
using DigitalData.Core.Abstractions;
|
using Microsoft.AspNetCore.Mvc;
|
||||||
using Microsoft.AspNetCore.Mvc;
|
|
||||||
|
|
||||||
namespace EnvelopeGenerator.Application.DTOs
|
namespace EnvelopeGenerator.Application.DTOs;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Data Transfer Object representing a type of envelope with its configuration settings.
|
||||||
|
/// </summary>
|
||||||
|
[ApiExplorerSettings(IgnoreApi = true)]
|
||||||
|
public class EnvelopeTypeDto
|
||||||
{
|
{
|
||||||
[ApiExplorerSettings(IgnoreApi = true)]
|
/// <summary>
|
||||||
public record EnvelopeTypeDto(
|
/// Gets or sets the unique identifier of the envelope type.
|
||||||
int Id,
|
/// </summary>
|
||||||
string Title,
|
public int Id { get; set; }
|
||||||
string Language,
|
|
||||||
int? ExpiresDays,
|
/// <summary>
|
||||||
int? CertificationType,
|
/// Gets or sets the title of the envelope type.
|
||||||
bool? UseAccessCode,
|
/// </summary>
|
||||||
int? FinalEmailToCreator,
|
public string Title { get; set; }
|
||||||
int? FinalEmailToReceivers,
|
|
||||||
DateTime AddedWhen,
|
/// <summary>
|
||||||
DateTime? ChangedWhen,
|
/// Gets or sets the language code used in this envelope type.
|
||||||
int? ExpiresWarningDays,
|
/// </summary>
|
||||||
bool? SendReminderEmails,
|
public string Language { get; set; }
|
||||||
int? FirstReminderDays,
|
|
||||||
int? ReminderIntervalDays,
|
/// <summary>
|
||||||
int? ContractType) : IUnique<int>;
|
/// Gets or sets the number of days after which the envelope expires.
|
||||||
|
/// </summary>
|
||||||
|
public int? ExpiresDays { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets or sets the certification type identifier.
|
||||||
|
/// </summary>
|
||||||
|
public int? CertificationType { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets or sets a value indicating whether an access code is required.
|
||||||
|
/// </summary>
|
||||||
|
public bool? UseAccessCode { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets or sets the final email template ID to be sent to the creator.
|
||||||
|
/// </summary>
|
||||||
|
public int? FinalEmailToCreator { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets or sets the final email template ID to be sent to the receivers.
|
||||||
|
/// </summary>
|
||||||
|
public int? FinalEmailToReceivers { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets or sets the timestamp when this envelope type was added.
|
||||||
|
/// </summary>
|
||||||
|
public DateTime AddedWhen { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets or sets the timestamp when this envelope type was last changed.
|
||||||
|
/// </summary>
|
||||||
|
public DateTime? ChangedWhen { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets or sets the number of days before expiry when a warning should be sent.
|
||||||
|
/// </summary>
|
||||||
|
public int? ExpiresWarningDays { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets or sets a value indicating whether reminder emails should be sent.
|
||||||
|
/// </summary>
|
||||||
|
public bool? SendReminderEmails { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets or sets the number of days before the first reminder is sent.
|
||||||
|
/// </summary>
|
||||||
|
public int? FirstReminderDays { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets or sets the interval in days between reminder emails.
|
||||||
|
/// </summary>
|
||||||
|
public int? ReminderIntervalDays { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets or sets the contract type associated with the envelope type.
|
||||||
|
/// </summary>
|
||||||
|
public int? ContractType { get; set; }
|
||||||
}
|
}
|
||||||
@@ -3,21 +3,30 @@ using System.ComponentModel.DataAnnotations;
|
|||||||
using System.Security.Cryptography;
|
using System.Security.Cryptography;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
|
|
||||||
namespace EnvelopeGenerator.Application.DTOs.Receiver
|
namespace EnvelopeGenerator.Application.DTOs.Receiver;
|
||||||
{
|
|
||||||
[ApiExplorerSettings(IgnoreApi = true)]
|
|
||||||
public record ReceiverCreateDto([EmailAddress] string EmailAddress, string? TotpSecretkey = null)
|
|
||||||
{
|
|
||||||
public string Signature => sha256HexOfMail.Value;
|
|
||||||
|
|
||||||
private readonly Lazy<string> sha256HexOfMail = new(() =>
|
[ApiExplorerSettings(IgnoreApi = true)]
|
||||||
|
public record ReceiverCreateDto
|
||||||
|
{
|
||||||
|
public ReceiverCreateDto()
|
||||||
|
{
|
||||||
|
_sha256HexOfMail = new(() =>
|
||||||
{
|
{
|
||||||
var bytes_arr = Encoding.UTF8.GetBytes(EmailAddress.ToUpper());
|
var bytes_arr = Encoding.UTF8.GetBytes(EmailAddress.ToUpper());
|
||||||
var hash_arr = SHA256.HashData(bytes_arr);
|
var hash_arr = SHA256.HashData(bytes_arr);
|
||||||
var hexa_str = BitConverter.ToString(hash_arr);
|
var hexa_str = BitConverter.ToString(hash_arr);
|
||||||
return hexa_str.Replace("-", string.Empty);
|
return hexa_str.Replace("-", string.Empty);
|
||||||
});
|
});
|
||||||
|
}
|
||||||
|
|
||||||
public DateTime AddedWhen { get; } = DateTime.Now;
|
[EmailAddress]
|
||||||
};
|
public required string EmailAddress { get; init; }
|
||||||
}
|
|
||||||
|
public string? TotpSecretkey { get; init; }
|
||||||
|
|
||||||
|
public string Signature => _sha256HexOfMail.Value;
|
||||||
|
|
||||||
|
private readonly Lazy<string> _sha256HexOfMail;
|
||||||
|
|
||||||
|
public DateTime AddedWhen { get; } = DateTime.Now;
|
||||||
|
};
|
||||||
@@ -1,25 +1,31 @@
|
|||||||
using DigitalData.Core.Abstractions;
|
using EnvelopeGenerator.Application.DTOs.EnvelopeReceiver;
|
||||||
using DigitalData.Core.DTO;
|
|
||||||
using EnvelopeGenerator.Application.DTOs.EnvelopeReceiver;
|
|
||||||
using Microsoft.AspNetCore.Mvc;
|
using Microsoft.AspNetCore.Mvc;
|
||||||
using System.Text.Json.Serialization;
|
using System.Text.Json.Serialization;
|
||||||
|
|
||||||
namespace EnvelopeGenerator.Application.DTOs.Receiver;
|
namespace EnvelopeGenerator.Application.DTOs.Receiver;
|
||||||
|
|
||||||
[ApiExplorerSettings(IgnoreApi = true)]
|
[ApiExplorerSettings(IgnoreApi = true)]
|
||||||
public record ReceiverReadDto(
|
public class ReceiverReadDto
|
||||||
int Id,
|
|
||||||
string EmailAddress,
|
|
||||||
string Signature,
|
|
||||||
DateTime AddedWhen
|
|
||||||
) : BaseDTO<int>(Id), IUnique<int>
|
|
||||||
{
|
{
|
||||||
|
public int Id { get; set; }
|
||||||
|
|
||||||
|
public string EmailAddress { get; set; }
|
||||||
|
|
||||||
|
public string Signature { get; set; }
|
||||||
|
|
||||||
|
public DateTime AddedWhen { get; set; }
|
||||||
|
|
||||||
[JsonIgnore]
|
[JsonIgnore]
|
||||||
public IEnumerable<EnvelopeReceiverBasicDto>? EnvelopeReceivers { get; init; }
|
public IEnumerable<EnvelopeReceiverBasicDto>? EnvelopeReceivers { get; set; }
|
||||||
|
|
||||||
public string? LastUsedName => EnvelopeReceivers?.LastOrDefault()?.Name;
|
public string? LastUsedName => EnvelopeReceivers?.LastOrDefault()?.Name;
|
||||||
|
|
||||||
public string? TotpSecretkey { get; set; } = null;
|
public string? TotpSecretkey { get; set; } = null;
|
||||||
|
|
||||||
public DateTime? TfaRegDeadline { get; set; }
|
public DateTime? TfaRegDeadline { get; set; }
|
||||||
};
|
|
||||||
|
public override int GetHashCode()
|
||||||
|
{
|
||||||
|
return Id.GetHashCode();
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,7 +1,27 @@
|
|||||||
using DigitalData.Core.Abstractions;
|
using Microsoft.AspNetCore.Mvc;
|
||||||
using Microsoft.AspNetCore.Mvc;
|
|
||||||
|
|
||||||
namespace EnvelopeGenerator.Application.DTOs.Receiver;
|
namespace EnvelopeGenerator.Application.DTOs.Receiver;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Data Transfer Object for updating a receiver's information.
|
||||||
|
/// </summary>
|
||||||
[ApiExplorerSettings(IgnoreApi = true)]
|
[ApiExplorerSettings(IgnoreApi = true)]
|
||||||
public record ReceiverUpdateDto(int Id, string? TotpSecretkey = null, DateTime? TfaRegDeadline = null) : IUnique<int>;
|
public class ReceiverUpdateDto
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Gets or sets the unique identifier of the receiver.
|
||||||
|
/// </summary>
|
||||||
|
public int Id { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets or sets the TOTP (Time-based One-Time Password) secret key.
|
||||||
|
/// Optional.
|
||||||
|
/// </summary>
|
||||||
|
public string? TotpSecretkey { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets or sets the deadline for two-factor authentication registration.
|
||||||
|
/// Optional.
|
||||||
|
/// </summary>
|
||||||
|
public DateTime? TfaRegDeadline { get; set; }
|
||||||
|
}
|
||||||
@@ -1,15 +1,45 @@
|
|||||||
using DigitalData.Core.Abstractions;
|
using Microsoft.AspNetCore.Mvc;
|
||||||
using Microsoft.AspNetCore.Mvc;
|
|
||||||
|
|
||||||
namespace EnvelopeGenerator.Application.DTOs
|
namespace EnvelopeGenerator.Application.DTOs;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Data Transfer Object representing a user receiver with associated details.
|
||||||
|
/// </summary>
|
||||||
|
[ApiExplorerSettings(IgnoreApi = true)]
|
||||||
|
public class UserReceiverDto
|
||||||
{
|
{
|
||||||
[ApiExplorerSettings(IgnoreApi = true)]
|
/// <summary>
|
||||||
public record UserReceiverDto(
|
/// Gets or sets the unique identifier of the user receiver.
|
||||||
int Id,
|
/// </summary>
|
||||||
int UserId,
|
public int Id { get; set; }
|
||||||
int ReceiverId,
|
|
||||||
string Name,
|
/// <summary>
|
||||||
string CompanyName,
|
/// Gets or sets the identifier of the user associated with the receiver.
|
||||||
string JobTitle,
|
/// </summary>
|
||||||
DateTime AddedWhen) : IUnique<int>;
|
public int UserId { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets or sets the identifier of the receiver.
|
||||||
|
/// </summary>
|
||||||
|
public int ReceiverId { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets or sets the name of the receiver.
|
||||||
|
/// </summary>
|
||||||
|
public string Name { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets or sets the company name of the receiver.
|
||||||
|
/// </summary>
|
||||||
|
public string CompanyName { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets or sets the job title of the receiver.
|
||||||
|
/// </summary>
|
||||||
|
public string JobTitle { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets or sets the timestamp when the user receiver was added.
|
||||||
|
/// </summary>
|
||||||
|
public DateTime AddedWhen { get; set; }
|
||||||
}
|
}
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
using DigitalData.Core.Abstractions.Infrastructure;
|
using DigitalData.Core.Application.Interfaces.Repository;
|
||||||
using EnvelopeGenerator.Domain.Entities;
|
using EnvelopeGenerator.Domain.Entities;
|
||||||
using MediatR;
|
using MediatR;
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
using EnvelopeGenerator.Common;
|
using EnvelopeGenerator.CommonServices;
|
||||||
using MediatR;
|
using MediatR;
|
||||||
|
|
||||||
namespace EnvelopeGenerator.Application.EmailTemplates.Commands.Reset;
|
namespace EnvelopeGenerator.Application.EmailTemplates.Commands.Reset;
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
using DigitalData.Core.Abstractions.Infrastructure;
|
using DigitalData.Core.Application.Interfaces.Repository;
|
||||||
using EnvelopeGenerator.Application.DTOs;
|
using EnvelopeGenerator.Application.DTOs;
|
||||||
using EnvelopeGenerator.Application.EmailTemplates.Queries.Read;
|
|
||||||
using EnvelopeGenerator.Domain.Entities;
|
using EnvelopeGenerator.Domain.Entities;
|
||||||
using MediatR;
|
using MediatR;
|
||||||
|
|
||||||
@@ -70,7 +69,7 @@ public class ResetEmailTemplateCommandHandler : IRequestHandler<ResetEmailTempla
|
|||||||
new(){
|
new(){
|
||||||
Id = 4,
|
Id = 4,
|
||||||
Name = "DocumentCompleted",
|
Name = "DocumentCompleted",
|
||||||
Body = "Guten Tag [NAME_RECEIVER],<br />\r\n<br />\r\nDer Signaturvorgang <B><I>'[DOCUMENT_TITLE]'</I></B> wurde erfolgreich abgeschlossen.<br />\r\n<br />\r\nSie erhalten das Dokument mit einem detaillierten Ergebnisbericht als Anhang zu dieser Email.<br />\r\n<br />\r\nMit freundlichen Grüßen<br />\r\n<br />\r\n[NAME_PORTAL]",
|
Body = "Guten Tag [NAME_RECEIVER],<br />\r\n<br />\r\nDer Signaturvorgang <B><I>'[DOCUMENT_TITLE]'</I></B> wurde erfolgreich abgeschlossen.<br />\r\n<br />\r\nSie erhalten das Dokument mit einem detaillierten Ergebnisbericht als Anhang zu dieser EmailAddress.<br />\r\n<br />\r\nMit freundlichen Grüßen<br />\r\n<br />\r\n[NAME_PORTAL]",
|
||||||
Subject = "Umschlag abgeschlossen: '[DOCUMENT_TITLE]'"
|
Subject = "Umschlag abgeschlossen: '[DOCUMENT_TITLE]'"
|
||||||
},
|
},
|
||||||
new(){
|
new(){
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
using DigitalData.Core.Abstractions.Infrastructure;
|
using DigitalData.Core.Application.Interfaces.Repository;
|
||||||
using EnvelopeGenerator.Application.DTOs;
|
using EnvelopeGenerator.Application.DTOs;
|
||||||
using EnvelopeGenerator.Application.Exceptions;
|
using EnvelopeGenerator.Application.Exceptions;
|
||||||
using EnvelopeGenerator.Domain.Entities;
|
using EnvelopeGenerator.Domain.Entities;
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
using EnvelopeGenerator.Common;
|
using EnvelopeGenerator.CommonServices;
|
||||||
|
|
||||||
namespace EnvelopeGenerator.Application.EmailTemplates;
|
namespace EnvelopeGenerator.Application.EmailTemplates;
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
using AutoMapper;
|
using AutoMapper;
|
||||||
using EnvelopeGenerator.Application.Contracts.Repositories;
|
using EnvelopeGenerator.Application.Contracts.Repositories;
|
||||||
using EnvelopeGenerator.Application.DTOs;
|
using EnvelopeGenerator.Application.DTOs;
|
||||||
using EnvelopeGenerator.Common;
|
using EnvelopeGenerator.CommonServices;
|
||||||
using MediatR;
|
using MediatR;
|
||||||
using Microsoft.AspNetCore.Http;
|
using Microsoft.AspNetCore.Http;
|
||||||
using Microsoft.Extensions.Logging;
|
using Microsoft.Extensions.Logging;
|
||||||
|
|||||||
@@ -14,16 +14,13 @@
|
|||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="Dapper" Version="2.1.66" />
|
<PackageReference Include="Dapper" Version="2.1.66" />
|
||||||
<PackageReference Include="DigitalData.Core.Abstractions" Version="3.6.0" />
|
<PackageReference Include="DigitalData.Core.Abstractions" Version="4.0.0" />
|
||||||
<PackageReference Include="DigitalData.Core.Application" Version="3.2.1" />
|
<PackageReference Include="DigitalData.Core.Application" Version="3.3.1" />
|
||||||
<PackageReference Include="DigitalData.Core.Client" Version="2.0.3" />
|
<PackageReference Include="DigitalData.Core.Client" Version="2.1.0" />
|
||||||
<PackageReference Include="DigitalData.Core.DTO" Version="2.0.1" />
|
<PackageReference Include="DigitalData.EmailProfilerDispatcher" Version="3.1.0" />
|
||||||
<PackageReference Include="DigitalData.EmailProfilerDispatcher" Version="3.0.0" />
|
|
||||||
<PackageReference Include="MediatR" Version="12.5.0" />
|
<PackageReference Include="MediatR" Version="12.5.0" />
|
||||||
<PackageReference Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="7.0.18" />
|
<PackageReference Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="7.0.18" />
|
||||||
<PackageReference Include="Microsoft.Data.SqlClient" Version="5.1.1" />
|
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="9.0.5" />
|
||||||
<PackageReference Include="Microsoft.Data.SqlClient" Version="6.0.2" />
|
|
||||||
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="9.0.4" />
|
|
||||||
<PackageReference Include="Otp.NET" Version="1.4.0" />
|
<PackageReference Include="Otp.NET" Version="1.4.0" />
|
||||||
<PackageReference Include="QRCoder" Version="1.6.0" />
|
<PackageReference Include="QRCoder" Version="1.6.0" />
|
||||||
<PackageReference Include="QRCoder-ImageSharp" Version="0.10.0" />
|
<PackageReference Include="QRCoder-ImageSharp" Version="0.10.0" />
|
||||||
@@ -31,7 +28,7 @@
|
|||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ProjectReference Include="..\EnvelopeGenerator.Common\EnvelopeGenerator.Common.vbproj" />
|
<ProjectReference Include="..\EnvelopeGenerator.CommonServices\EnvelopeGenerator.CommonServices.vbproj" />
|
||||||
<ProjectReference Include="..\EnvelopeGenerator.Domain\EnvelopeGenerator.Domain.csproj" />
|
<ProjectReference Include="..\EnvelopeGenerator.Domain\EnvelopeGenerator.Domain.csproj" />
|
||||||
<ProjectReference Include="..\EnvelopeGenerator.Extensions\EnvelopeGenerator.Extensions.csproj" />
|
<ProjectReference Include="..\EnvelopeGenerator.Extensions\EnvelopeGenerator.Extensions.csproj" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
@@ -65,6 +62,7 @@
|
|||||||
|
|
||||||
<ItemGroup Condition="'$(TargetFramework)' == 'net7.0'">
|
<ItemGroup Condition="'$(TargetFramework)' == 'net7.0'">
|
||||||
<PackageReference Include="AutoMapper" Version="13.0.1" />
|
<PackageReference Include="AutoMapper" Version="13.0.1" />
|
||||||
|
<PackageReference Include="Microsoft.Data.SqlClient" Version="5.2.3" />
|
||||||
<PackageReference Include="CommandDotNet">
|
<PackageReference Include="CommandDotNet">
|
||||||
<Version>7.0.5</Version>
|
<Version>7.0.5</Version>
|
||||||
</PackageReference>
|
</PackageReference>
|
||||||
@@ -72,6 +70,7 @@
|
|||||||
|
|
||||||
<ItemGroup Condition="'$(TargetFramework)' == 'net8.0'">
|
<ItemGroup Condition="'$(TargetFramework)' == 'net8.0'">
|
||||||
<PackageReference Include="AutoMapper" Version="14.0.0" />
|
<PackageReference Include="AutoMapper" Version="14.0.0" />
|
||||||
|
<PackageReference Include="Microsoft.Data.SqlClient" Version="6.0.2" />
|
||||||
<PackageReference Include="CommandDotNet">
|
<PackageReference Include="CommandDotNet">
|
||||||
<Version>8.1.1</Version>
|
<Version>8.1.1</Version>
|
||||||
</PackageReference>
|
</PackageReference>
|
||||||
@@ -79,6 +78,7 @@
|
|||||||
|
|
||||||
<ItemGroup Condition="'$(TargetFramework)' == 'net9.0'">
|
<ItemGroup Condition="'$(TargetFramework)' == 'net9.0'">
|
||||||
<PackageReference Include="AutoMapper" Version="14.0.0" />
|
<PackageReference Include="AutoMapper" Version="14.0.0" />
|
||||||
|
<PackageReference Include="Microsoft.Data.SqlClient" Version="6.0.2" />
|
||||||
<PackageReference Include="CommandDotNet">
|
<PackageReference Include="CommandDotNet">
|
||||||
<Version>8.1.1</Version>
|
<Version>8.1.1</Version>
|
||||||
</PackageReference>
|
</PackageReference>
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
using EnvelopeGenerator.Common;
|
using EnvelopeGenerator.CommonServices;
|
||||||
|
|
||||||
namespace EnvelopeGenerator.Application.Envelopes.Queries.Read;
|
namespace EnvelopeGenerator.Application.Envelopes.Queries.Read;
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
using EnvelopeGenerator.Common;
|
using EnvelopeGenerator.CommonServices;
|
||||||
using MediatR;
|
using MediatR;
|
||||||
using System.ComponentModel.DataAnnotations;
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
using EnvelopeGenerator.Common;
|
using EnvelopeGenerator.CommonServices;
|
||||||
|
|
||||||
namespace EnvelopeGenerator.Application.Histories.Queries.Read;
|
namespace EnvelopeGenerator.Application.Histories.Queries.Read;
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ using DigitalData.Core.Application;
|
|||||||
using EnvelopeGenerator.Application.DTOs;
|
using EnvelopeGenerator.Application.DTOs;
|
||||||
using EnvelopeGenerator.Domain.Entities;
|
using EnvelopeGenerator.Domain.Entities;
|
||||||
using EnvelopeGenerator.Application.Contracts.Repositories;
|
using EnvelopeGenerator.Application.Contracts.Repositories;
|
||||||
using static EnvelopeGenerator.Common.Constants;
|
using static EnvelopeGenerator.CommonServices.Constants;
|
||||||
using DigitalData.Core.DTO;
|
using DigitalData.Core.DTO;
|
||||||
using Microsoft.Extensions.Logging;
|
using Microsoft.Extensions.Logging;
|
||||||
using EnvelopeGenerator.Application.Contracts.Services;
|
using EnvelopeGenerator.Application.Contracts.Services;
|
||||||
|
|||||||
@@ -2,11 +2,12 @@
|
|||||||
using DigitalData.Core.Application;
|
using DigitalData.Core.Application;
|
||||||
using EnvelopeGenerator.Domain.Entities;
|
using EnvelopeGenerator.Domain.Entities;
|
||||||
using EnvelopeGenerator.Application.Contracts.Repositories;
|
using EnvelopeGenerator.Application.Contracts.Repositories;
|
||||||
using static EnvelopeGenerator.Common.Constants;
|
using static EnvelopeGenerator.CommonServices.Constants;
|
||||||
using DigitalData.Core.DTO;
|
using DigitalData.Core.DTO;
|
||||||
using EnvelopeGenerator.Application.DTOs.EnvelopeHistory;
|
using EnvelopeGenerator.Application.DTOs.EnvelopeHistory;
|
||||||
using EnvelopeGenerator.Application.DTOs.Receiver;
|
using EnvelopeGenerator.Application.DTOs.Receiver;
|
||||||
using EnvelopeGenerator.Application.Contracts.Services;
|
using EnvelopeGenerator.Application.Contracts.Services;
|
||||||
|
using DigitalData.Core.Application.DTO;
|
||||||
|
|
||||||
namespace EnvelopeGenerator.Application.Services;
|
namespace EnvelopeGenerator.Application.Services;
|
||||||
|
|
||||||
@@ -76,9 +77,16 @@ public class EnvelopeHistoryService : CRUDService<IEnvelopeHistoryRepository, En
|
|||||||
}
|
}
|
||||||
|
|
||||||
public async Task<DataResult<long>> RecordAsync(int envelopeId, string userReference, EnvelopeStatus status, string? comment = null) =>
|
public async Task<DataResult<long>> RecordAsync(int envelopeId, string userReference, EnvelopeStatus status, string? comment = null) =>
|
||||||
await CreateAsync(new (EnvelopeId: envelopeId, UserReference: userReference, Status: (int)status, ActionDate: DateTime.Now, Comment: comment))
|
await CreateAsync(new ()
|
||||||
|
{
|
||||||
|
EnvelopeId = envelopeId,
|
||||||
|
UserReference = userReference,
|
||||||
|
Status = (int) status,
|
||||||
|
ActionDate = DateTime.Now,
|
||||||
|
Comment = comment
|
||||||
|
})
|
||||||
.ThenAsync(
|
.ThenAsync(
|
||||||
Success: id => Result.Success(id),
|
Success: dto => Result.Success(dto.Id),
|
||||||
Fail: (mssg, ntc) => Result.Fail<long>().Message(mssg).Notice(ntc)
|
Fail: (mssg, ntc) => Result.Fail<long>().Message(mssg).Notice(ntc)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@@ -4,10 +4,10 @@ using DigitalData.EmailProfilerDispatcher.Abstraction.Contracts;
|
|||||||
using DigitalData.EmailProfilerDispatcher.Abstraction.DTOs.EmailOut;
|
using DigitalData.EmailProfilerDispatcher.Abstraction.DTOs.EmailOut;
|
||||||
using DigitalData.EmailProfilerDispatcher.Abstraction.Services;
|
using DigitalData.EmailProfilerDispatcher.Abstraction.Services;
|
||||||
using EnvelopeGenerator.Application.DTOs.EnvelopeReceiver;
|
using EnvelopeGenerator.Application.DTOs.EnvelopeReceiver;
|
||||||
using EnvelopeGenerator.Common;
|
using EnvelopeGenerator.CommonServices;
|
||||||
using Microsoft.Extensions.Logging;
|
using Microsoft.Extensions.Logging;
|
||||||
using Microsoft.Extensions.Options;
|
using Microsoft.Extensions.Options;
|
||||||
using static EnvelopeGenerator.Common.Constants;
|
using static EnvelopeGenerator.CommonServices.Constants;
|
||||||
using EnvelopeGenerator.Extensions;
|
using EnvelopeGenerator.Extensions;
|
||||||
using EnvelopeGenerator.Application.DTOs.EnvelopeReceiverReadOnly;
|
using EnvelopeGenerator.Application.DTOs.EnvelopeReceiverReadOnly;
|
||||||
using EnvelopeGenerator.Application.Configurations;
|
using EnvelopeGenerator.Application.Configurations;
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
using AutoMapper;
|
using AutoMapper;
|
||||||
using DigitalData.Core.Abstractions.Client;
|
using DigitalData.Core.Client.Interface;
|
||||||
using DigitalData.Core.Client;
|
using DigitalData.Core.Client;
|
||||||
using EnvelopeGenerator.Application.Configurations;
|
using EnvelopeGenerator.Application.Configurations;
|
||||||
using EnvelopeGenerator.Application.Contracts.Services;
|
using EnvelopeGenerator.Application.Contracts.Services;
|
||||||
|
|||||||
@@ -4,7 +4,6 @@ using EnvelopeGenerator.Domain.Entities;
|
|||||||
using EnvelopeGenerator.Application.Contracts.Repositories;
|
using EnvelopeGenerator.Application.Contracts.Repositories;
|
||||||
using EnvelopeGenerator.Application.DTOs.Receiver;
|
using EnvelopeGenerator.Application.DTOs.Receiver;
|
||||||
using DigitalData.Core.DTO;
|
using DigitalData.Core.DTO;
|
||||||
using DigitalData.Core.Abstractions;
|
|
||||||
using Microsoft.Extensions.Logging;
|
using Microsoft.Extensions.Logging;
|
||||||
using EnvelopeGenerator.Application.Contracts.Services;
|
using EnvelopeGenerator.Application.Contracts.Services;
|
||||||
|
|
||||||
@@ -37,12 +36,12 @@ public class ReceiverService : CRUDService<IReceiverRepository, ReceiverCreateDt
|
|||||||
return await _repository.DeleteAsync(rcv) ? Result.Success() : Result.Fail();
|
return await _repository.DeleteAsync(rcv) ? Result.Success() : Result.Fail();
|
||||||
}
|
}
|
||||||
|
|
||||||
public virtual async Task<Result> UpdateAsync<TUpdateDto>(TUpdateDto updateDto) where TUpdateDto : IUnique<int>
|
public virtual async Task<Result> UpdateAsync<TUpdateDto>(TUpdateDto updateDto)
|
||||||
{
|
{
|
||||||
var val = await _repository.ReadByIdAsync(updateDto.Id);
|
var val = await _repository.ReadByIdAsync(updateDto.GetId<int>());
|
||||||
if (val == null)
|
if (val == null)
|
||||||
{
|
{
|
||||||
return Result.Fail().Notice(LogLevel.Warning, Flag.NotFound, $"{updateDto.Id} is not found in update process of {GetType()} entity.");
|
return Result.Fail().Notice(LogLevel.Warning, Flag.NotFound, $"{updateDto.GetIdOrDefault<int>()} is not found in update process of {GetType()} entity.");
|
||||||
}
|
}
|
||||||
|
|
||||||
var entity = _mapper.Map(updateDto, val);
|
var entity = _mapper.Map(updateDto, val);
|
||||||
|
|||||||
@@ -100,8 +100,8 @@
|
|||||||
<Reference Include="EntityFramework.SqlServer, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
|
<Reference Include="EntityFramework.SqlServer, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\EntityFramework.6.4.4\lib\net45\EntityFramework.SqlServer.dll</HintPath>
|
<HintPath>..\packages\EntityFramework.6.4.4\lib\net45\EntityFramework.SqlServer.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="EnvelopeGenerator.Common">
|
<Reference Include="EnvelopeGenerator.CommonServices">
|
||||||
<HintPath>..\EnvelopeGenerator.Common\bin\Debug\EnvelopeGenerator.Common.dll</HintPath>
|
<HintPath>..\EnvelopeGenerator.CommonServices\bin\Debug\EnvelopeGenerator.CommonServices.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="FirebirdSql.Data.FirebirdClient, Version=7.5.0.0, Culture=neutral, PublicKeyToken=3750abcc3150b00c, processorArchitecture=MSIL">
|
<Reference Include="FirebirdSql.Data.FirebirdClient, Version=7.5.0.0, Culture=neutral, PublicKeyToken=3750abcc3150b00c, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\FirebirdSql.Data.FirebirdClient.7.5.0\lib\net452\FirebirdSql.Data.FirebirdClient.dll</HintPath>
|
<HintPath>..\packages\FirebirdSql.Data.FirebirdClient.7.5.0\lib\net452\FirebirdSql.Data.FirebirdClient.dll</HintPath>
|
||||||
@@ -350,9 +350,9 @@
|
|||||||
</None>
|
</None>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ProjectReference Include="..\EnvelopeGenerator.Common\EnvelopeGenerator.Common.vbproj">
|
<ProjectReference Include="..\EnvelopeGenerator.CommonServices\EnvelopeGenerator.CommonServices.vbproj">
|
||||||
<Project>{6EA0C51F-C2B1-4462-8198-3DE0B32B74F8}</Project>
|
<Project>{6EA0C51F-C2B1-4462-8198-3DE0B32B74F8}</Project>
|
||||||
<Name>EnvelopeGenerator.Common</Name>
|
<Name>EnvelopeGenerator.CommonServices</Name>
|
||||||
</ProjectReference>
|
</ProjectReference>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
|||||||
@@ -2,9 +2,9 @@
|
|||||||
Imports DigitalData.Modules.Logging
|
Imports DigitalData.Modules.Logging
|
||||||
Imports GdPicture14
|
Imports GdPicture14
|
||||||
Imports Newtonsoft.Json.Linq
|
Imports Newtonsoft.Json.Linq
|
||||||
Imports EnvelopeGenerator.Common.Jobs
|
Imports EnvelopeGenerator.CommonServices.Jobs
|
||||||
Imports System.IO
|
Imports System.IO
|
||||||
Imports EnvelopeGenerator.Common.Jobs.FinalizeDocument
|
Imports EnvelopeGenerator.CommonServices.Jobs.FinalizeDocument
|
||||||
|
|
||||||
Public Class frmFinalizePDF
|
Public Class frmFinalizePDF
|
||||||
Private Const CONNECTIONSTRING = "Server=sDD-VMP04-SQL17\DD_DEVELOP01;Database=DD_ECM;User Id=sa;Password=+bk8oAbbQP1AzoHtvZUbd+Mbok2f8Fl4miEx1qssJ5yEaEWoQJ9prg4L14fURpPnqi1WMNs9fE4=;"
|
Private Const CONNECTIONSTRING = "Server=sDD-VMP04-SQL17\DD_DEVELOP01;Database=DD_ECM;User Id=sa;Password=+bk8oAbbQP1AzoHtvZUbd+Mbok2f8Fl4miEx1qssJ5yEaEWoQJ9prg4L14fURpPnqi1WMNs9fE4=;"
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
Imports DigitalData.Modules.Database
|
Imports DigitalData.Modules.Database
|
||||||
Imports DigitalData.Modules.Config
|
Imports DigitalData.Modules.Config
|
||||||
Imports DigitalData.Modules.Base
|
Imports DigitalData.Modules.Base
|
||||||
Imports EnvelopeGenerator.Common
|
Imports EnvelopeGenerator.CommonServices
|
||||||
|
|
||||||
Public Class frmReportViewer
|
Public Class frmReportViewer
|
||||||
Private LogConfig As LogConfig
|
Private LogConfig As LogConfig
|
||||||
|
|||||||
@@ -1,152 +0,0 @@
|
|||||||
Public Class Constants
|
|
||||||
|
|
||||||
#Region "Status Fields"
|
|
||||||
'http://wiki.dd/xwiki13/bin/view/Anwendungen/Produkt-Handbuch/Sonstiges/SignFlow/Envelope%20Status/
|
|
||||||
Public Enum EnvelopeStatus
|
|
||||||
Invalid = 0
|
|
||||||
EnvelopeCreated = 1001
|
|
||||||
EnvelopeSaved = 1002
|
|
||||||
EnvelopeQueued = 1003
|
|
||||||
EnvelopeSent = 1004 ' Nicht verwendet
|
|
||||||
EnvelopePartlySigned = 1005
|
|
||||||
EnvelopeCompletelySigned = 1006
|
|
||||||
EnvelopeReportCreated = 1007
|
|
||||||
EnvelopeArchived = 1008
|
|
||||||
EnvelopeDeleted = 1009
|
|
||||||
EnvelopeRejected = 10007
|
|
||||||
EnvelopeWithdrawn = 10009
|
|
||||||
AccessCodeRequested = 2001
|
|
||||||
AccessCodeCorrect = 2002
|
|
||||||
AccessCodeIncorrect = 2003
|
|
||||||
DocumentOpened = 2004
|
|
||||||
DocumentSigned = 2005
|
|
||||||
DocumentForwarded = 2006
|
|
||||||
DocumentRejected = 2007
|
|
||||||
EnvelopeShared = 2008
|
|
||||||
EnvelopeViewed = 2009
|
|
||||||
MessageInvitationSent = 3001 ' Wird von Trigger verwendet
|
|
||||||
MessageAccessCodeSent = 3002
|
|
||||||
MessageConfirmationSent = 3003
|
|
||||||
MessageDeletionSent = 3004
|
|
||||||
MessageCompletionSent = 3005
|
|
||||||
DocumentMod_Rotation = 4001
|
|
||||||
End Enum
|
|
||||||
|
|
||||||
Public Class Status
|
|
||||||
Public Shared ReadOnly NonHist As IReadOnlyList(Of EnvelopeStatus) = New List(Of EnvelopeStatus) From {
|
|
||||||
EnvelopeStatus.Invalid,
|
|
||||||
EnvelopeStatus.EnvelopeSaved,
|
|
||||||
EnvelopeStatus.EnvelopeSent,
|
|
||||||
EnvelopeStatus.EnvelopePartlySigned
|
|
||||||
}
|
|
||||||
|
|
||||||
Public Shared ReadOnly RelatedToFormApp As IReadOnlyList(Of EnvelopeStatus) = New List(Of EnvelopeStatus) From {
|
|
||||||
EnvelopeStatus.EnvelopeCreated,
|
|
||||||
EnvelopeStatus.DocumentMod_Rotation
|
|
||||||
}
|
|
||||||
End Class
|
|
||||||
|
|
||||||
'TODO: standardize in xwiki
|
|
||||||
Public Enum ReferenceType
|
|
||||||
Sender = 1
|
|
||||||
Receiver
|
|
||||||
System
|
|
||||||
Unknown
|
|
||||||
End Enum
|
|
||||||
|
|
||||||
Public Enum ElementStatus
|
|
||||||
Created = 0
|
|
||||||
End Enum
|
|
||||||
|
|
||||||
Public Enum DocumentStatus
|
|
||||||
Created = 0
|
|
||||||
Signed = 1
|
|
||||||
End Enum
|
|
||||||
|
|
||||||
Public Enum ReceiverStatus
|
|
||||||
Unsigned = 0
|
|
||||||
Signed = 1
|
|
||||||
End Enum
|
|
||||||
#End Region
|
|
||||||
|
|
||||||
#Region "Type Fields"
|
|
||||||
Public Enum ElementType
|
|
||||||
Signature = 1
|
|
||||||
End Enum
|
|
||||||
|
|
||||||
Public Enum ContractType
|
|
||||||
Contract = 1
|
|
||||||
ReadAndSign = 2
|
|
||||||
End Enum
|
|
||||||
|
|
||||||
Public Enum ColorType
|
|
||||||
ReceiverColor1 = 1
|
|
||||||
ReceiverColor2 = 2
|
|
||||||
ReceiverColor3 = 3
|
|
||||||
ReceiverColor4 = 4
|
|
||||||
ReceiverColor5 = 5
|
|
||||||
ReceiverColor6 = 6
|
|
||||||
ReceiverColor7 = 7
|
|
||||||
ReceiverColor8 = 8
|
|
||||||
ReceiverColor9 = 9
|
|
||||||
ReceiverColor10 = 10
|
|
||||||
End Enum
|
|
||||||
|
|
||||||
Public Enum CertificationType
|
|
||||||
AdvancedElectronicSignature = 1
|
|
||||||
'ElectronicSignature = 1
|
|
||||||
'QualifiedSignature = 2
|
|
||||||
End Enum
|
|
||||||
|
|
||||||
Public Enum FinalEmailType
|
|
||||||
No = 0
|
|
||||||
Yes = 1
|
|
||||||
YesWithAttachment = 2
|
|
||||||
End Enum
|
|
||||||
|
|
||||||
Public Enum PageOrientation
|
|
||||||
Portrait = 0
|
|
||||||
Landscape = 1
|
|
||||||
End Enum
|
|
||||||
|
|
||||||
Public Enum EmailTemplateType
|
|
||||||
DocumentReceived = 0
|
|
||||||
DocumentSigned
|
|
||||||
DocumentDeleted
|
|
||||||
DocumentCompleted
|
|
||||||
DocumentAccessCodeReceived
|
|
||||||
DocumentShared
|
|
||||||
TotpSecret
|
|
||||||
DocumentRejected_ADM
|
|
||||||
DocumentRejected_REC
|
|
||||||
DocumentRejected_REC_2
|
|
||||||
End Enum
|
|
||||||
|
|
||||||
Public Enum EncodeType
|
|
||||||
EnvelopeReceiver
|
|
||||||
EnvelopeReceiverReadOnly
|
|
||||||
Undefined
|
|
||||||
DocumentForwarded
|
|
||||||
DocumentShared
|
|
||||||
End Enum
|
|
||||||
#End Region
|
|
||||||
|
|
||||||
#Region "Role"
|
|
||||||
Public NotInheritable Class ReceiverRole
|
|
||||||
Public Const PreAuth As String = "PreAuth"
|
|
||||||
Public Const FullyAuth As String = "FullyAuth"
|
|
||||||
End Class
|
|
||||||
#End Region
|
|
||||||
|
|
||||||
#Region "Constants"
|
|
||||||
|
|
||||||
Public Const DATABASE = "DATABASE"
|
|
||||||
Public Const LOGCONFIG = "LOGCONFIG"
|
|
||||||
Public Const GDPICTURE = "GDPICTURE"
|
|
||||||
Public Const PDF_BURNER_PARAMS = "PDFBurnerParams"
|
|
||||||
|
|
||||||
Public Const GREEN_300 = "#bbf7d0"
|
|
||||||
Public Const RED_300 = "#fecaca"
|
|
||||||
Public Const ORANGE_300 = "#fed7aa"
|
|
||||||
#End Region
|
|
||||||
End Class
|
|
||||||
@@ -1,10 +0,0 @@
|
|||||||
Public Class DocumentStatus
|
|
||||||
|
|
||||||
Public Property Id As Integer
|
|
||||||
Public Property EnvelopeId As Integer
|
|
||||||
Public Property ReceiverId As Integer
|
|
||||||
Public Property Value As String
|
|
||||||
Public Property Status As Constants.DocumentStatus = Constants.DocumentStatus.Created
|
|
||||||
Public Property StatusChangedWhen As Date
|
|
||||||
|
|
||||||
End Class
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
Public Class ElementMetadata
|
|
||||||
Public Property Index As Integer
|
|
||||||
Public Property Page As Integer
|
|
||||||
End Class
|
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
Public Class EmailTemplate
|
|
||||||
|
|
||||||
Public Property Id As Integer
|
|
||||||
Public Property Name As String
|
|
||||||
Public Property Body As String
|
|
||||||
Public Property Subject As String
|
|
||||||
|
|
||||||
End Class
|
|
||||||
@@ -1,81 +0,0 @@
|
|||||||
Public Class Envelope
|
|
||||||
Public Property Id As Integer = 0
|
|
||||||
Public Property UserId As Integer
|
|
||||||
Public Property Title As String = ""
|
|
||||||
Public Property EnvelopeTypeId As Integer
|
|
||||||
Public Property ContractType As Integer
|
|
||||||
Public Property Status As Constants.EnvelopeStatus = Constants.EnvelopeStatus.EnvelopeCreated
|
|
||||||
Public Property Uuid As String = Guid.NewGuid.ToString()
|
|
||||||
Public Property UseAccessCode As Boolean = False
|
|
||||||
Public Property Language As String = "de-DE"
|
|
||||||
Public Property CertificationType As Constants.CertificationType = Constants.CertificationType.AdvancedElectronicSignature
|
|
||||||
Public Property TFA_Enabled As Boolean = False
|
|
||||||
Public Property SendReminderEmails As Boolean = False
|
|
||||||
Public Property FirstReminderDays As Integer = 0
|
|
||||||
Public Property ReminderIntervalDays As Integer = 0
|
|
||||||
|
|
||||||
Public Property ExpiresWhen As Date
|
|
||||||
Public Property ExpiresWarningWhen As Date
|
|
||||||
Public Property ExpiresWhenDays As Integer
|
|
||||||
Public Property ExpiresWarningWhenDays As Integer
|
|
||||||
|
|
||||||
Public Property FinalEmailToCreator As Constants.FinalEmailType
|
|
||||||
Public Property FinalEmailToReceivers As Constants.FinalEmailType
|
|
||||||
|
|
||||||
Public Property Message As String = My.Resources.Envelope.Please_read_and_sign_this_document
|
|
||||||
|
|
||||||
Public Property AddedWhen As Date
|
|
||||||
Public Property ChangedWhen As Date
|
|
||||||
Public Property User As New User()
|
|
||||||
|
|
||||||
Public Property Documents As New List(Of EnvelopeDocument)
|
|
||||||
Public Property Receivers As New List(Of EnvelopeReceiver)
|
|
||||||
Public Property History As New List(Of EnvelopeHistoryEntry)
|
|
||||||
Public Property EnvelopeType As EnvelopeType
|
|
||||||
Public Property DOC_RESULT As Byte()
|
|
||||||
Public Property CURRENT_WORK_APP As String = "signFLOW GUI"
|
|
||||||
Public ReadOnly Property EnvelopeTypeTitle As String
|
|
||||||
Get
|
|
||||||
Return EnvelopeType?.Title
|
|
||||||
End Get
|
|
||||||
End Property
|
|
||||||
|
|
||||||
Public ReadOnly Property IsAlreadySent As Boolean
|
|
||||||
Get
|
|
||||||
Return Status > Constants.EnvelopeStatus.EnvelopeSaved
|
|
||||||
End Get
|
|
||||||
End Property
|
|
||||||
|
|
||||||
Public ReadOnly Property StatusTranslated As String
|
|
||||||
Get
|
|
||||||
Dim oStatus = Status.ToString()
|
|
||||||
Return My.Resources.Model.ResourceManager.GetString(oStatus)
|
|
||||||
End Get
|
|
||||||
End Property
|
|
||||||
|
|
||||||
Public ReadOnly Property ContractTypeTranslated As String
|
|
||||||
Get
|
|
||||||
Dim oContractType = ContractType.ToString()
|
|
||||||
Return My.Resources.Model.ResourceManager.GetString(oContractType)
|
|
||||||
End Get
|
|
||||||
End Property
|
|
||||||
|
|
||||||
Public Function ValidateReceiverDocumentData() As List(Of String)
|
|
||||||
Dim oErrors As New List(Of String)
|
|
||||||
|
|
||||||
If Documents.Count = 0 Then
|
|
||||||
oErrors.Add(My.Resources.Envelope.Missing_Documents)
|
|
||||||
End If
|
|
||||||
|
|
||||||
If Receivers.Count = 0 Then
|
|
||||||
oErrors.Add(My.Resources.Envelope.Missing_Receivers)
|
|
||||||
End If
|
|
||||||
|
|
||||||
If Receivers.Any(Function(r) r.HasEmailAndName = False) Then
|
|
||||||
oErrors.Add(My.Resources.Envelope.Incomplete_Receivers)
|
|
||||||
End If
|
|
||||||
|
|
||||||
Return oErrors
|
|
||||||
End Function
|
|
||||||
|
|
||||||
End Class
|
|
||||||
@@ -1,23 +0,0 @@
|
|||||||
Imports System.Drawing
|
|
||||||
Imports System.IO
|
|
||||||
|
|
||||||
Public Class EnvelopeDocument
|
|
||||||
Public Property Id As Integer
|
|
||||||
|
|
||||||
Public Property FileNameOriginal As String
|
|
||||||
|
|
||||||
Public Property IsTempFile As Boolean = True
|
|
||||||
|
|
||||||
Public Property EnvelopeId As Integer = 0
|
|
||||||
|
|
||||||
Public Property Thumbnail As Bitmap
|
|
||||||
|
|
||||||
Public Property Elements As New List(Of EnvelopeDocumentElement)
|
|
||||||
|
|
||||||
Public Property Filename As String
|
|
||||||
|
|
||||||
Public Property Filepath As String
|
|
||||||
|
|
||||||
Public Property PageCount As Integer
|
|
||||||
Public Property Byte_Data As Byte()
|
|
||||||
End Class
|
|
||||||
@@ -1,27 +0,0 @@
|
|||||||
Public Class EnvelopeDocumentElement
|
|
||||||
Public Property Id As Integer = -1
|
|
||||||
Public Property X As Double
|
|
||||||
Public Property Y As Double
|
|
||||||
Public Property Width As Double
|
|
||||||
Public Property Height As Double
|
|
||||||
Public Property ElementType As Constants.ElementType
|
|
||||||
Public Property DocumentId As Integer
|
|
||||||
Public Property ReceiverId As Integer
|
|
||||||
Public Property Required As Boolean = False
|
|
||||||
Public Property [ReadOnly] As Boolean = False
|
|
||||||
Public Property Page As Integer = 1
|
|
||||||
Public Property Index As Integer = 0
|
|
||||||
|
|
||||||
Public ReadOnly Property Top As Single
|
|
||||||
Get
|
|
||||||
Return Math.Round(Y, 5)
|
|
||||||
End Get
|
|
||||||
End Property
|
|
||||||
|
|
||||||
Public ReadOnly Property Left As Single
|
|
||||||
Get
|
|
||||||
Return Math.Round(X, 5)
|
|
||||||
End Get
|
|
||||||
End Property
|
|
||||||
|
|
||||||
End Class
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
Public Class EnvelopeHistoryEntry
|
|
||||||
Public Property EnvelopeId As Integer
|
|
||||||
Public Property UserReference As String
|
|
||||||
Public Property Status As Constants.EnvelopeStatus
|
|
||||||
Public ReadOnly Property StatusTranslated As String
|
|
||||||
Get
|
|
||||||
Dim oStatus = Status.ToString()
|
|
||||||
Return My.Resources.Model.ResourceManager.GetString(oStatus)
|
|
||||||
End Get
|
|
||||||
End Property
|
|
||||||
Public Property ActionDate As Date = Now()
|
|
||||||
End Class
|
|
||||||
@@ -1,83 +0,0 @@
|
|||||||
Imports System.Drawing
|
|
||||||
Imports System.Runtime.Serialization
|
|
||||||
Imports DevExpress.Utils.Svg
|
|
||||||
Imports DigitalData.Modules.Base
|
|
||||||
Imports EnvelopeGenerator.Common.Constants
|
|
||||||
Imports Newtonsoft.Json
|
|
||||||
|
|
||||||
Public Class EnvelopeReceiver
|
|
||||||
Public Property Id As Integer = 0
|
|
||||||
Public Property UserId As Integer
|
|
||||||
Public Property Signature As String
|
|
||||||
Public ReadOnly Property Color As Color
|
|
||||||
Get
|
|
||||||
Return Helpers.ColorTypeToColor(ColorType)
|
|
||||||
End Get
|
|
||||||
End Property
|
|
||||||
|
|
||||||
<JsonIgnore>
|
|
||||||
Public ReadOnly Property Image As SvgBitmap
|
|
||||||
Get
|
|
||||||
Try
|
|
||||||
Return SvgBitmap.FromFile("Images/circle.svg")
|
|
||||||
Catch ex As Exception
|
|
||||||
Return Nothing
|
|
||||||
End Try
|
|
||||||
End Get
|
|
||||||
End Property
|
|
||||||
|
|
||||||
|
|
||||||
Public Property ColorType As ColorType
|
|
||||||
|
|
||||||
Public Property Name As String
|
|
||||||
|
|
||||||
Public Property Company As String = ""
|
|
||||||
|
|
||||||
Public Property JobTitle As String = ""
|
|
||||||
|
|
||||||
Public Property Email As String
|
|
||||||
|
|
||||||
Public Property Status As ReceiverStatus
|
|
||||||
|
|
||||||
Public ReadOnly Property StatusTranslated As String
|
|
||||||
Get
|
|
||||||
Dim oStatus = Status.ToString()
|
|
||||||
Return My.Resources.Model.ResourceManager.GetString(oStatus)
|
|
||||||
End Get
|
|
||||||
End Property
|
|
||||||
|
|
||||||
Public Property SignedDate As DateTime = DateTime.MinValue
|
|
||||||
|
|
||||||
Public ReadOnly Property SignedDateDisplayValue As String
|
|
||||||
Get
|
|
||||||
If SignedDate = DateTime.MinValue Then
|
|
||||||
Return "-"
|
|
||||||
Else
|
|
||||||
Return SignedDate.ToString("G")
|
|
||||||
End If
|
|
||||||
|
|
||||||
End Get
|
|
||||||
End Property
|
|
||||||
|
|
||||||
Public ReadOnly Property HasId As Boolean
|
|
||||||
Get
|
|
||||||
Return Id > 0
|
|
||||||
End Get
|
|
||||||
End Property
|
|
||||||
|
|
||||||
Public ReadOnly Property HasEmailAndName As Boolean
|
|
||||||
Get
|
|
||||||
Return String.IsNullOrWhiteSpace(Email) = False And
|
|
||||||
String.IsNullOrWhiteSpace(Name) = False
|
|
||||||
End Get
|
|
||||||
End Property
|
|
||||||
|
|
||||||
Public Property Sequence As Integer = 0
|
|
||||||
Public Property PrivateMessage As String = ""
|
|
||||||
Public Property AccessCode As String = ""
|
|
||||||
Public Property PhoneNumber As String = ""
|
|
||||||
|
|
||||||
Public Function GetSignature() As String
|
|
||||||
Return StringEx.GetChecksum(Email.ToUpper)
|
|
||||||
End Function
|
|
||||||
End Class
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
Public Class EnvelopeResponse
|
|
||||||
Public Property Envelope As Envelope
|
|
||||||
Public Property Receiver As EnvelopeReceiver
|
|
||||||
End Class
|
|
||||||
@@ -1,27 +0,0 @@
|
|||||||
Public Class EnvelopeType
|
|
||||||
|
|
||||||
Public Property Id As Integer = 0
|
|
||||||
Public Property Title As String
|
|
||||||
Public Property UseAccessCode As Boolean
|
|
||||||
Public Property ContractType As Integer ' Unbenutzt
|
|
||||||
|
|
||||||
Public Property Language As String
|
|
||||||
Public Property CertificationType As Constants.CertificationType = Constants.CertificationType.AdvancedElectronicSignature
|
|
||||||
Public Property TFA_Enabled As Boolean = False
|
|
||||||
Public Property SendReminderEmails As Boolean = False
|
|
||||||
Public Property FirstReminderDays As Integer = 0
|
|
||||||
Public Property ReminderIntervalDays As Integer = 0
|
|
||||||
|
|
||||||
Public Property ExpiresWhen As Date
|
|
||||||
Public Property ExpiresWarningWhen As Date
|
|
||||||
Public Property ExpiresWhenDays As Integer
|
|
||||||
Public Property ExpiresWarningWhenDays As Integer
|
|
||||||
|
|
||||||
Public Property FinalEmailToCreator As Constants.FinalEmailType
|
|
||||||
Public Property FinalEmailToReceivers As Constants.FinalEmailType
|
|
||||||
|
|
||||||
Public Overrides Function ToString() As String
|
|
||||||
Return Title
|
|
||||||
End Function
|
|
||||||
|
|
||||||
End Class
|
|
||||||
@@ -1,18 +0,0 @@
|
|||||||
Public Class User
|
|
||||||
Public Property Id As Integer = 0
|
|
||||||
Public Property Prename As String
|
|
||||||
Public Property Name As String
|
|
||||||
Public Property Username As String
|
|
||||||
Public Property Email As String
|
|
||||||
Public Property Language As String
|
|
||||||
|
|
||||||
Public Property HasAccess As Boolean
|
|
||||||
Public Property IsAdmin As Boolean
|
|
||||||
Public Property GhostModeActive As Boolean
|
|
||||||
|
|
||||||
Public ReadOnly Property FullName() As String
|
|
||||||
Get
|
|
||||||
Return Prename + " " + Name
|
|
||||||
End Get
|
|
||||||
End Property
|
|
||||||
End Class
|
|
||||||
@@ -1,179 +0,0 @@
|
|||||||
Imports DevExpress.DataAccess.Native.Web
|
|
||||||
Imports DigitalData.Modules.Base
|
|
||||||
Imports EnvelopeGenerator.Common.Constants
|
|
||||||
Imports EnvelopeGenerator.Common.My.Resources
|
|
||||||
Imports DigitalData.Modules.Database
|
|
||||||
Imports System.ComponentModel
|
|
||||||
|
|
||||||
Public Class ActionService
|
|
||||||
Inherits BaseService
|
|
||||||
|
|
||||||
|
|
||||||
Private ReadOnly EmailService As EmailService
|
|
||||||
Private ReadOnly HistoryService As HistoryService
|
|
||||||
|
|
||||||
Private ReadOnly ReceiverModel As ReceiverModel
|
|
||||||
|
|
||||||
Private myDatabase As MSSQLServer
|
|
||||||
|
|
||||||
|
|
||||||
Public Sub New(pState As State, pDD_ECM As MSSQLServer)
|
|
||||||
MyBase.New(pState)
|
|
||||||
myDatabase = pDD_ECM
|
|
||||||
EmailService = New EmailService(pState)
|
|
||||||
HistoryService = New HistoryService(pState)
|
|
||||||
ReceiverModel = New ReceiverModel(pState)
|
|
||||||
End Sub
|
|
||||||
|
|
||||||
Public Function SendEnvelope(pEnvelope As Envelope) As Boolean
|
|
||||||
If HistoryService.SetEnvelopeStatus(pEnvelope, Constants.EnvelopeStatus.EnvelopeQueued, pEnvelope.User.Email) = False Then
|
|
||||||
Return False
|
|
||||||
End If
|
|
||||||
|
|
||||||
Dim oSendResult = pEnvelope.Receivers.
|
|
||||||
Select(Function(r) EmailService.SendDocumentReceivedEmail(pEnvelope, r)).
|
|
||||||
All(Function(r) r = True)
|
|
||||||
|
|
||||||
If oSendResult = False Then
|
|
||||||
Return False
|
|
||||||
End If
|
|
||||||
|
|
||||||
Return True
|
|
||||||
End Function
|
|
||||||
Public Function SetStatusDocumentRotationChanged(pEnvelope As Envelope) As Boolean
|
|
||||||
If HistoryService.SetEnvelopeStatus(pEnvelope, Constants.EnvelopeStatus.DocumentMod_Rotation, pEnvelope.User.Email) = False Then
|
|
||||||
Return False
|
|
||||||
End If
|
|
||||||
Return True
|
|
||||||
End Function
|
|
||||||
Public Function Resend_Receiver(pEnvelope As Envelope, pmail As String) As Boolean
|
|
||||||
If HistoryService.SetEnvelopeStatus(pEnvelope, Constants.EnvelopeStatus.EnvelopeQueued, pEnvelope.User.Email) = False Then
|
|
||||||
Return False
|
|
||||||
End If
|
|
||||||
Dim oSendResult As Boolean = False
|
|
||||||
For Each oReceiver In pEnvelope.Receivers
|
|
||||||
EmailService.SendDocumentReceivedEmail(pEnvelope, oReceiver)
|
|
||||||
Next
|
|
||||||
Return oSendResult
|
|
||||||
End Function
|
|
||||||
Public Function ResendReceiver(pEnvelope As Envelope, pReceiver As EnvelopeReceiver) As Boolean
|
|
||||||
Return EmailService.SendDocumentReceivedEmail(pEnvelope, pReceiver)
|
|
||||||
End Function
|
|
||||||
|
|
||||||
|
|
||||||
Public Function DeleteEnvelope(pEnvelope As Envelope, pReason As String) As Boolean
|
|
||||||
Dim oStatus As EnvelopeStatus
|
|
||||||
If pEnvelope.IsAlreadySent Then
|
|
||||||
oStatus = Constants.EnvelopeStatus.EnvelopeWithdrawn
|
|
||||||
Else
|
|
||||||
oStatus = Constants.EnvelopeStatus.EnvelopeDeleted
|
|
||||||
End If
|
|
||||||
Dim oUpd = $"UPDATE TBSIG_ENVELOPE SET REJECTION_REASON = '{pReason}' WHERE GUID = {pEnvelope.Id}"
|
|
||||||
myDatabase.ExecuteNonQuery(oUpd)
|
|
||||||
If HistoryService.SetEnvelopeStatus(pEnvelope, oStatus, pEnvelope.User.Email) = False Then
|
|
||||||
Return False
|
|
||||||
End If
|
|
||||||
|
|
||||||
Dim oSendResult = pEnvelope.Receivers.
|
|
||||||
Select(Function(r) EmailService.SendEnvelopeDeletedEmail(pEnvelope, r, pReason)).
|
|
||||||
All(Function(r) r = True)
|
|
||||||
|
|
||||||
If oSendResult = False Then
|
|
||||||
Return False
|
|
||||||
End If
|
|
||||||
|
|
||||||
Return True
|
|
||||||
End Function
|
|
||||||
Public Function API_SendWithdrawn_Mails(pEnvelope As Envelope, pReason As String) As Boolean
|
|
||||||
Dim oSendResult As Boolean = False
|
|
||||||
For Each oReceiver As EnvelopeReceiver In pEnvelope.Receivers
|
|
||||||
If EmailService.SendEnvelopeDeletedEmail(pEnvelope, oReceiver, pReason) = False Then
|
|
||||||
Return False
|
|
||||||
End If
|
|
||||||
Next
|
|
||||||
Return True
|
|
||||||
End Function
|
|
||||||
|
|
||||||
Public Function OpenEnvelope(pEnvelope As Envelope, pReceiver As EnvelopeReceiver) As Boolean
|
|
||||||
Dim oUserReference = pReceiver.Email
|
|
||||||
|
|
||||||
If HistoryService.SetEnvelopeStatus(pEnvelope, Constants.EnvelopeStatus.DocumentOpened, oUserReference) = False Then
|
|
||||||
Return False
|
|
||||||
End If
|
|
||||||
|
|
||||||
Return True
|
|
||||||
End Function
|
|
||||||
|
|
||||||
Public Function RequestAccessCode(pEnvelope As Envelope, pReceiver As EnvelopeReceiver) As Boolean
|
|
||||||
Dim oUserReference = pReceiver.Email
|
|
||||||
|
|
||||||
If HistoryService.SetEnvelopeStatus(pEnvelope, Constants.EnvelopeStatus.AccessCodeRequested, oUserReference) = False Then
|
|
||||||
Return False
|
|
||||||
End If
|
|
||||||
|
|
||||||
Return True
|
|
||||||
End Function
|
|
||||||
|
|
||||||
Public Function EnterCorrectAccessCode(pEnvelope As Envelope, pReceiver As EnvelopeReceiver) As Boolean
|
|
||||||
Dim oUserReference = pReceiver.Email
|
|
||||||
|
|
||||||
If HistoryService.SetEnvelopeStatus(pEnvelope, Constants.EnvelopeStatus.AccessCodeCorrect, oUserReference) = False Then
|
|
||||||
Return False
|
|
||||||
End If
|
|
||||||
|
|
||||||
Return True
|
|
||||||
End Function
|
|
||||||
|
|
||||||
Public Function EnterIncorrectAccessCode(pEnvelope As Envelope, pReceiver As EnvelopeReceiver) As Boolean
|
|
||||||
Dim oUserReference = pReceiver.Email
|
|
||||||
|
|
||||||
If HistoryService.SetEnvelopeStatus(pEnvelope, Constants.EnvelopeStatus.AccessCodeIncorrect, oUserReference) = False Then
|
|
||||||
Return False
|
|
||||||
End If
|
|
||||||
|
|
||||||
Return True
|
|
||||||
End Function
|
|
||||||
|
|
||||||
Public Function SignEnvelope(pEnvelope As Envelope, pReceiver As EnvelopeReceiver) As Boolean
|
|
||||||
Dim oUserReference = pReceiver.Email
|
|
||||||
|
|
||||||
If HistoryService.SetEnvelopeStatus(pEnvelope, Constants.EnvelopeStatus.DocumentSigned, oUserReference) = False Then
|
|
||||||
Return False
|
|
||||||
End If
|
|
||||||
|
|
||||||
Return EmailService.SendSignedEmail(pEnvelope, pReceiver)
|
|
||||||
End Function
|
|
||||||
|
|
||||||
Public Function FinalizeEnvelope(pEnvelope As Envelope) As Boolean
|
|
||||||
If HistoryService.SetEnvelopeStatus(pEnvelope, Constants.EnvelopeStatus.EnvelopeArchived, "System") = False Then
|
|
||||||
Return False
|
|
||||||
End If
|
|
||||||
|
|
||||||
Return True
|
|
||||||
End Function
|
|
||||||
|
|
||||||
Public Function CompleteEnvelope(pEnvelope As Envelope, pReceiver As EnvelopeReceiver) As Boolean ', pAttachment As String
|
|
||||||
If HistoryService.SetEnvelopeStatus(pEnvelope, Constants.EnvelopeStatus.MessageCompletionSent, pReceiver.Email) = False Then
|
|
||||||
Return False
|
|
||||||
End If
|
|
||||||
|
|
||||||
Return EmailService.SendDocumentCompletedEmailToReceiver(pEnvelope, pReceiver) ', pAttachment
|
|
||||||
End Function
|
|
||||||
|
|
||||||
Public Function CompleteEnvelope(pEnvelope As Envelope) As Boolean ', pAttachment As String
|
|
||||||
If HistoryService.SetEnvelopeStatus(pEnvelope, Constants.EnvelopeStatus.MessageCompletionSent, pEnvelope.User.Email) = False Then
|
|
||||||
Return False
|
|
||||||
End If
|
|
||||||
|
|
||||||
Return EmailService.SendDocumentCompletedEmailToCreator(pEnvelope) ', pAttachment
|
|
||||||
End Function
|
|
||||||
|
|
||||||
Public Function CreateReport(pEnvelope As Envelope) As Boolean
|
|
||||||
If HistoryService.SetEnvelopeStatus(pEnvelope, Constants.EnvelopeStatus.EnvelopeReportCreated, "System") = False Then
|
|
||||||
Return False
|
|
||||||
End If
|
|
||||||
|
|
||||||
Return True
|
|
||||||
End Function
|
|
||||||
|
|
||||||
End Class
|
|
||||||
@@ -7,8 +7,8 @@
|
|||||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||||
<ProjectGuid>{6EA0C51F-C2B1-4462-8198-3DE0B32B74F8}</ProjectGuid>
|
<ProjectGuid>{6EA0C51F-C2B1-4462-8198-3DE0B32B74F8}</ProjectGuid>
|
||||||
<OutputType>Library</OutputType>
|
<OutputType>Library</OutputType>
|
||||||
<RootNamespace>EnvelopeGenerator.Common</RootNamespace>
|
<RootNamespace>EnvelopeGenerator.CommonServices</RootNamespace>
|
||||||
<AssemblyName>EnvelopeGenerator.Common</AssemblyName>
|
<AssemblyName>EnvelopeGenerator.CommonServices</AssemblyName>
|
||||||
<FileAlignment>512</FileAlignment>
|
<FileAlignment>512</FileAlignment>
|
||||||
<MyType>Windows</MyType>
|
<MyType>Windows</MyType>
|
||||||
<TargetFrameworkVersion>v4.6.2</TargetFrameworkVersion>
|
<TargetFrameworkVersion>v4.6.2</TargetFrameworkVersion>
|
||||||
@@ -23,7 +23,7 @@
|
|||||||
<DefineDebug>true</DefineDebug>
|
<DefineDebug>true</DefineDebug>
|
||||||
<DefineTrace>true</DefineTrace>
|
<DefineTrace>true</DefineTrace>
|
||||||
<OutputPath>bin\Debug\</OutputPath>
|
<OutputPath>bin\Debug\</OutputPath>
|
||||||
<DocumentationFile>EnvelopeGenerator.Common.xml</DocumentationFile>
|
<DocumentationFile>EnvelopeGenerator.CommonServices.xml</DocumentationFile>
|
||||||
<NoWarn>42016,41999,42017,42018,42019,42032,42036,42020,42021,42022</NoWarn>
|
<NoWarn>42016,41999,42017,42018,42019,42032,42036,42020,42021,42022</NoWarn>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||||
@@ -32,7 +32,7 @@
|
|||||||
<DefineTrace>true</DefineTrace>
|
<DefineTrace>true</DefineTrace>
|
||||||
<Optimize>true</Optimize>
|
<Optimize>true</Optimize>
|
||||||
<OutputPath>bin\Release\</OutputPath>
|
<OutputPath>bin\Release\</OutputPath>
|
||||||
<DocumentationFile>EnvelopeGenerator.Common.xml</DocumentationFile>
|
<DocumentationFile>EnvelopeGenerator.CommonServices.xml</DocumentationFile>
|
||||||
<NoWarn>42016,41999,42017,42018,42019,42032,42036,42020,42021,42022</NoWarn>
|
<NoWarn>42016,41999,42017,42018,42019,42032,42036,42020,42021,42022</NoWarn>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
@@ -274,25 +274,13 @@
|
|||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Compile Include="Config.vb" />
|
<Compile Include="Config.vb" />
|
||||||
<Compile Include="Constants.vb" />
|
<Compile Include="Models\DbConfig.vb" />
|
||||||
<Compile Include="Entities\DbConfig.vb" />
|
<Compile Include="Models\ElementStatus.vb" />
|
||||||
<Compile Include="Entities\ElementMetadata.vb" />
|
<Compile Include="Models\EmailData.vb" />
|
||||||
<Compile Include="Entities\DocumentStatus.vb" />
|
|
||||||
<Compile Include="Entities\ElementStatus.vb" />
|
|
||||||
<Compile Include="Entities\EmailData.vb" />
|
|
||||||
<Compile Include="Entities\EmailTemplate.vb" />
|
|
||||||
<Compile Include="Jobs\APIBackendJobs\APIEnvelopeJob.vb" />
|
<Compile Include="Jobs\APIBackendJobs\APIEnvelopeJob.vb" />
|
||||||
<Compile Include="Jobs\FinalizeDocument\PDFBurnerParams.vb" />
|
<Compile Include="Jobs\FinalizeDocument\PDFBurnerParams.vb" />
|
||||||
<Compile Include="Services\TemplateService.vb" />
|
<Compile Include="Services\TemplateService.vb" />
|
||||||
<Compile Include="Entities\Envelope.vb" />
|
<Compile Include="Models\State.vb" />
|
||||||
<Compile Include="Entities\EnvelopeDocument.vb" />
|
|
||||||
<Compile Include="Entities\EnvelopeDocumentElement.vb" />
|
|
||||||
<Compile Include="Entities\EnvelopeHistoryEntry.vb" />
|
|
||||||
<Compile Include="Entities\EnvelopeReceiver.vb" />
|
|
||||||
<Compile Include="Entities\EnvelopeResponse.vb" />
|
|
||||||
<Compile Include="Entities\EnvelopeType.vb" />
|
|
||||||
<Compile Include="Entities\State.vb" />
|
|
||||||
<Compile Include="Entities\User.vb" />
|
|
||||||
<Compile Include="Helpers.vb" />
|
<Compile Include="Helpers.vb" />
|
||||||
<Compile Include="Jobs\FinalizeDocument\FinalizeDocumentExceptions.vb" />
|
<Compile Include="Jobs\FinalizeDocument\FinalizeDocumentExceptions.vb" />
|
||||||
<Compile Include="Jobs\FinalizeDocument\FinalizeDocumentJob.vb" />
|
<Compile Include="Jobs\FinalizeDocument\FinalizeDocumentJob.vb" />
|
||||||
@@ -443,7 +431,12 @@
|
|||||||
<EmbeddedResource Include="Templates\document_access_code_de.html" />
|
<EmbeddedResource Include="Templates\document_access_code_de.html" />
|
||||||
<EmbeddedResource Include="Templates\email_de.html" />
|
<EmbeddedResource Include="Templates\email_de.html" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup />
|
<ItemGroup>
|
||||||
|
<ProjectReference Include="..\EnvelopeGenerator.Domain\EnvelopeGenerator.Domain.csproj">
|
||||||
|
<Project>{4f32a98d-e6f0-4a09-bd97-1cf26107e837}</Project>
|
||||||
|
<Name>EnvelopeGenerator.Domain</Name>
|
||||||
|
</ProjectReference>
|
||||||
|
</ItemGroup>
|
||||||
<Import Project="$(MSBuildToolsPath)\Microsoft.VisualBasic.targets" />
|
<Import Project="$(MSBuildToolsPath)\Microsoft.VisualBasic.targets" />
|
||||||
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
|
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
@@ -3,7 +3,7 @@ Imports System.IO
|
|||||||
Imports System.Security.Cryptography
|
Imports System.Security.Cryptography
|
||||||
Imports System.Text
|
Imports System.Text
|
||||||
Imports DevExpress.Utils.Svg
|
Imports DevExpress.Utils.Svg
|
||||||
Imports EnvelopeGenerator.Common.Constants
|
Imports EnvelopeGenerator.Domain.Constants
|
||||||
|
|
||||||
Public Class Helpers
|
Public Class Helpers
|
||||||
Private Shared key As String = "$xzBvyPETUS&amm8)D8x#)f;4%;?[BPd" ' Passwort-Schlüssel (16, 24, or 32 bytes)
|
Private Shared key As String = "$xzBvyPETUS&amm8)D8x#)f;4%;?[BPd" ' Passwort-Schlüssel (16, 24, or 32 bytes)
|
||||||
|
Before Width: | Height: | Size: 168 B After Width: | Height: | Size: 168 B |
@@ -1,16 +1,9 @@
|
|||||||
Imports DigitalData.Modules.Database
|
Imports DigitalData.Modules.Database
|
||||||
Imports DigitalData.Modules.Logging
|
Imports DigitalData.Modules.Logging
|
||||||
Imports DigitalData.Modules.Base
|
Imports DigitalData.Modules.Base
|
||||||
Imports GdPicture14
|
|
||||||
Imports Quartz
|
Imports Quartz
|
||||||
Imports System.Security.Cryptography
|
Imports System.Security.Cryptography
|
||||||
Imports System.IO
|
|
||||||
Imports EnvelopeGenerator.Common.Jobs.FinalizeDocument.FinalizeDocumentExceptions
|
|
||||||
Imports EnvelopeGenerator.Common.Jobs.FinalizeDocument
|
|
||||||
Imports EnvelopeGenerator.Common.Constants
|
|
||||||
Imports DevExpress.DataProcessing
|
Imports DevExpress.DataProcessing
|
||||||
Imports System.Data.SqlClient
|
|
||||||
Imports DevExpress.XtraRichEdit.Layout.Engine
|
|
||||||
|
|
||||||
Namespace Jobs
|
Namespace Jobs
|
||||||
Public Class APIEnvelopeJob
|
Public Class APIEnvelopeJob
|
||||||
@@ -39,7 +32,7 @@ Namespace Jobs
|
|||||||
End Class
|
End Class
|
||||||
|
|
||||||
Public Function Execute(pContext As IJobExecutionContext) As Task Implements IJob.Execute
|
Public Function Execute(pContext As IJobExecutionContext) As Task Implements IJob.Execute
|
||||||
LogConfig = pContext.MergedJobDataMap.Item(Constants.LOGCONFIG)
|
LogConfig = pContext.MergedJobDataMap.Item(Domain.Constants.LOGCONFIG)
|
||||||
Logger = LogConfig.GetLogger()
|
Logger = LogConfig.GetLogger()
|
||||||
myTempFiles = New TempFiles(LogConfig)
|
myTempFiles = New TempFiles(LogConfig)
|
||||||
myTempFiles.Create()
|
myTempFiles.Create()
|
||||||
@@ -179,7 +172,7 @@ Namespace Jobs
|
|||||||
ActionService = New ActionService(pState, Database)
|
ActionService = New ActionService(pState, Database)
|
||||||
End Sub
|
End Sub
|
||||||
Private Function GetDatabase(pContext As IJobExecutionContext, pLogConfig As LogConfig) As MSSQLServer
|
Private Function GetDatabase(pContext As IJobExecutionContext, pLogConfig As LogConfig) As MSSQLServer
|
||||||
Dim oConnectionString As String = pContext.MergedJobDataMap.Item(Constants.DATABASE)
|
Dim oConnectionString As String = pContext.MergedJobDataMap.Item(Domain.Constants.DATABASE)
|
||||||
Dim Database = New MSSQLServer(pLogConfig, MSSQLServer.DecryptConnectionString(oConnectionString))
|
Dim Database = New MSSQLServer(pLogConfig, MSSQLServer.DecryptConnectionString(oConnectionString))
|
||||||
|
|
||||||
Return Database
|
Return Database
|
||||||
@@ -5,11 +5,12 @@ Imports GdPicture14
|
|||||||
Imports Quartz
|
Imports Quartz
|
||||||
Imports System.Security.Cryptography
|
Imports System.Security.Cryptography
|
||||||
Imports System.IO
|
Imports System.IO
|
||||||
Imports EnvelopeGenerator.Common.Jobs.FinalizeDocument.FinalizeDocumentExceptions
|
Imports EnvelopeGenerator.CommonServices.Jobs.FinalizeDocument.FinalizeDocumentExceptions
|
||||||
Imports EnvelopeGenerator.Common.Jobs.FinalizeDocument
|
Imports EnvelopeGenerator.CommonServices.Jobs.FinalizeDocument
|
||||||
Imports EnvelopeGenerator.Common.Constants
|
Imports EnvelopeGenerator.Domain.Constants
|
||||||
Imports DevExpress.DataProcessing
|
Imports DevExpress.DataProcessing
|
||||||
Imports System.Data.SqlClient
|
Imports System.Data.SqlClient
|
||||||
|
Imports EnvelopeGenerator.Domain.Entities
|
||||||
|
|
||||||
Namespace Jobs
|
Namespace Jobs
|
||||||
Public Class FinalizeDocumentJob
|
Public Class FinalizeDocumentJob
|
||||||
@@ -47,8 +48,8 @@ Namespace Jobs
|
|||||||
End Class
|
End Class
|
||||||
|
|
||||||
Public Function Execute(pContext As IJobExecutionContext) As Task Implements IJob.Execute
|
Public Function Execute(pContext As IJobExecutionContext) As Task Implements IJob.Execute
|
||||||
Dim oGdPictureKey As String = pContext.MergedJobDataMap.Item(Constants.GDPICTURE)
|
Dim oGdPictureKey As String = pContext.MergedJobDataMap.Item(Domain.Constants.GDPICTURE)
|
||||||
LogConfig = pContext.MergedJobDataMap.Item(Constants.LOGCONFIG)
|
LogConfig = pContext.MergedJobDataMap.Item(Domain.Constants.LOGCONFIG)
|
||||||
Logger = LogConfig.GetLogger()
|
Logger = LogConfig.GetLogger()
|
||||||
myTempFiles = New TempFiles(LogConfig)
|
myTempFiles = New TempFiles(LogConfig)
|
||||||
myTempFiles.Create()
|
myTempFiles.Create()
|
||||||
@@ -74,7 +75,7 @@ Namespace Jobs
|
|||||||
InitializeServices(oState)
|
InitializeServices(oState)
|
||||||
|
|
||||||
Logger.Debug("Loading PDFBurner..")
|
Logger.Debug("Loading PDFBurner..")
|
||||||
Dim pdfBurnerParams As PDFBurnerParams = pContext.MergedJobDataMap.Item(Constants.PDF_BURNER_PARAMS)
|
Dim pdfBurnerParams As PDFBurnerParams = pContext.MergedJobDataMap.Item(PDF_BURNER_PARAMS)
|
||||||
PDFBurner = New PDFBurner(LogConfig, oGdPictureKey, pdfBurnerParams)
|
PDFBurner = New PDFBurner(LogConfig, oGdPictureKey, pdfBurnerParams)
|
||||||
|
|
||||||
Logger.Debug("Loading PDFMerger..")
|
Logger.Debug("Loading PDFMerger..")
|
||||||
@@ -90,7 +91,7 @@ Namespace Jobs
|
|||||||
|
|
||||||
Logger.Debug("ExportPath: [{0}]", Config.ExportPath)
|
Logger.Debug("ExportPath: [{0}]", Config.ExportPath)
|
||||||
|
|
||||||
Dim oCompleteStatus As Integer = Constants.EnvelopeStatus.EnvelopeCompletelySigned
|
Dim oCompleteStatus As Integer = EnvelopeStatus.EnvelopeCompletelySigned
|
||||||
Dim oSql = $"SELECT * FROM TBSIG_ENVELOPE WHERE STATUS = {oCompleteStatus} AND DATEDIFF(minute, CHANGED_WHEN, GETDATE()) >= {CompleteWaitTime} ORDER BY GUID"
|
Dim oSql = $"SELECT * FROM TBSIG_ENVELOPE WHERE STATUS = {oCompleteStatus} AND DATEDIFF(minute, CHANGED_WHEN, GETDATE()) >= {CompleteWaitTime} ORDER BY GUID"
|
||||||
Dim oTable = Database.GetDatatable(oSql)
|
Dim oTable = Database.GetDatatable(oSql)
|
||||||
|
|
||||||
@@ -334,7 +335,7 @@ Namespace Jobs
|
|||||||
|
|
||||||
For Each oReceiver In pEnvelope.Receivers
|
For Each oReceiver In pEnvelope.Receivers
|
||||||
If ActionService.CompleteEnvelope(pEnvelope, oReceiver) = False Then ', oAttachment
|
If ActionService.CompleteEnvelope(pEnvelope, oReceiver) = False Then ', oAttachment
|
||||||
Logger.Error("Envelope could not be completed for receiver [{0}]", oReceiver.Email)
|
Logger.Error("Envelope could not be completed for receiver [{0}]", oReceiver.EmailAddress)
|
||||||
Return False
|
Return False
|
||||||
End If
|
End If
|
||||||
Next
|
Next
|
||||||
@@ -436,7 +437,7 @@ Namespace Jobs
|
|||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Private Function GetDatabase(pContext As IJobExecutionContext, pLogConfig As LogConfig) As MSSQLServer
|
Private Function GetDatabase(pContext As IJobExecutionContext, pLogConfig As LogConfig) As MSSQLServer
|
||||||
Dim oConnectionString As String = pContext.MergedJobDataMap.Item(Constants.DATABASE)
|
Dim oConnectionString As String = pContext.MergedJobDataMap.Item(Domain.Constants.DATABASE)
|
||||||
Dim Database = New MSSQLServer(pLogConfig, MSSQLServer.DecryptConnectionString(oConnectionString))
|
Dim Database = New MSSQLServer(pLogConfig, MSSQLServer.DecryptConnectionString(oConnectionString))
|
||||||
|
|
||||||
Return Database
|
Return Database
|
||||||
@@ -4,7 +4,7 @@ Imports DigitalData.Modules.Base
|
|||||||
Imports DigitalData.Modules.Logging
|
Imports DigitalData.Modules.Logging
|
||||||
Imports GdPicture14
|
Imports GdPicture14
|
||||||
Imports Newtonsoft.Json
|
Imports Newtonsoft.Json
|
||||||
Imports EnvelopeGenerator.Common.Jobs.FinalizeDocument.FinalizeDocumentExceptions
|
Imports EnvelopeGenerator.CommonServices.Jobs.FinalizeDocument.FinalizeDocumentExceptions
|
||||||
|
|
||||||
Namespace Jobs.FinalizeDocument
|
Namespace Jobs.FinalizeDocument
|
||||||
Public Class PDFBurner
|
Public Class PDFBurner
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
Imports DigitalData.Modules.Base
|
Imports DigitalData.Modules.Base
|
||||||
Imports DigitalData.Modules.Logging
|
Imports DigitalData.Modules.Logging
|
||||||
Imports EnvelopeGenerator.Common.Jobs.FinalizeDocument.FinalizeDocumentExceptions
|
Imports EnvelopeGenerator.CommonServices.Jobs.FinalizeDocument.FinalizeDocumentExceptions
|
||||||
Imports GdPicture14
|
Imports GdPicture14
|
||||||
Imports System.IO
|
Imports System.IO
|
||||||
|
|
||||||
@@ -1,7 +1,8 @@
|
|||||||
Imports System.IO
|
Imports System.IO
|
||||||
Imports DigitalData.Modules.Logging
|
Imports DigitalData.Modules.Logging
|
||||||
Imports DigitalData.Modules.Base
|
Imports DigitalData.Modules.Base
|
||||||
Imports EnvelopeGenerator.Common.Jobs.FinalizeDocument.FinalizeDocumentExceptions
|
Imports EnvelopeGenerator.CommonServices.Jobs.FinalizeDocument.FinalizeDocumentExceptions
|
||||||
|
Imports EnvelopeGenerator.Domain.Entities
|
||||||
|
|
||||||
Public Class ReportCreator
|
Public Class ReportCreator
|
||||||
Inherits BaseClass
|
Inherits BaseClass
|
||||||
@@ -17,7 +18,7 @@ Public Class ReportCreator
|
|||||||
EnvelopeModel = New EnvelopeModel(pState)
|
EnvelopeModel = New EnvelopeModel(pState)
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Public Function CreateReport(pEnvelope As Envelope) As Byte()
|
Public Function CreateReport(pEnvelope As Domain.Entities.Envelope) As Byte()
|
||||||
Try
|
Try
|
||||||
Logger.Debug("Loading report data..")
|
Logger.Debug("Loading report data..")
|
||||||
Dim oTable = ReportModel.List(pEnvelope.Id)
|
Dim oTable = ReportModel.List(pEnvelope.Id)
|
||||||
@@ -1,4 +1,5 @@
|
|||||||
Imports System.Windows.Forms.VisualStyles.VisualStyleElement
|
Imports EnvelopeGenerator.Domain
|
||||||
|
Imports EnvelopeGenerator.Domain.Entities
|
||||||
|
|
||||||
Public Class ReportItem
|
Public Class ReportItem
|
||||||
|
|
||||||
@@ -1,4 +1,5 @@
|
|||||||
Imports System.Data.SqlClient
|
Imports System.Data.SqlClient
|
||||||
|
Imports EnvelopeGenerator.Domain.Entities
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,5 +1,6 @@
|
|||||||
Imports System.Data.SqlClient
|
Imports System.Data.SqlClient
|
||||||
Imports DigitalData.Modules.Base
|
Imports DigitalData.Modules.Base
|
||||||
|
Imports EnvelopeGenerator.Domain.Entities
|
||||||
|
|
||||||
Public Class DocumentModel
|
Public Class DocumentModel
|
||||||
Inherits BaseModel
|
Inherits BaseModel
|
||||||
@@ -17,6 +18,7 @@ Public Class DocumentModel
|
|||||||
|
|
||||||
Private Function ToDocument(pRow As DataRow, pReceiverId As Integer) As EnvelopeDocument
|
Private Function ToDocument(pRow As DataRow, pReceiverId As Integer) As EnvelopeDocument
|
||||||
Dim oDocumentId = pRow.ItemEx("GUID", 0)
|
Dim oDocumentId = pRow.ItemEx("GUID", 0)
|
||||||
|
Dim byteDataObj = pRow.Item("BYTE_DATA")
|
||||||
Return New EnvelopeDocument() With {
|
Return New EnvelopeDocument() With {
|
||||||
.Id = oDocumentId,
|
.Id = oDocumentId,
|
||||||
.EnvelopeId = pRow.ItemEx("ENVELOPE_ID", 0),
|
.EnvelopeId = pRow.ItemEx("ENVELOPE_ID", 0),
|
||||||
@@ -25,7 +27,7 @@ Public Class DocumentModel
|
|||||||
.FileNameOriginal = pRow.ItemEx("FILENAME_ORIGINAL", ""),
|
.FileNameOriginal = pRow.ItemEx("FILENAME_ORIGINAL", ""),
|
||||||
.IsTempFile = False,
|
.IsTempFile = False,
|
||||||
.Elements = ElementModel.List(oDocumentId, pReceiverId),
|
.Elements = ElementModel.List(oDocumentId, pReceiverId),
|
||||||
.Byte_Data = DirectCast(pRow.Item("BYTE_DATA"), Byte())
|
.ByteData = If(byteDataObj Is DBNull.Value, Nothing, DirectCast(byteDataObj, Byte()))
|
||||||
}
|
}
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
@@ -94,7 +96,7 @@ Public Class DocumentModel
|
|||||||
oCommand.Parameters.Add("FILENAME_ORIGINAL", SqlDbType.NVarChar).Value = pDocument.FileNameOriginal
|
oCommand.Parameters.Add("FILENAME_ORIGINAL", SqlDbType.NVarChar).Value = pDocument.FileNameOriginal
|
||||||
oCommand.Parameters.Add("FILEPATH", SqlDbType.NVarChar).Value = pDocument.Filepath
|
oCommand.Parameters.Add("FILEPATH", SqlDbType.NVarChar).Value = pDocument.Filepath
|
||||||
oCommand.Parameters.Add("ENVELOPE_ID", SqlDbType.Int).Value = pEnvelope.Id
|
oCommand.Parameters.Add("ENVELOPE_ID", SqlDbType.Int).Value = pEnvelope.Id
|
||||||
oCommand.Parameters.Add(New SqlParameter("@BYTE_DATA", DirectCast(pDocument.Byte_Data, Object)))
|
oCommand.Parameters.Add(New SqlParameter("@BYTE_DATA", DirectCast(pDocument.ByteData, Object)))
|
||||||
|
|
||||||
If Database.ExecuteNonQuery(oCommand, pTransaction) Then
|
If Database.ExecuteNonQuery(oCommand, pTransaction) Then
|
||||||
pDocument.EnvelopeId = pEnvelope.Id
|
pDocument.EnvelopeId = pEnvelope.Id
|
||||||
@@ -1,4 +1,5 @@
|
|||||||
Imports System.Data.SqlClient
|
Imports System.Data.SqlClient
|
||||||
|
Imports EnvelopeGenerator.Domain.Entities
|
||||||
|
|
||||||
Public Class DocumentStatusModel
|
Public Class DocumentStatusModel
|
||||||
Inherits BaseModel
|
Inherits BaseModel
|
||||||
@@ -1,6 +1,7 @@
|
|||||||
Imports System.Data
|
Imports System.Data.SqlClient
|
||||||
Imports System.Data.SqlClient
|
|
||||||
Imports DigitalData.Modules.Base
|
Imports DigitalData.Modules.Base
|
||||||
|
Imports EnvelopeGenerator.Domain
|
||||||
|
Imports EnvelopeGenerator.Domain.Entities
|
||||||
|
|
||||||
Public Class ElementModel
|
Public Class ElementModel
|
||||||
Inherits BaseModel
|
Inherits BaseModel
|
||||||
@@ -9,8 +10,8 @@ Public Class ElementModel
|
|||||||
MyBase.New(pState)
|
MyBase.New(pState)
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Private Function ToElement(pRow As DataRow) As EnvelopeDocumentElement
|
Private Function ToElement(pRow As DataRow) As DocumentReceiverElement
|
||||||
Return New EnvelopeDocumentElement() With {
|
Return New DocumentReceiverElement() With {
|
||||||
.Id = pRow.ItemEx("GUID", 0),
|
.Id = pRow.ItemEx("GUID", 0),
|
||||||
.DocumentId = pRow.ItemEx("DOCUMENT_ID", 0),
|
.DocumentId = pRow.ItemEx("DOCUMENT_ID", 0),
|
||||||
.ReceiverId = pRow.ItemEx("RECEIVER_ID", 0),
|
.ReceiverId = pRow.ItemEx("RECEIVER_ID", 0),
|
||||||
@@ -23,7 +24,7 @@ Public Class ElementModel
|
|||||||
}
|
}
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
Private Function ToElements(pTable As DataTable) As List(Of EnvelopeDocumentElement)
|
Private Function ToElements(pTable As DataTable) As List(Of DocumentReceiverElement)
|
||||||
Return pTable?.Rows.Cast(Of DataRow).
|
Return pTable?.Rows.Cast(Of DataRow).
|
||||||
Select(AddressOf ToElement).
|
Select(AddressOf ToElement).
|
||||||
ToList()
|
ToList()
|
||||||
@@ -79,7 +80,7 @@ Public Class ElementModel
|
|||||||
End Try
|
End Try
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
Public Function List(pDocumentId As Integer) As List(Of EnvelopeDocumentElement)
|
Public Function List(pDocumentId As Integer) As List(Of DocumentReceiverElement)
|
||||||
Try
|
Try
|
||||||
Dim oSql = $"SELECT * FROM [dbo].[TBSIG_DOCUMENT_RECEIVER_ELEMENT] WHERE DOCUMENT_ID = {pDocumentId} ORDER BY PAGE ASC"
|
Dim oSql = $"SELECT * FROM [dbo].[TBSIG_DOCUMENT_RECEIVER_ELEMENT] WHERE DOCUMENT_ID = {pDocumentId} ORDER BY PAGE ASC"
|
||||||
Dim oTable = Database.GetDatatable(oSql)
|
Dim oTable = Database.GetDatatable(oSql)
|
||||||
@@ -92,7 +93,7 @@ Public Class ElementModel
|
|||||||
End Try
|
End Try
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
Public Function List(pDocumentId As Integer, pReceiverId As Integer) As List(Of EnvelopeDocumentElement)
|
Public Function List(pDocumentId As Integer, pReceiverId As Integer) As List(Of DocumentReceiverElement)
|
||||||
Try
|
Try
|
||||||
Dim oReceiverConstraint = ""
|
Dim oReceiverConstraint = ""
|
||||||
If pReceiverId > 0 Then
|
If pReceiverId > 0 Then
|
||||||
@@ -110,7 +111,7 @@ Public Class ElementModel
|
|||||||
End Try
|
End Try
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
Public Function Insert(pElement As EnvelopeDocumentElement) As Boolean
|
Public Function Insert(pElement As DocumentReceiverElement) As Boolean
|
||||||
Try
|
Try
|
||||||
Dim oSql = "INSERT INTO [dbo].[TBSIG_DOCUMENT_RECEIVER_ELEMENT]
|
Dim oSql = "INSERT INTO [dbo].[TBSIG_DOCUMENT_RECEIVER_ELEMENT]
|
||||||
([DOCUMENT_ID]
|
([DOCUMENT_ID]
|
||||||
@@ -160,7 +161,7 @@ Public Class ElementModel
|
|||||||
End Try
|
End Try
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
Public Function Update(pElement As EnvelopeDocumentElement) As Boolean
|
Public Function Update(pElement As DocumentReceiverElement) As Boolean
|
||||||
Try
|
Try
|
||||||
Dim oSql = "UPDATE [dbo].[TBSIG_DOCUMENT_RECEIVER_ELEMENT]
|
Dim oSql = "UPDATE [dbo].[TBSIG_DOCUMENT_RECEIVER_ELEMENT]
|
||||||
SET [POSITION_X] = @POSITION_X
|
SET [POSITION_X] = @POSITION_X
|
||||||
@@ -184,7 +185,7 @@ Public Class ElementModel
|
|||||||
End Try
|
End Try
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
Private Function GetElementId(pElement As EnvelopeDocumentElement) As Integer
|
Private Function GetElementId(pElement As DocumentReceiverElement) As Integer
|
||||||
Try
|
Try
|
||||||
Return Database.GetScalarValue($"SELECT MAX(GUID) FROM TBSIG_DOCUMENT_RECEIVER_ELEMENT
|
Return Database.GetScalarValue($"SELECT MAX(GUID) FROM TBSIG_DOCUMENT_RECEIVER_ELEMENT
|
||||||
WHERE DOCUMENT_ID = {pElement.DocumentId} AND RECEIVER_ID = {pElement.ReceiverId}")
|
WHERE DOCUMENT_ID = {pElement.DocumentId} AND RECEIVER_ID = {pElement.ReceiverId}")
|
||||||
@@ -195,7 +196,7 @@ Public Class ElementModel
|
|||||||
End Try
|
End Try
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
Public Function DeleteElement(pElement As EnvelopeDocumentElement) As Boolean
|
Public Function DeleteElement(pElement As DocumentReceiverElement) As Boolean
|
||||||
Try
|
Try
|
||||||
Dim oSql = $"DELETE FROM TBSIG_DOCUMENT_RECEIVER_ELEMENT WHERE GUID = {pElement.Id}"
|
Dim oSql = $"DELETE FROM TBSIG_DOCUMENT_RECEIVER_ELEMENT WHERE GUID = {pElement.Id}"
|
||||||
Return Database.ExecuteNonQuery(oSql)
|
Return Database.ExecuteNonQuery(oSql)
|
||||||
@@ -1,4 +1,7 @@
|
|||||||
Public Class ElementStatus
|
Imports EnvelopeGenerator.Domain
|
||||||
|
|
||||||
|
<Obsolete("Tabelle TBSIG_ELEMENT_STATUS entfernt")>
|
||||||
|
Public Class ElementStatus
|
||||||
|
|
||||||
Public Property Id As Integer
|
Public Property Id As Integer
|
||||||
Public Property EnvelopeId As Integer
|
Public Property EnvelopeId As Integer
|
||||||
@@ -1,5 +1,6 @@
|
|||||||
Imports System.Data.SqlClient
|
Imports System.Data.SqlClient
|
||||||
|
|
||||||
|
<Obsolete("Tabelle TBSIG_ELEMENT_STATUS entfernt")>
|
||||||
Public Class ElementStatusModel
|
Public Class ElementStatusModel
|
||||||
Inherits BaseModel
|
Inherits BaseModel
|
||||||
|
|
||||||
@@ -7,6 +8,7 @@ Public Class ElementStatusModel
|
|||||||
MyBase.New(pState)
|
MyBase.New(pState)
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
|
<Obsolete("Tabelle TBSIG_ELEMENT_STATUS entfernt")>
|
||||||
Public Function Insert(pElementStatus As ElementStatus) As Boolean
|
Public Function Insert(pElementStatus As ElementStatus) As Boolean
|
||||||
Try
|
Try
|
||||||
Dim oSql = "INSERT INTO [dbo].[TBSIG_ELEMENT_STATUS]
|
Dim oSql = "INSERT INTO [dbo].[TBSIG_ELEMENT_STATUS]
|
||||||
@@ -41,6 +43,7 @@ Public Class ElementStatusModel
|
|||||||
End Try
|
End Try
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
|
<Obsolete("Tabelle TBSIG_ELEMENT_STATUS entfernt")>
|
||||||
Public Function Update(pElementStatus As ElementStatus) As Boolean
|
Public Function Update(pElementStatus As ElementStatus) As Boolean
|
||||||
Try
|
Try
|
||||||
Dim oSql = "UPDATE [dbo].[TBSIG_ELEMENT_STATUS]
|
Dim oSql = "UPDATE [dbo].[TBSIG_ELEMENT_STATUS]
|
||||||
@@ -68,6 +71,7 @@ Public Class ElementStatusModel
|
|||||||
End Try
|
End Try
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
|
<Obsolete("Tabelle TBSIG_ELEMENT_STATUS entfernt")>
|
||||||
Private Function GetElementId(pElement As ElementStatus) As Integer
|
Private Function GetElementId(pElement As ElementStatus) As Integer
|
||||||
Try
|
Try
|
||||||
Return Database.GetScalarValue($"SELECT MAX(GUID) FROM TBSIG_ELEMENT_STATUS
|
Return Database.GetScalarValue($"SELECT MAX(GUID) FROM TBSIG_ELEMENT_STATUS
|
||||||
@@ -1,4 +1,5 @@
|
|||||||
|
Imports EnvelopeGenerator.Domain
|
||||||
|
Imports EnvelopeGenerator.Domain.Entities
|
||||||
Public Class EmailData
|
Public Class EmailData
|
||||||
Public Property EmailAdress As String = ""
|
Public Property EmailAdress As String = ""
|
||||||
Public Property EmailSubject As String = ""
|
Public Property EmailSubject As String = ""
|
||||||
@@ -27,8 +28,8 @@ Public Class EmailData
|
|||||||
''' <param name="pEnvelope"></param>
|
''' <param name="pEnvelope"></param>
|
||||||
''' <param name="pReceiver"></param>
|
''' <param name="pReceiver"></param>
|
||||||
''' <param name="pStatus"></param>
|
''' <param name="pStatus"></param>
|
||||||
Public Sub New(pEnvelope As Envelope, pReceiver As EnvelopeReceiver, pStatus As Constants.EnvelopeStatus)
|
Public Sub New(pEnvelope As Entities.Envelope, pReceiver As Receiver, pStatus As Constants.EnvelopeStatus)
|
||||||
EmailAdress = pReceiver.Email
|
EmailAdress = pReceiver.EmailAddress
|
||||||
EmailSubject = String.Empty
|
EmailSubject = String.Empty
|
||||||
EmailType = pStatus
|
EmailType = pStatus
|
||||||
|
|
||||||
@@ -63,7 +64,7 @@ Public Class EmailData
|
|||||||
''' </summary>
|
''' </summary>
|
||||||
''' <param name="pEnvelope"></param>
|
''' <param name="pEnvelope"></param>
|
||||||
''' <param name="pStatus"></param>
|
''' <param name="pStatus"></param>
|
||||||
Public Sub New(pEnvelope As Envelope, pStatus As Constants.EnvelopeStatus)
|
Public Sub New(pEnvelope As Entities.Envelope, pStatus As Constants.EnvelopeStatus)
|
||||||
EmailAdress = pEnvelope.User.Email
|
EmailAdress = pEnvelope.User.Email
|
||||||
EmailSubject = String.Empty
|
EmailSubject = String.Empty
|
||||||
EmailType = pStatus
|
EmailType = pStatus
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user