Пример #1
0
 public void DuplicateRoot(int NewContentID, int ContentPropertyParentID)
 {
     List<int> _NewParents = new List<int>();
     GetParentsID(ref _NewParents, NewContentID);
     using (var _c = db)
     {
         foreach (var item in _NewParents)
         {
             var _Model = new ContentRoot(NewContentID, item);
             _c.ContentRoots.Add(_Model);
             _c.SaveChanges();
         }
     }
 }
Пример #2
0
        public void MoveRoot(int ContentID, int ContentNewParentID)
        {
            List<int> _Childs = new List<int>();
            _Childs.Add(ContentID);
            GetChildsID(ref _Childs, ContentID);

            List<int> _NewParents = new List<int>();
            _NewParents.Add(ContentNewParentID);
            // _NewParents.Add(ContentID);
            GetParentsID(ref _NewParents, ContentNewParentID);

            List<int> _OldParents = new List<int>();
            //_OldParents.Add(ContentID);
            GetParentsID(ref _OldParents, ContentID);

            using (var _c = db)
            {
                foreach (var item in _Childs)
                {
                    var _ToDelete = _c.ContentRoots.Where(m => _OldParents.Contains(m.ContentParentID) && m.ContentID == item);
                    _c.ContentRoots.RemoveRange(_ToDelete);
                    _c.SaveChanges();

                    foreach (var item2 in _NewParents)
                    {
                        var _Model = new ContentRoot(item, item2);
                        _c.ContentRoots.Add(_Model);
                        _c.SaveChanges();
                    }
                }
            }
        }
Пример #3
0
        private void MigratorUpdate(ICollection<ContentBindingList> Model)
        {
            foreach (var item in Model)
            {
                var _CR = new ContentRoot(item.ContentPropertyID, item.ContentPropertyParentID);
                using (var _c = db)
                {
                    if (!_c.ContentRoots.Where(m => m.ContentID == item.ContentPropertyID && m.ContentParentID == item.ContentPropertyParentID).Any())
                    {
                        _c.ContentRoots.Add(_CR);
                        _c.SaveChanges();
                    }
                }

                if (item.Items.Count > 0)
                {
                    MigratorUpdate(item.Items, item.ContentPropertyID);
                    MigratorUpdate(item.Items);
                }
            }
        }
Пример #4
0
 public void AddRoot(int ContentID, int ContentParentID)
 {
     using (var _c = db)
     {
         if (!_c.ContentRoots.Where(m => m.ContentID == ContentID && m.ContentParentID == ContentParentID).Any())
         {
             List<int> _NewParents = new List<int>();
             GetParentsID(ref _NewParents, ContentID);
             foreach (var item in _NewParents)
             {
                 var _Model = new ContentRoot(ContentID, item);
                 _c.ContentRoots.Add(_Model);
                 _c.SaveChanges();
             }
         }
     }
 }
Пример #5
0
 private void MigratorUpdate(ICollection<ContentBindingList> Model, int ParentID)
 {
     foreach (var item in Model)
     {
         var _CR = new ContentRoot(item.ContentPropertyID, ParentID);
         using (var _c = db)
         {
             _c.ContentRoots.Add(_CR);
             _c.SaveChanges();
         }
         if (item.Items.Count > 0)
             MigratorUpdate(item.Items, ParentID);
     }
 }