public bool RemovePartyTypePair(IEnumerable<PartyTypePair> entities)
{
Contract.Requires(entities != null);
Contract.Requires(Contract.ForAll(entities, (PartyTypePair e) => e != null));
Contract.Requires(Contract.ForAll(entities, (PartyTypePair e) => e.Id >= 0));
using (IUnitOfWork uow = this.GetUnitOfWork())
{
IRepository<PartyTypePair> repoPR = uow.GetRepository<PartyTypePair>();
IRepository<PartyRelationshipType> repoRel = uow.GetRepository<PartyRelationshipType>();
foreach (var entity in entities)
{
if (repoRel.Get(item => item.AssociatedPairs.Contains(entity)).Count() > 0)
BexisException.Throw(entity, "There are some relations between this entity and 'PartyRelationshipType'.", BexisException.ExceptionType.Delete,true);
var latest = repoPR.Reload(entity);
repoPR.Delete(latest);
}
uow.Commit();
}
return (true);
}