using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace CostingDAL.DTO.Biztransactionkeys
{
///
/// Projection DTO for reading BizTransactionType fields needed by VNO generation.
/// GB4 parity: maps to MBIZTRANSACTIONTYPE columns used in VnoGenerationDLL.
///
public class BizTransactionTypeVnoDTO
{
///
/// 0 = Auto (generate number), 1 = Manual (user supplies number — throw on auto-generation).
/// GB4: NOGenerationType
///
public int NOGenerationType { get; set; }
///
/// 0 = Yearly, 1 = Monthly, 2 = Daily, 3 = Continuously.
/// Controls which MBIZTRANSACTIONKEYS row is found/created.
/// GB4: NOGenerationPeriodType
///
public int NOGenerationPeriodType { get; set; }
///
/// Total character length of the formatted VNO including all parts.
/// GB4: NumberSize
///
public int NumberSize { get; set; }
///
/// Static prefix string prepended after SystemPrefix.
/// GB4: Prefix
///
public string? Prefix { get; set; }
///
/// Static suffix string appended before SystemSuffix.
/// GB4: Suffix
///
public string? Suffix { get; set; }
///
/// DateTime format string for the dynamic prefix (e.g. "yy/MM").
/// Applied via vdate.ToString(SystemPrefix, en-US).
/// GB4: SystemPrefix
///
public string? SystemPrefix { get; set; }
///
/// DateTime format string for the dynamic suffix.
/// GB4: SystemSuffix
///
public string? SystemSuffix { get; set; }
}
///
/// Projection DTO for reading MBIZTRANSACTIONKEYS rows.
/// GB4 parity: maps to MBIZTRANSACTIONKEYS columns used in VnoGenerationDLL.
///
public class BIZTransactionKeysDTO
{
///
/// Primary key of the keys row.
/// GB4: BIZTransactionKeysId (mapped as Id on the POCO)
///
public int BIZTransactionKeysId { get; set; }
///
/// The last used sequence number for this BizTransactionType + period slot.
/// GB4: BIZTransactionKeysLastNo (mapped as LastNo on the POCO)
///
public int LastNo { get; set; }
}
}