using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using System.Text.Json.Serialization;
using eSuite.Core.Miscellaneous;

namespace eSuite.API.Models;

/// <summary>
/// Details needed in order to issue one or more sequence numbers.
/// </summary>
public class SequenceIssueRequest
{
    /// <summary>
    /// Please supply the ID and/or the GUID (either or both is ok)
    /// </summary>
    [JsonPropertyName("generalIdRef")]
    [Required]
    public GeneralIdRef GeneralIdRef { get; set; } = new GeneralIdRef();

    /// <summary>
    /// number of sequence numbers to issue on this call.  null will be assumed to be 1.
    /// </summary>
    [JsonPropertyName("count")]
    [DefaultValue(1)]
    public int Count { get; set; } = 1;
}