diff --git a/PyroFetes/DTO/Provider/Request/CreateProviderDto.cs b/PyroFetes/DTO/Provider/Request/CreateProviderDto.cs index ea0df6a..7919e85 100644 --- a/PyroFetes/DTO/Provider/Request/CreateProviderDto.cs +++ b/PyroFetes/DTO/Provider/Request/CreateProviderDto.cs @@ -3,4 +3,5 @@ namespace PyroFetes.DTO.Provider.Request; public class CreateProviderDto { public decimal Price { get; set; } + public int ProviderTypeId { get; set; } } \ No newline at end of file diff --git a/PyroFetes/DTO/Provider/Response/GetProviderDto.cs b/PyroFetes/DTO/Provider/Response/GetProviderDto.cs index 99eeab0..1df8137 100644 --- a/PyroFetes/DTO/Provider/Response/GetProviderDto.cs +++ b/PyroFetes/DTO/Provider/Response/GetProviderDto.cs @@ -4,4 +4,6 @@ public class GetProviderDto { public int Id { get; set; } public decimal Price { get; set; } + + public int ProviderTypeId { get; set; } } \ No newline at end of file diff --git a/PyroFetes/DTO/Staff/Request/CreateStaffDto.cs b/PyroFetes/DTO/Staff/Request/CreateStaffDto.cs index 63e33ad..4f82c36 100644 --- a/PyroFetes/DTO/Staff/Request/CreateStaffDto.cs +++ b/PyroFetes/DTO/Staff/Request/CreateStaffDto.cs @@ -2,6 +2,10 @@ namespace PyroFetes.DTO.Staff.Request; public class CreateStaffDto { + public string? FirstName { get; set; } + public string? LastName { get; set; } + public string? Profession { get; set; } + public string? Email { get; set; } public string? F4T2NumberApproval { get; set; } public DateOnly F4T2ExpirationDate { get; set; } } \ No newline at end of file diff --git a/PyroFetes/DTO/Staff/Response/GetStaffDto.cs b/PyroFetes/DTO/Staff/Response/GetStaffDto.cs index ae10f74..fbf1108 100644 --- a/PyroFetes/DTO/Staff/Response/GetStaffDto.cs +++ b/PyroFetes/DTO/Staff/Response/GetStaffDto.cs @@ -3,6 +3,10 @@ namespace PyroFetes.DTO.Staff.Response; public class GetStaffDto { public int Id { get; set; } + public string? FirstName { get; set; } + public string? LastName { get; set; } + public string? Profession { get; set; } + public string? Email { get; set; } public string? F4T2NumberApproval { get; set; } public DateOnly F4T2ExpirationDate { get; set; } } \ No newline at end of file diff --git a/PyroFetes/Endpoints/Provider/CreateProviderEndpoint.cs b/PyroFetes/Endpoints/Provider/CreateProviderEndpoint.cs index 316fede..f60029b 100644 --- a/PyroFetes/Endpoints/Provider/CreateProviderEndpoint.cs +++ b/PyroFetes/Endpoints/Provider/CreateProviderEndpoint.cs @@ -1,4 +1,5 @@ using FastEndpoints; +using Microsoft.EntityFrameworkCore; using PyroFetes.DTO.Provider.Request; using PyroFetes.DTO.Provider.Response; @@ -8,16 +9,26 @@ public class CreateProviderEndpoint(PyroFetesDbContext pyroFetesDbContext) : End { public override void Configure() { - Post("/providers"); + Post("/serviceproviders"); AllowAnonymous(); } public override async Task HandleAsync(CreateProviderDto req, CancellationToken ct) { - var provider = new Models.ServiceProvider() + Models.ProviderType? databaseProviderType = await pyroFetesDbContext.ProviderTypes.SingleOrDefaultAsync(x => x.Id == req.ProviderTypeId, cancellationToken: ct); + + if (databaseProviderType == null) { - Price = req.Price + await Send.NotFoundAsync(ct); + Console.WriteLine("Customer Type not found"); + return; + } + + Models.ServiceProvider provider = new() + { + Price = req.Price, + ProviderTypeId = req.ProviderTypeId }; pyroFetesDbContext.Add(provider); await pyroFetesDbContext.SaveChangesAsync(ct); @@ -25,7 +36,8 @@ public class CreateProviderEndpoint(PyroFetesDbContext pyroFetesDbContext) : End GetProviderDto response = new GetProviderDto() { Id = provider.Id, - Price = provider.Price + Price = provider.Price, + ProviderTypeId = provider.ProviderTypeId }; await Send.OkAsync(response, ct); diff --git a/PyroFetes/Endpoints/Provider/DeleteProviderEndpoint.cs b/PyroFetes/Endpoints/Provider/DeleteProviderEndpoint.cs index d5648d4..521ff74 100644 --- a/PyroFetes/Endpoints/Provider/DeleteProviderEndpoint.cs +++ b/PyroFetes/Endpoints/Provider/DeleteProviderEndpoint.cs @@ -9,20 +9,20 @@ public class DeleteProviderEndpoint(PyroFetesDbContext pyroFetesDbContext) : End { public override void Configure() { - Delete ("/providers/{@Id}", x => new { x.Id }); + Delete ("/serviceproviders/{@Id}", x => new { x.Id }); AllowAnonymous(); } public override async Task HandleAsync(GetProviderRequest req, CancellationToken ct) { - Models.ServiceProvider? databaseProvider = await pyroFetesDbContext.Providers.SingleOrDefaultAsync(x => x.Id == req.Id, cancellationToken: ct); + Models.ServiceProvider? databaseProvider = await pyroFetesDbContext.ServiceProviders.SingleOrDefaultAsync(x => x.Id == req.Id, cancellationToken: ct); if (databaseProvider == null) { await Send.NotFoundAsync(ct); return; } - pyroFetesDbContext.Providers.Remove(databaseProvider); + pyroFetesDbContext.ServiceProviders.Remove(databaseProvider); await pyroFetesDbContext.SaveChangesAsync(ct); await Send.NoContentAsync(ct); diff --git a/PyroFetes/Endpoints/Provider/GetAllProvidersEndpoint.cs b/PyroFetes/Endpoints/Provider/GetAllProvidersEndpoint.cs index 21275c1..fcafa10 100644 --- a/PyroFetes/Endpoints/Provider/GetAllProvidersEndpoint.cs +++ b/PyroFetes/Endpoints/Provider/GetAllProvidersEndpoint.cs @@ -8,18 +8,19 @@ public class GetAllProvidersEndpoint(PyroFetesDbContext pyroFetesDbContext) : En { public override void Configure() { - Get ("/providers"); + Get ("/serviceproviders"); AllowAnonymous(); } public override async Task HandleAsync(CancellationToken ct) { - List customer= await pyroFetesDbContext.Providers.Select(x => new GetProviderDto() + List provider= await pyroFetesDbContext.ServiceProviders.Select(x => new GetProviderDto() { Id = x.Id, Price = x.Price, + ProviderTypeId = x.ProviderTypeId, }).ToListAsync(ct); - await Send.OkAsync(customer, ct); + await Send.OkAsync(provider, ct); } } \ No newline at end of file diff --git a/PyroFetes/Endpoints/Provider/GetProviderEndpoint.cs b/PyroFetes/Endpoints/Provider/GetProviderEndpoint.cs index ae46248..df07a06 100644 --- a/PyroFetes/Endpoints/Provider/GetProviderEndpoint.cs +++ b/PyroFetes/Endpoints/Provider/GetProviderEndpoint.cs @@ -9,13 +9,13 @@ public class GetProviderEndpoint(PyroFetesDbContext pyroFetesDbContext) : Endpoi { public override void Configure() { - Get ("/providers/{@Id}", x => new { x.Id }); + Get ("/serviceproviders/{@Id}", x => new { x.Id }); AllowAnonymous(); } public override async Task HandleAsync(GetProviderRequest req, CancellationToken ct) { - Models.ServiceProvider? databaseProvider = await pyroFetesDbContext.Providers.SingleOrDefaultAsync(x => x.Id == req.Id, cancellationToken: ct); + Models.ServiceProvider? databaseProvider = await pyroFetesDbContext.ServiceProviders.SingleOrDefaultAsync(x => x.Id == req.Id, cancellationToken: ct); if (databaseProvider == null) { diff --git a/PyroFetes/Endpoints/Provider/UpdateProviderEndpoint.cs b/PyroFetes/Endpoints/Provider/UpdateProviderEndpoint.cs index f7de9fc..8b567fb 100644 --- a/PyroFetes/Endpoints/Provider/UpdateProviderEndpoint.cs +++ b/PyroFetes/Endpoints/Provider/UpdateProviderEndpoint.cs @@ -9,13 +9,13 @@ public class UpdateProviderEndpoint(PyroFetesDbContext pyroFetesDbContext) : End { public override void Configure() { - Put ("/providers/{@Id}", x => new { x.Id }); + Put ("/serviceproviders/{@Id}", x => new { x.Id }); AllowAnonymous(); } public override async Task HandleAsync(UpdateProviderDto req, CancellationToken ct) { - Models.ServiceProvider? databaseProvider = await pyroFetesDbContext.Providers.SingleOrDefaultAsync(x => x.Id == req.Id, cancellationToken: ct); + Models.ServiceProvider? databaseProvider = await pyroFetesDbContext.ServiceProviders.SingleOrDefaultAsync(x => x.Id == req.Id, cancellationToken: ct); if (databaseProvider == null) { diff --git a/PyroFetes/Endpoints/ProviderType/GetAllProviderTypesEndpoint.cs b/PyroFetes/Endpoints/ProviderType/GetAllProviderTypesEndpoint.cs index 9eef2e3..610ccce 100644 --- a/PyroFetes/Endpoints/ProviderType/GetAllProviderTypesEndpoint.cs +++ b/PyroFetes/Endpoints/ProviderType/GetAllProviderTypesEndpoint.cs @@ -8,7 +8,7 @@ public class GetAllProviderTypesEndpoint(PyroFetesDbContext pyroFetesDbContext) { public override void Configure() { - Get ("/providertype"); + Get ("/providertypes"); AllowAnonymous(); } diff --git a/PyroFetes/Endpoints/Staff/CreateStaffEndpoint.cs b/PyroFetes/Endpoints/Staff/CreateStaffEndpoint.cs index b3b3e45..a975d2c 100644 --- a/PyroFetes/Endpoints/Staff/CreateStaffEndpoint.cs +++ b/PyroFetes/Endpoints/Staff/CreateStaffEndpoint.cs @@ -17,6 +17,10 @@ public class CreateStaffEndpoint(PyroFetesDbContext pyroFetesDbContext) : Endpoi { Models.Staff staff = new() { + FirstName = req.FirstName, + LastName = req.LastName, + Profession = req.Profession, + Email = req.Email, F4T2NumberApproval = req.F4T2NumberApproval, F4T2ExpirationDate = req.F4T2ExpirationDate, }; @@ -25,6 +29,10 @@ public class CreateStaffEndpoint(PyroFetesDbContext pyroFetesDbContext) : Endpoi GetStaffDto response = new() { + FirstName = staff.FirstName, + LastName = staff.LastName, + Profession = staff.Profession, + Email = staff.Email, F4T2NumberApproval = staff.F4T2NumberApproval, F4T2ExpirationDate = staff.F4T2ExpirationDate, }; diff --git a/PyroFetes/Endpoints/Staff/GetAllStaffsEndpoint.cs b/PyroFetes/Endpoints/Staff/GetAllStaffsEndpoint.cs index 67c0a36..166792f 100644 --- a/PyroFetes/Endpoints/Staff/GetAllStaffsEndpoint.cs +++ b/PyroFetes/Endpoints/Staff/GetAllStaffsEndpoint.cs @@ -17,6 +17,10 @@ public class GetAllStaffsEndpoint(PyroFetesDbContext pyroFetesDbContext) : Endpo List staff = await pyroFetesDbContext.Staffs.Select(x => new GetStaffDto() { Id = x.Id, + FirstName = x.FirstName, + LastName = x.LastName, + Profession = x.Profession, + Email = x.Email, F4T2NumberApproval = x.F4T2NumberApproval, F4T2ExpirationDate = x.F4T2ExpirationDate, diff --git a/PyroFetes/Endpoints/Staff/GetStaffEndpoint.cs b/PyroFetes/Endpoints/Staff/GetStaffEndpoint.cs index 1f57b83..24d299b 100644 --- a/PyroFetes/Endpoints/Staff/GetStaffEndpoint.cs +++ b/PyroFetes/Endpoints/Staff/GetStaffEndpoint.cs @@ -26,6 +26,10 @@ public class GetStaffEndpoint(PyroFetesDbContext pyroFetesDbContext) : Endpoint GetStaffDto dto = new() { Id = databaseStaff.Id, + FirstName = databaseStaff.FirstName, + LastName = databaseStaff.LastName, + Profession = databaseStaff.Profession, + Email = databaseStaff.Email, F4T2NumberApproval = databaseStaff.F4T2NumberApproval, F4T2ExpirationDate = databaseStaff.F4T2ExpirationDate, }; diff --git a/PyroFetes/Endpoints/Staff/UpdateStaffRequest.cs b/PyroFetes/Endpoints/Staff/UpdateStaffRequest.cs index 1e6701d..a794fb6 100644 --- a/PyroFetes/Endpoints/Staff/UpdateStaffRequest.cs +++ b/PyroFetes/Endpoints/Staff/UpdateStaffRequest.cs @@ -32,6 +32,10 @@ public class UpdateStaffRequest(PyroFetesDbContext pyroFetesDbContext) : Endpoin GetStaffDto dto = new() { Id = databaseStaff.Id, + FirstName = databaseStaff.FirstName, + LastName = databaseStaff.LastName, + Profession = databaseStaff.Profession, + Email = databaseStaff.Email, F4T2NumberApproval = req.F4T2NumberApproval, F4T2ExpirationDate = req.F4T2ExpirationDate, }; diff --git a/PyroFetes/PyroFetesDbContext.cs b/PyroFetes/PyroFetesDbContext.cs index b5ce8c7..02fcaac 100644 --- a/PyroFetes/PyroFetesDbContext.cs +++ b/PyroFetes/PyroFetesDbContext.cs @@ -28,7 +28,7 @@ public class PyroFetesDbContext : DbContext public DbSet ProductColors { get; set; } public DbSet ProductDeliveries { get; set; } public DbSet ProductEffects { get; set; } - public DbSet Providers { get; set; } + public DbSet ServiceProviders { get; set; } public DbSet ProviderContacts { get; set; } public DbSet ProviderTypes { get; set; } public DbSet PurchaseOrders { get; set; }