Files
Projet4/PyroFetes/Endpoints/Availability/CreateAvailabilityEndpoint.cs
carteronm 4e64112a31 First Commit 09/10
# Conflicts:
#	PyroFetes/PyroFetes.csproj
2025-10-16 17:34:55 +02:00

38 lines
1.2 KiB
C#

using FastEndpoints;
using PyroFetes.DTO.Availability.Request;
using PyroFetes.DTO.Availability.Response;
namespace PyroFetes.Endpoints.Availability;
public class CreateAvailabilityEndpoint(PyroFetesDbContext pyroFetesDbContext) : Endpoint<CreateAvailabilityDto, GetAvailabilityDto>
{
public override void Configure()
{
Post("/api/availabilities");
AllowAnonymous();
}
public override async Task HandleAsync(CreateAvailabilityDto req, CancellationToken ct)
{
Models.Availability availability = new()
{
AvailabilityDate = req.AvailabilityDate,
DeliveryDate = req.DeliveryDate,
ExpirationDate = req.ExpirationDate,
RenewallDate = req.RenewalDate,
};
pyroFetesDbContext.Add(availability);
await pyroFetesDbContext.SaveChangesAsync(ct);
GetAvailabilityDto response = new()
{
AvailabilityDate = availability.AvailabilityDate,
DeliveryDate = availability.DeliveryDate,
ExpirationDate = availability.ExpirationDate,
RenewalDate = availability.RenewallDate
};
await Send.OkAsync(response, ct);
}
}