6d8b6b3e59
Implemented DeliveryTask, Payment, and Sale entities with full CRUD, business logic, and API endpoints. Updated Order/OrderItem for sale linkage and fulfillment tracking. Registered new DbSets and DI services. Revised documentation for delivery, sale, and payment workflows.
33 lines
1.0 KiB
C#
33 lines
1.0 KiB
C#
using Distribution.Data;
|
|
using Distribution.Models;
|
|
using Microsoft.EntityFrameworkCore;
|
|
|
|
namespace Distribution.Features.Sale;
|
|
|
|
public class SaleRepository(AppDBContext context) : ISaleRepository
|
|
{
|
|
public async Task<Models.Sale?> GetByIdAsync(Guid id) =>
|
|
await context.Sales.FindAsync(id);
|
|
|
|
public async Task<List<Models.Sale>> GetAllAsync() =>
|
|
await context.Sales.ToListAsync();
|
|
|
|
public async Task<List<Models.Sale>> 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<Models.Order?> GetOrderBySaleIdAsync(Guid saleId) =>
|
|
await context.Orders.FirstOrDefaultAsync(o => o.FK_SaleId == saleId && o.IsActive);
|
|
}
|