using Microsoft.AspNetCore.Mvc;
namespace EnvelopeGenerator.Application.Dto;
///
/// Data Transfer Object representing a positioned element assigned to a document receiver.
///
[ApiExplorerSettings(IgnoreApi = true)]
public class DocumentReceiverElementDto
{
///
/// Gets or sets the unique identifier of the element.
///
public int Id { get; set; }
///
/// Gets or sets the identifier of the associated document.
///
public int DocumentId { get; set; }
///
/// Gets or sets the identifier of the receiver.
///
public int ReceiverId { get; set; }
///
/// Gets or sets the type of the element.
///
public int ElementType { get; set; }
///
/// Gets or sets the X coordinate of the element.
///
public double X { get; set; }
///
/// Gets or sets the Y coordinate of the element.
///
public double Y { get; set; }
///
/// Gets or sets the width of the element.
///
public double Width { get; set; }
///
/// Gets or sets the height of the element.
///
public double Height { get; set; }
///
/// Gets or sets the page number where the element appears.
///
public int Page { get; set; }
///
/// Gets or sets a value indicating whether the element is required.
///
public bool Required { get; set; }
///
/// Gets or sets the tooltip text for the element.
///
public string? Tooltip { get; set; }
///
/// Gets or sets a value indicating whether the element is read-only.
///
public bool ReadOnly { get; set; }
///
/// Gets or sets the annotation index for ordering or reference.
///
public int AnnotationIndex { get; set; }
///
/// Gets or sets the timestamp when the element was added.
///
public DateTime AddedWhen { get; set; }
///
/// Gets or sets the timestamp when the element was last changed, if applicable.
///
public DateTime? ChangedWhen { get; set; }
///
/// Gets or sets the top position of the element (in layout terms).
///
public double Top { get; set; }
///
/// Gets or sets the left position of the element (in layout terms).
///
public double Left { get; set; }
}