删除报名项
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));
|
await _registrationPersonRepository.DeleteAsync(x => allCancelMemberIds.Contains(x.Id));
|
||||||
_logger.LogInformation("已删除队员:报名ID={RegistrationId}, 队员ID列表={PersonIds}",
|
_logger.LogInformation("已删除队员:报名ID={RegistrationId}, 队员ID列表={PersonIds}",
|
||||||
registration.Id, string.Join(", ", allCancelMemberIds));
|
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;
|
registration.TotalPersonCount = remainingPersonsCount;
|
||||||
|
|
||||||
if (remainingPersonsCount > 0)
|
if (remainingPersonsCount > 0)
|
||||||
@ -2935,8 +2946,19 @@ public class UnifiedRegistrationService : ITransient
|
|||||||
await _registrationPersonRepository.DeleteAsync(x => allCancelMemberIds.Contains(x.Id));
|
await _registrationPersonRepository.DeleteAsync(x => allCancelMemberIds.Contains(x.Id));
|
||||||
_logger.LogInformation("已删除队员:报名ID={RegistrationId}, 队员ID列表={PersonIds}",
|
_logger.LogInformation("已删除队员:报名ID={RegistrationId}, 队员ID列表={PersonIds}",
|
||||||
registration.Id, string.Join(", ", allCancelMemberIds));
|
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;
|
registration.TotalPersonCount = remainingPersonsCount;
|
||||||
|
|
||||||
if (remainingPersonsCount > 0)
|
if (remainingPersonsCount > 0)
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user