Пример #1
0
        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);
        }
Пример #2
0
        public bool AddDataStructure(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> repo = uow.GetRepository<ResearchPlan>();

                end1 = repo.Reload(end1);
                repo.LoadIfNot(end1.DataStructures);
                if (!end1.DataStructures.Contains(end2))
                {
                    end1.DataStructures.Add(end2);
                    end2.ResearchPlans.Add(end1);
                    uow.Commit();
                    result = true;
                }
            }
            return (result);
        }