BExIS.Dlm.Services.Administration.ResearchPlanManager.RemoveDataStructure C# (CSharp) Méthode

RemoveDataStructure() public méthode

public RemoveDataStructure ( ResearchPlan end1, BExIS.Dlm.Entities.DataStructure.DataStructure end2 ) : bool
end1 ResearchPlan
end2 BExIS.Dlm.Entities.DataStructure.DataStructure
Résultat bool
        public bool RemoveDataStructure(ResearchPlan end1, DataStructureEntity end2)
        {
            Contract.Requires(end1 != null && end1.Id >= 0);
            Contract.Requires(end2 != null && end2.Id >= 0);

            bool result = false;
            using (IUnitOfWork uow = this.GetUnitOfWork())
            {
                IRepository<ResearchPlan> end1Repo = uow.GetRepository<ResearchPlan>();
                IRepository<DataStructureEntity> end2Repo = uow.GetRepository<DataStructureEntity>();

                end1 = end1Repo.Reload(end1);
                end1Repo.LoadIfNot(end1.DataStructures);

                end2 = end2Repo.Reload(end2);
                end2Repo.LoadIfNot(end2.ResearchPlans);

                if (end1.DataStructures.Contains(end2) || end2.ResearchPlans.Contains(end1))
                {
                    end1.DataStructures.Remove(end2);
                    end2.ResearchPlans.Remove(end1);
                    uow.Commit();
                    result = true;
                }
            }
            return (result);
        }