public bool DeleteDataAttribute(IEnumerable<DataAttribute> entities)
{
Contract.Requires(entities != null);
Contract.Requires(Contract.ForAll(entities, (DataAttribute e) => e != null));
Contract.Requires(Contract.ForAll(entities, (DataAttribute e) => e.Id >= 0));
using (IUnitOfWork uow = this.GetUnitOfWork())
{
IRepository<DataAttribute> repo = uow.GetRepository<DataAttribute>();
IRepository<ExtendedProperty> exRepo = uow.GetRepository<ExtendedProperty>();
IRepository<Parameter> vpuRepo = uow.GetRepository<Parameter>();
foreach (var entity in entities)
{
var latest = repo.Reload(entity);
repo.LoadIfNot(latest.ExtendedProperties);
//repo.LoadIfNot(entity.ParameterUsages);
exRepo.Delete(entity.ExtendedProperties);
entity.ExtendedProperties.Clear();
//vpuRepo.Delete(entity.ParameterUsages);
//entity.ParameterUsages.Clear();
repo.Delete(latest);
}
uow.Commit();
}
return (true);
}