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(); } } }
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(); } } } }
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); } } }
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(); } } } }
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); } }