Renamed namespaces and related identifiers from EnvelopeGenerator.WebUI to EnvelopeGenerator.Server across the project. This change affects data models, services, controllers, and configuration files to ensure consistency with the new architecture. Updated @using directives in Razor components and other files to reflect the new namespace structure. Adjusted project references in EnvelopeGenerator.Server.csproj to point to the new EnvelopeGenerator.Server.Client project. Modified middleware and logging configurations to use the new EnvelopeGenerator.Server namespace, including changes in Program.cs and appsettings.json. Updated resource and file references to use the new EnvelopeGenerator.Server path, ensuring correct resource loading. Adjusted configuration options in Program.cs to use the new namespace for options classes, such as ApiOptions and PdfViewerOptions. Updated authentication scheme names and related constants to align with the new namespace structure. Revised comments and documentation to reflect the new namespace, ensuring clarity and consistency in the codebase.
93 lines
2.3 KiB
C#
93 lines
2.3 KiB
C#
using EnvelopeGenerator.Server.Models.PsPdfKitAnnotation;
|
|
using System.Text.Json.Serialization;
|
|
|
|
namespace EnvelopeGenerator.Server.Models.PsPdfKitAnnotation;
|
|
|
|
public record Annotation : IAnnotation
|
|
{
|
|
public required string Name { get; init; }
|
|
|
|
#region Bound Annotation
|
|
[JsonIgnore]
|
|
public string? HorBoundAnnotName { get; init; }
|
|
|
|
[JsonIgnore]
|
|
public string? VerBoundAnnotName { get; init; }
|
|
#endregion
|
|
|
|
#region Layout
|
|
[JsonIgnore]
|
|
public double? MarginLeft { get; set; }
|
|
|
|
[JsonIgnore]
|
|
public double MarginLeftRatio { get; init; } = 1;
|
|
|
|
[JsonIgnore]
|
|
public double? MarginTop { get; set; }
|
|
|
|
[JsonIgnore]
|
|
public double MarginTopRatio { get; init; } = 1;
|
|
|
|
public double? Width { get; set; }
|
|
|
|
[JsonIgnore]
|
|
public double WidthRatio { get; init; } = 1;
|
|
|
|
public double? Height { get; set; }
|
|
|
|
[JsonIgnore]
|
|
public double HeightRatio { get; init; } = 1;
|
|
#endregion
|
|
|
|
#region Position
|
|
public double Left => (MarginLeft ?? 0) + (HorBoundAnnot?.HorBoundary ?? 0);
|
|
|
|
public double Top => (MarginTop ?? 0) + (VerBoundAnnot?.VerBoundary ?? 0);
|
|
#endregion
|
|
|
|
#region Boundary
|
|
[JsonIgnore]
|
|
public double HorBoundary => Left + (Width ?? 0);
|
|
|
|
[JsonIgnore]
|
|
public double VerBoundary => Top + (Height ?? 0);
|
|
#endregion
|
|
|
|
#region BoundAnnot
|
|
[JsonIgnore]
|
|
public Annotation? HorBoundAnnot { get; set; }
|
|
|
|
[JsonIgnore]
|
|
public Annotation? VerBoundAnnot { get; set; }
|
|
#endregion
|
|
|
|
public Color? BackgroundColor { get; init; }
|
|
|
|
#region Border
|
|
public Color? BorderColor { get; init; }
|
|
|
|
public string? BorderStyle { get; init; }
|
|
|
|
public int? BorderWidth { get; set; }
|
|
#endregion
|
|
|
|
[JsonIgnore]
|
|
internal Annotation Default
|
|
{
|
|
set
|
|
{
|
|
// To set null value, annotation must have null (0) value but null must has non-null value
|
|
if (MarginLeft == null && value.MarginLeft != null)
|
|
MarginLeft = value.MarginLeft * MarginLeftRatio;
|
|
|
|
if (MarginTop == null && value.MarginTop != null)
|
|
MarginTop = value.MarginTop * MarginTopRatio;
|
|
|
|
if (Width == null && value.Width != null)
|
|
Width = value.Width * WidthRatio;
|
|
|
|
if (Height == null && value.Height != null)
|
|
Height = value.Height * HeightRatio;
|
|
}
|
|
}
|
|
}; |