mirror of
https://github.com/BarkProductions/barkman.git
synced 2026-08-11 11:42:03 +00:00
created customer endpoints
This commit is contained in:
@@ -47,6 +47,10 @@ var itemStatusGroup = app.MapGroup(prefix: "/itemstatus")
|
|||||||
.WithTags("Item Status")
|
.WithTags("Item Status")
|
||||||
.WithDescription("Endpoints for managing item status");
|
.WithDescription("Endpoints for managing item status");
|
||||||
|
|
||||||
|
var customerGroup = app.MapGroup(prefix: "/customers")
|
||||||
|
.WithTags("Customers")
|
||||||
|
.WithDescription("Endpoints for managing customers");
|
||||||
|
|
||||||
inventoryGroup.MapGet("", async (BarkContext db) =>
|
inventoryGroup.MapGet("", async (BarkContext db) =>
|
||||||
await db.Inventory.OrderBy(item => item.Barcode).ToListAsync());
|
await db.Inventory.OrderBy(item => item.Barcode).ToListAsync());
|
||||||
|
|
||||||
@@ -163,6 +167,71 @@ itemStatusGroup.MapDelete("/{id}", async (string id, BarkContext db) =>
|
|||||||
return Results.Ok(new { Message = "Item status deleted successfully" });
|
return Results.Ok(new { Message = "Item status deleted successfully" });
|
||||||
});
|
});
|
||||||
|
|
||||||
|
customerGroup.MapGet("", async (BarkContext db) =>
|
||||||
|
await db.Customers.OrderBy(customer => customer.Id).ToListAsync());
|
||||||
|
|
||||||
|
customerGroup.MapGet("/{id}", async (int id, BarkContext db) =>
|
||||||
|
{
|
||||||
|
var customer = await db.Customers
|
||||||
|
.FirstOrDefaultAsync(i => i.Id == id);
|
||||||
|
|
||||||
|
if (customer == null)
|
||||||
|
{
|
||||||
|
return Results.NotFound(new { Message = "Customer item not found" });
|
||||||
|
}
|
||||||
|
|
||||||
|
return Results.Ok(customer);
|
||||||
|
});
|
||||||
|
|
||||||
|
customerGroup.MapPut("/{id}", async (int id, Customers updatedCustomer, BarkContext db) =>
|
||||||
|
{
|
||||||
|
var existingCustomer = await db.Customers.FindAsync(id);
|
||||||
|
if (existingCustomer == null)
|
||||||
|
{
|
||||||
|
return Results.NotFound(new { Message = "Customer not found" });
|
||||||
|
}
|
||||||
|
|
||||||
|
existingCustomer.Name = updatedCustomer.Name;
|
||||||
|
existingCustomer.Company = updatedCustomer.Company;
|
||||||
|
existingCustomer.Email = updatedCustomer.Email;
|
||||||
|
existingCustomer.PhoneNumber = updatedCustomer.PhoneNumber;
|
||||||
|
existingCustomer.Address = updatedCustomer.Address;
|
||||||
|
existingCustomer.BillingTerms = updatedCustomer.BillingTerms;
|
||||||
|
existingCustomer.Notes = updatedCustomer.Notes;
|
||||||
|
|
||||||
|
await db.SaveChangesAsync();
|
||||||
|
return Results.Ok(existingCustomer);
|
||||||
|
});
|
||||||
|
|
||||||
|
customerGroup.MapPost("", async (Customers newCustomerInput, BarkContext db) =>
|
||||||
|
{
|
||||||
|
var newCustomer = new Customers()
|
||||||
|
{
|
||||||
|
Name = newCustomerInput.Name,
|
||||||
|
Email = newCustomerInput.Email,
|
||||||
|
};
|
||||||
|
newCustomer.Company = newCustomerInput.Company;
|
||||||
|
newCustomer.PhoneNumber = newCustomerInput.PhoneNumber;
|
||||||
|
newCustomer.Address = newCustomerInput.Address;
|
||||||
|
|
||||||
|
db.Customers.Add(newCustomer);
|
||||||
|
await db.SaveChangesAsync();
|
||||||
|
return Results.Created($"/customers/{newCustomer.Id}", newCustomer);
|
||||||
|
});
|
||||||
|
|
||||||
|
customerGroup.MapDelete("/{id}", async (int id, BarkContext db) =>
|
||||||
|
{
|
||||||
|
var customer = await db.Customers.FindAsync(id);
|
||||||
|
if (customer == null)
|
||||||
|
{
|
||||||
|
return Results.NotFound(new { Message = "Customer not found" });
|
||||||
|
}
|
||||||
|
|
||||||
|
db.Customers.Remove(customer);
|
||||||
|
await db.SaveChangesAsync();
|
||||||
|
return Results.Ok(new { Message = "Customer deleted successfully" });
|
||||||
|
});
|
||||||
|
|
||||||
using (var serviceScope = app.Services.CreateScope())
|
using (var serviceScope = app.Services.CreateScope())
|
||||||
{
|
{
|
||||||
var dbContext = serviceScope.ServiceProvider.GetRequiredService<BarkContext>();
|
var dbContext = serviceScope.ServiceProvider.GetRequiredService<BarkContext>();
|
||||||
|
|||||||
Reference in New Issue
Block a user