Files
PyroFetes-Sujet1/PyroFetes/Endpoints/Material/GetAllMaterialsEndpoint.cs
2025-11-05 22:38:55 +01:00

28 lines
1.3 KiB
C#

using API.DTO.Material.Response;
using FastEndpoints;
using Microsoft.EntityFrameworkCore;
namespace PyroFetes.Endpoints.Material;
public class GetAllMaterialsEndpoint(PyroFetesDbContext pyrofetesdbcontext) : EndpointWithoutRequest<List<GetMaterialDto>>
{
public override void Configure() //Configuration de l'endpoint
{
Get("Api/materials"); //Création d'un endpoint pour récupérer tous les matériaux grâce à la liste
AllowAnonymous(); //Ignorer les requêtes non authentifiées
}
public override async Task HandleAsync(CancellationToken ct)
{
List<GetMaterialDto> responseDto = await pyrofetesdbcontext.Materials //Création d'une liste qui récupère tous les matériaux de la bdd
.Select(a => new GetMaterialDto //Sélectionne dans la liste chaque matériel
{
Id = a.Id, //Récupère l'id
Label = a.Name, //Récupère le label
Quantity = a.Quantity, //Récupère la quantité
WarehouseId = a.WarehouseId, //Récupère l'id de l'entrepot
}
).ToListAsync(ct); //Retourne la liste du matériel
await Send.OkAsync(responseDto, ct); //Envoie de la réponse réussite 200 au client
}
}