forked from sanchezvem/pyrofetes-backend
43 lines
1.0 KiB
C#
43 lines
1.0 KiB
C#
using System.ComponentModel.DataAnnotations;
|
|
|
|
namespace PyroFetes.Models;
|
|
|
|
// 1. Définition des types possibles pour la logique métier
|
|
public enum MovementType
|
|
{
|
|
Entry, // Entrée (ex: Achat fournisseur)
|
|
Exit, // Sortie (ex: Vente, Casse)
|
|
Transfer, // Transfert entre deux entrepôts
|
|
Inventory // Ajustement manuel
|
|
}
|
|
|
|
public class Movement
|
|
{
|
|
[Key]
|
|
public int Id { get; set; }
|
|
|
|
[Required]
|
|
public DateTime Date { get; set; } = DateTime.Now;
|
|
|
|
public DateTime Start { get; set; }
|
|
public DateTime Arrival { get; set; }
|
|
|
|
[Required]
|
|
public int Quantity { get; set; }
|
|
|
|
[Required]
|
|
public MovementType Type { get; set; }
|
|
|
|
[Required]
|
|
public int ProductId { get; set; }
|
|
public Product? Product { get; set; }
|
|
|
|
public int? SourceWarehouseId { get; set; }
|
|
public Warehouse? SourceWarehouse { get; set; }
|
|
|
|
public int? DestinationWarehouseId { get; set; }
|
|
public Warehouse? DestinationWarehouse { get; set; }
|
|
|
|
[MaxLength(500)]
|
|
public string? Comment { get; set; }
|
|
} |