删除报名项
This commit is contained in:
parent
e8e0c3f9de
commit
daf573b94d
@ -2877,8 +2877,19 @@ public class UnifiedRegistrationService : ITransient
|
||||
await _registrationPersonRepository.DeleteAsync(x => allCancelMemberIds.Contains(x.Id));
|
||||
_logger.LogInformation("已删除队员:报名ID={RegistrationId}, 队员ID列表={PersonIds}",
|
||||
registration.Id, string.Join(", ", allCancelMemberIds));
|
||||
|
||||
// 检查并删除空的 RegistrationItem(所有成员都被删除的项)
|
||||
var remainingPersons = await _registrationPersonRepository.GetListAsync(x => x.RegistrationId == registration.Id);
|
||||
var remainingRegistrationItemIds = new HashSet<long>(remainingPersons.Select(p => p.RegistrationItemId));
|
||||
var itemsToDelete = items.Where(item => !remainingRegistrationItemIds.Contains(item.Id)).ToList();
|
||||
if (itemsToDelete.Count > 0)
|
||||
{
|
||||
await _registrationItemRepository.DeleteAsync(itemsToDelete);
|
||||
_logger.LogInformation("已删除空团队:报名ID={RegistrationId}, 团队ID列表={ItemIds}",
|
||||
registration.Id, string.Join(", ", itemsToDelete.Select(i => i.Id)));
|
||||
}
|
||||
|
||||
var remainingPersonsCount = await _registrationPersonRepository.CountAsync(x => x.RegistrationId == registration.Id);
|
||||
var remainingPersonsCount = remainingPersons.Count;
|
||||
registration.TotalPersonCount = remainingPersonsCount;
|
||||
|
||||
if (remainingPersonsCount > 0)
|
||||
@ -2935,8 +2946,19 @@ public class UnifiedRegistrationService : ITransient
|
||||
await _registrationPersonRepository.DeleteAsync(x => allCancelMemberIds.Contains(x.Id));
|
||||
_logger.LogInformation("已删除队员:报名ID={RegistrationId}, 队员ID列表={PersonIds}",
|
||||
registration.Id, string.Join(", ", allCancelMemberIds));
|
||||
|
||||
// 检查并删除空的 RegistrationItem(所有成员都被删除的项)
|
||||
var remainingPersons = await _registrationPersonRepository.GetListAsync(x => x.RegistrationId == registration.Id);
|
||||
var remainingRegistrationItemIds = new HashSet<long>(remainingPersons.Select(p => p.RegistrationItemId));
|
||||
var itemsToDelete = items.Where(item => !remainingRegistrationItemIds.Contains(item.Id)).ToList();
|
||||
if (itemsToDelete.Count > 0)
|
||||
{
|
||||
await _registrationItemRepository.DeleteAsync(itemsToDelete);
|
||||
_logger.LogInformation("已删除空团队:报名ID={RegistrationId}, 团队ID列表={ItemIds}",
|
||||
registration.Id, string.Join(", ", itemsToDelete.Select(i => i.Id)));
|
||||
}
|
||||
|
||||
var remainingPersonsCount = await _registrationPersonRepository.CountAsync(x => x.RegistrationId == registration.Id);
|
||||
var remainingPersonsCount = remainingPersons.Count;
|
||||
registration.TotalPersonCount = remainingPersonsCount;
|
||||
|
||||
if (remainingPersonsCount > 0)
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user