forked from sanchezvem/PyroFetes
41 lines
1.8 KiB
C#
41 lines
1.8 KiB
C#
using API.DTO.Movement.Request;
|
|
using API.DTO.Movement.Response;
|
|
using FastEndpoints;
|
|
|
|
namespace PyroFetes.Endpoints.Movement;
|
|
|
|
public class CreateMovementEndpoint(PyroFetesDbContext pyrofetesdbcontext) : Endpoint<CreateMovementDto, GetMovementDto> //Instanciation d'une connexion à la bdd dans un endpoint, utilise l'élément de requête CreateMovementDto et l'élement de réponse GetMovementDto
|
|
{
|
|
public override void Configure() //Configuration de l'endpoint
|
|
{
|
|
Post("/api/movements"); //Créer un mouvement
|
|
AllowAnonymous(); //Autorise l'accès sans authentification
|
|
}
|
|
|
|
public override async Task HandleAsync(CreateMovementDto req, CancellationToken ct)
|
|
{
|
|
|
|
Models.Movement movement = new () //Création d'une date, d'une date de départ, d'arrivée et d'une quantité rentré par l'utilisateur
|
|
{
|
|
Date = req.Date,
|
|
Start = req.Start,
|
|
Arrival = req.Arrival,
|
|
Quantity = req.Quantity
|
|
};
|
|
|
|
pyrofetesdbcontext.Movements.Add(movement); //Ajoute movement à la bdd
|
|
await pyrofetesdbcontext.SaveChangesAsync(ct); //Sauvegarde les changements effectués dans la bdd
|
|
|
|
Console.WriteLine("Movement créée avec succès !"); //Affiche Movement créée avec succès ! si réussi
|
|
|
|
GetMovementDto responseDto = new () //Constuire l'objet de réponse pour retourner les informations à l'utilisateur
|
|
{
|
|
Date = req.Date, //Affiche date lors de la réponse
|
|
Start = req.Start, //Affiche start lors de la réponse
|
|
Arrival = req.Arrival, //Affiche arrival lors de la réponse
|
|
Quantity = req.Quantity //Affiche quantity lors de la réponse
|
|
};
|
|
|
|
await Send.OkAsync(responseDto, ct); //Envoie de la réponse réussite 200 au client
|
|
}
|
|
} |