using Fake.DependencyInjection; using Oms.Domain.OrdersAggregate.Entities; using Oms.Domain.OrdersAggregate.Repositories; using Oms.SqlSugarCore.Repositories; namespace Oms.SqlSugarCore.Orders; public class CustomerSenderAddressRepository : OmsSqlSugarRepository, ICustomerSenderAddressRepository, IScopedDependency { public Task GetOwnedAsync(int id, int customerId, CancellationToken cancellationToken = default) { return FirstOrDefaultAsync(x => x.Id == id && x.CustomerId == customerId, cancellationToken); } public async Task ClearDefaultAsync(int customerId, int? excludeId = null, CancellationToken cancellationToken = default) { var list = await GetListAsync( x => x.CustomerId == customerId && x.IsDefault == 1 && (!excludeId.HasValue || x.Id != excludeId.Value), cancellationToken: cancellationToken); if (list.Count == 0) { return; } foreach (var item in list) { item.IsDefault = 0; await UpdateAsync(item); } } }