shoc-backend/SeaHaven.Services/DTOs/UpliftDTOs.cs
2026-07-24 11:26:37 -03:00

66 lines
2.2 KiB
C#

namespace SeaHaven.Services.DTOs
{
public class UpliftListItemDTO
{
public int Id { get; set; }
public int DispatchId { get; set; }
public string? DispatchNumber { get; set; }
public string? PONumber { get; set; }
public int? WorkOrderId { get; set; }
public string? VendorCompanyName { get; set; }
public decimal? CurrentNTE { get; set; }
public decimal RequestedNTE { get; set; }
public decimal Delta { get; set; }
public string? VendorReason { get; set; }
public int RequiredTier { get; set; }
public string? Status { get; set; }
public DateTime? RequestedAt { get; set; }
public DateTime? DecidedAt { get; set; }
public string? DecisionNote { get; set; }
public bool CanDecide { get; set; }
}
public class UpliftListResultDTO
{
public int Total { get; set; }
public int Page { get; set; }
public int PageSize { get; set; }
public IEnumerable<UpliftListItemDTO> Items { get; set; } = Enumerable.Empty<UpliftListItemDTO>();
}
public class UpliftForDispatchDTO
{
public int Id { get; set; }
public int DispatchId { get; set; }
public decimal? CurrentNTE { get; set; }
public decimal RequestedNTE { get; set; }
public decimal Delta { get; set; }
public string? VendorReason { get; set; }
public string? Status { get; set; }
public int RequiredTier { get; set; }
public string? RequestedByVendorName { get; set; }
public DateTime? RequestedAt { get; set; }
public DateTime? DecidedAt { get; set; }
public string? DecisionNote { get; set; }
public string? DecidedByName { get; set; }
public bool CanDecide { get; set; }
}
public class UpliftApproveResultDTO
{
public int Id { get; set; }
public string? Status { get; set; }
public decimal? NTEAmount { get; set; }
}
public class UpliftDenyResultDTO
{
public int Id { get; set; }
public string? Status { get; set; }
}
public class UpliftForbiddenException : Exception
{
public UpliftForbiddenException(string message) : base(message) { }
}
}