using System.ComponentModel.DataAnnotations;
using Connected.Annotations;
using Connected.Data;
using Connected.Entities.Annotations;
using Connected.Entities.Consistency;
namespace Logistics.Types.WarehouseLocations;
///
internal sealed record WarehouseLocation : ConsistentEntity, IWarehouseLocation
{
public const string EntityKey = $"{Domain.Code}.{nameof(WarehouseLocation)}";
///
[Ordinal(0)]
public int? Parent { get; init; }
///
[Ordinal(1)]
public int Warehouse { get; init; }
///
[Ordinal(2), MaxLength(128)]
public string Name { get; init; } = default!;
///
[Ordinal(3), MaxLength(32), Index(Unique = true)]
public string Code { get; init; } = default!;
///
[Ordinal(4)]
public Status Status { get; init; }
///
[Ordinal(5)]
public int ItemCount { get; init; }
}