public void RemovePlayer(IContest contest, IList <IPerson> persons) { WithTransaction(() => { foreach (var person in persons) { var team = person.GetTeam(contest); if (team == null) { continue; } var association = team.RemovePlayer(person); UnitOfWorks.Delete(association); if (team.Members.Count != 0) { continue; } contest.UnRegister(team); UnitOfWorks.Delete(team); } }); }