public bool RemovePartyRelationship(IEnumerable<PartyRelationship> entities)
{
Contract.Requires(entities != null);
Contract.Requires(Contract.ForAll(entities, (PartyRelationship e) => e != null));
Contract.Requires(Contract.ForAll(entities, (PartyRelationship e) => e.Id >= 0));
using (IUnitOfWork uow = this.GetUnitOfWork())
{
IRepository<PartyRelationship> repoPR = uow.GetRepository<PartyRelationship>();
foreach (var entity in entities)
{
if (entity.PartyRelationshipType.MinCardinality > (entity.PartyRelationshipType.PartyRelationships.Count() - 1))
BexisException.Throw(entity, String.Format("Atleast {0} party relation is required.", entity.PartyRelationshipType.MinCardinality), BexisException.ExceptionType.Delete, true);
var latest = repoPR.Reload(entity);
repoPR.Delete(latest);
}
uow.Commit();
}
return (true);
}