Files
ERP_Distribution/Distribution/Features/Stock/StockDTOs.cs
T
2026-08-20 09:42:33 +05:30

68 lines
1.5 KiB
C#

using Distribution.Models;
namespace Distribution.Features.Stock;
// Shared pagination wrapper
public record PagedResponse<T>(int Page, int PageSize, int Total, List<T> Items);
// Balance
public record StockBalanceResponse(
Guid ItemId,
string ItemName,
Guid LocationId,
LocationType LocationType,
decimal Quantity,
DateTime UpdatedAt);
public record StockTotalResponse(
Guid ItemId,
string ItemName,
decimal TotalQuantity,
List<StockBalanceResponse> Breakdown);
// Movement
public record StockMovementResponse(
Guid Id,
Guid ItemId,
string ItemName,
Guid? FromLocationId,
LocationType? FromLocationType,
Guid? ToLocationId,
LocationType? ToLocationType,
decimal Quantity,
MovementType Type,
string? ReasonCode,
Guid? ReferenceId,
DateTime CreatedAt,
Guid CreatedBy);
// Write requests
public record TransferRequest(
Guid ItemId,
Guid FromLocationId,
LocationType FromLocationType,
Guid ToLocationId,
LocationType ToLocationType,
decimal Quantity,
Guid? ReferenceId);
public record DamageRequest(
Guid ItemId,
Guid LocationId,
LocationType LocationType,
decimal Quantity,
string ReasonCode);
public record CustomerReturnRequest(
Guid ItemId,
Guid VehicleId,
decimal Quantity,
Guid? ReferenceId);
public record AdjustmentRequest(
Guid ItemId,
Guid LocationId,
LocationType LocationType,
decimal Quantity,
string ReasonCode);