using System.ComponentModel.DataAnnotations;

namespace ERPCore.Dtos.Warehouses;

/// <summary>Warehouse resource (docs/11-BACKEND-PHASE1.md §2.5).</summary>
public sealed record WarehouseDto(int WarehouseId, string Code, string Name);

/// <summary>Bin/location resource (docs/11 §2.5).</summary>
public sealed record BinDto(int BinId, int WarehouseId, string Code, string? BinType);

public sealed class CreateWarehouseRequest
{
    [Required, StringLength(50)] public string Code { get; set; } = string.Empty;
    [Required, StringLength(200)] public string Name { get; set; } = string.Empty;
}

public sealed class CreateBinRequest
{
    [Required, StringLength(50)] public string Code { get; set; } = string.Empty;
    [StringLength(50)] public string? BinType { get; set; }
}
