using Microsoft.EntityFrameworkCore; namespace Packt.Shared; public class NorthwindService : INorthwindService { private readonly NorthwindContext db; public NorthwindService(NorthwindContext db) { this.db = db; } public Task> GetCustomersAsync() { return db.Customers.ToListAsync(); } public Task> GetCustomersAsync(string country) { return db.Customers.Where(c => c.Country == country).ToListAsync(); } public Task GetCustomerAsync(string id) { return db.Customers.FirstOrDefaultAsync (c => c.CustomerId == id); } public Task CreateCustomerAsync(Customer c) { db.Customers.Add(c); db.SaveChangesAsync(); return Task.FromResult(c); } public Task UpdateCustomerAsync(Customer c) { db.Entry(c).State = EntityState.Modified; db.SaveChangesAsync(); return Task.FromResult(c); } public Task DeleteCustomerAsync(string id) { Customer? customer = db.Customers.FirstOrDefaultAsync (c => c.CustomerId == id).Result; if (customer == null) { return Task.CompletedTask; } else { db.Customers.Remove(customer); return db.SaveChangesAsync(); } } }