LabelTemplateElementDto.cs 1.7 KB
using System.Text.Json.Serialization;

namespace FoodLabeling.Application.Contracts.Dtos.LabelTemplate;

/// <summary>
/// Label template element (id, type, typeAdd, elementName, geometry, border, config, etc.).
/// </summary>
public class LabelTemplateElementDto
{
    [JsonPropertyName("id")]
    public string Id { get; set; } = string.Empty;

    [JsonPropertyName("type")]
    public string ElementType { get; set; } = string.Empty;

    [JsonPropertyName("typeAdd")]
    public string? TypeAdd { get; set; }

    [JsonPropertyName("elementName")]
    public string ElementName { get; set; } = string.Empty;

    [JsonPropertyName("x")]
    public decimal PosX { get; set; }

    [JsonPropertyName("y")]
    public decimal PosY { get; set; }

    [JsonPropertyName("width")]
    public decimal Width { get; set; }

    [JsonPropertyName("height")]
    public decimal Height { get; set; }

    [JsonPropertyName("rotation")]
    public string Rotation { get; set; } = "horizontal";

    [JsonPropertyName("border")]
    public string BorderType { get; set; } = "none";

    [JsonPropertyName("zIndex")]
    public int ZIndex { get; set; }

    [JsonPropertyName("orderNum")]
    public int OrderNum { get; set; }

    [JsonPropertyName("valueSourceType")]
    public string ValueSourceType { get; set; } = "FIXED";

    [JsonPropertyName("bindingExpr")]
    public string? BindingExpr { get; set; }

    [JsonPropertyName("autoQueryKey")]
    public string? AutoQueryKey { get; set; }

    [JsonPropertyName("inputKey")]
    public string? InputKey { get; set; }

    [JsonPropertyName("isRequiredInput")]
    public bool IsRequiredInput { get; set; }

    [JsonPropertyName("config")]
    public object? ConfigJson { get; set; }
}