This commit is contained in:
parent
f70f487777
commit
848f8be42f
19 changed files with 1235 additions and 14 deletions
52
src/Yavsc.Api.Client/Dtos/EstimateDtos.cs
Normal file
52
src/Yavsc.Api.Client/Dtos/EstimateDtos.cs
Normal file
|
|
@ -0,0 +1,52 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace Yavsc.Api.Client;
|
||||
|
||||
/// <summary>
|
||||
/// A single billable line of an estimate, mirroring the JSON shape of
|
||||
/// the server-side <c>Yavsc.Models.Billing.CommandLine</c> entity.
|
||||
/// </summary>
|
||||
public sealed class EstimateLineDto
|
||||
{
|
||||
public long Id { get; set; }
|
||||
public string Name { get; set; } = string.Empty;
|
||||
public string Description { get; set; } = string.Empty;
|
||||
public int Count { get; set; } = 1;
|
||||
public decimal UnitaryCost { get; set; }
|
||||
public long EstimateId { get; set; }
|
||||
public string Currency { get; set; } = "EUR";
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Estimate payload exchanged with the <c>api/v1/estimate</c> routes
|
||||
/// (<c>EstimateApiController</c>). <see cref="AttachedGraphics"/> and
|
||||
/// <see cref="AttachedFiles"/> are always initialised: the server-side
|
||||
/// entity reads them from non-nullable string properties and a null
|
||||
/// list would break its serialisation.
|
||||
/// </summary>
|
||||
public sealed class EstimateDto
|
||||
{
|
||||
public long Id { get; set; }
|
||||
public long? CommandId { get; set; }
|
||||
public string Title { get; set; } = string.Empty;
|
||||
public string Description { get; set; } = string.Empty;
|
||||
public List<EstimateLineDto> Bill { get; set; } = new();
|
||||
public List<string> AttachedGraphics { get; set; } = new();
|
||||
public List<string> AttachedFiles { get; set; } = new();
|
||||
public string? OwnerId { get; set; }
|
||||
public string ClientId { get; set; } = string.Empty;
|
||||
public string CommandType { get; set; } = string.Empty;
|
||||
public DateTime ProviderValidationDate { get; set; }
|
||||
public DateTime ClientValidationDate { get; set; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Response of a successful estimate creation
|
||||
/// (<c>Ok(new { estimate.Id, estimate.Bill })</c>).
|
||||
/// </summary>
|
||||
public sealed class EstimateCreatedDto
|
||||
{
|
||||
public long Id { get; set; }
|
||||
public List<EstimateLineDto> Bill { get; set; } = new();
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue