using Distribution.Data; using Distribution.Models; using Microsoft.EntityFrameworkCore; namespace Distribution.Features.Sale; public class SaleRepository(AppDBContext context) : ISaleRepository { public async Task GetByIdAsync(Guid id) => await context.Sales.FindAsync(id); public async Task> GetAllAsync() => await context.Sales.ToListAsync(); public async Task> GetByStoreIdAsync(Guid storeId) => await context.Sales.Where(s => s.FK_StoreId == storeId && s.IsActive).ToListAsync(); public async Task AddAsync(Models.Sale sale) => await context.Sales.AddAsync(sale); public void Update(Models.Sale sale) => context.Sales.Update(sale); public void Remove(Models.Sale sale) { sale.IsActive = false; context.Sales.Update(sale); } public async Task GetOrderBySaleIdAsync(Guid saleId) => await context.Orders.FirstOrDefaultAsync(o => o.FK_SaleId == saleId && o.IsActive); }