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; } }