using Volo.Abp;
namespace FoodLabeling.Application.Helpers;
///
/// 标签模板 PrintOrientation 归一化与校验(库值 / API:vertical、horizontal)。
///
public static class LabelTemplatePrintOrientationHelper
{
/// 竖打
public const string Vertical = "vertical";
/// 横打
public const string Horizontal = "horizontal";
///
/// 空或未识别时默认 ;横打时不交换 Width/Height。
///
public static string Normalize(string? raw)
{
var v = (raw ?? string.Empty).Trim().ToLowerInvariant();
return v == Horizontal ? Horizontal : Vertical;
}
///
/// 非空且非 vertical/horizontal 时抛出友好异常。
///
public static void EnsureValidOrThrow(string? raw)
{
if (string.IsNullOrWhiteSpace(raw))
{
return;
}
var v = raw.Trim().ToLowerInvariant();
if (v is Vertical or Horizontal)
{
return;
}
throw new UserFriendlyException("printOrientation 仅支持 vertical 或 horizontal");
}
}