Files
PyroFetes-Sujet1/PyroFetes/Endpoints/Warehouse/CreateWarehouseEndpoint.cs

47 lines
1.4 KiB
C#

using API.DTO.Warehouse.Request;
using API.DTO.Warehouse.Response;
using FastEndpoints;
namespace PyroFetes.Endpoints.Warehouse;
public class CreateWarehouseEndpoint(PyroFetesDbContext pyrofetesdbcontext) : Endpoint<CreateWarehouseDto, GetWarehouseDto>
{
public override void Configure()
{
Post("/api/warehouse");
AllowAnonymous();
}
public override async Task HandleAsync(CreateWarehouseDto req, CancellationToken ct)
{
Models.Warehouse warehouse = new()
{
Name = req.Name,
MaxWeight = req.MaxWeight,
Current = req.Current,
MinWeight = req.MinWeight,
Address = req.Adress,
ZipCode = req.ZipCode,
City = req.City
};
pyrofetesdbcontext.Warehouses.Add(warehouse);
await pyrofetesdbcontext.SaveChangesAsync(ct);
Console.WriteLine("Entrepôt créé avec succès !");
GetWarehouseDto responseDto = new()
{
Id = warehouse.Id,
Name = warehouse.Name,
MaxWeight = warehouse.MaxWeight,
Current = warehouse.Current,
MinWeight = warehouse.MinWeight,
Adress = warehouse.Address,
ZipCode = warehouse.ZipCode,
City = warehouse.City
};
await Send.OkAsync(responseDto, ct);
}
}