forked from sanchezvem/PyroFetes
40 lines
1.3 KiB
C#
40 lines
1.3 KiB
C#
using API.DTO.Movement.Request;
|
|
using API.DTO.Movement.Response;
|
|
using FastEndpoints;
|
|
|
|
namespace PyroFetes.Endpoints.Movement;
|
|
|
|
public class UpdateMovementEndpoint(PyroFetesDbContext pyrofetesdbcontext) : Endpoint<UpdateMovementDto, GetMovementDto>
|
|
{
|
|
public override void Configure() //Configuration de l'endpoint
|
|
{
|
|
Put("/api/movements"); //Création d'un endpoint qui modifie le mouvement grâce à son id
|
|
AllowAnonymous(); //Ignorer les requêtes non authentifiées
|
|
}
|
|
|
|
public override async Task HandleAsync(UpdateMovementDto req, CancellationToken ct)
|
|
{
|
|
|
|
Models.Movement movement = new()
|
|
{
|
|
Date = req.Date,
|
|
Start = req.Start,
|
|
Arrival = req.Arrival,
|
|
Quantity = req.Quantity
|
|
};
|
|
pyrofetesdbcontext.Add(movement); //Modification du mouvement
|
|
await pyrofetesdbcontext.SaveChangesAsync(ct); //Sauvegarde les changements effectués dans la bdd
|
|
|
|
GetMovementDto response = new() //Constuire l'objet de réponse pour retourner les informations du mouvement
|
|
{
|
|
Id = req.Id,
|
|
Date = req.Date,
|
|
Start = req.Start,
|
|
Arrival = req.Arrival,
|
|
Quantity = req.Quantity
|
|
};
|
|
|
|
await Send.OkAsync(response, ct); //Envoie de la réponse réussite 200 au client
|
|
|
|
}
|
|
} |