public void Move(ContentMoveBinding Model, string UserID) { using (var _c = db) { var _CP = _c.ContentProperties.Where(m => m.ContentPropertyID == Model.ContentPropertyID).SingleOrDefault(); Can(_CP.SiteID, UserID, _c); var _Item = (from p in _c.ContentProperties where p.ContentPropertyID == Model.ContentPropertyID select p).SingleOrDefault(); if (Model.ContentPropertyParentID == _Item.ContentPropertyParentID) { _c.Database.ExecuteSqlCommand(@"UPDATE ContentProperties SET Priority=Priority+1 WHERE SiteID={0} AND ContentPropertyParentID={1} AND Priority>={2} AND Priority < {3} AND ContentPropertyID<>{4}", _Item.SiteID, Model.ContentPropertyParentID, Model.Index, _Item.Priority, Model.ContentPropertyID); _c.Database.ExecuteSqlCommand(@"UPDATE ContentProperties SET Priority=Priority-1 WHERE SiteID={0} AND ContentPropertyParentID={1} AND Priority<= {2} AND Priority >{3} AND ContentPropertyID<>{4}", _Item.SiteID, _Item.ContentPropertyParentID, Model.Index, _Item.Priority, Model.ContentPropertyID); } else { //SUBSTRACT OLD PARENT ID _c.Database.ExecuteSqlCommand(@"UPDATE ContentProperties SET Priority=Priority-1 WHERE SiteID={0} AND ContentPropertyParentID={1} AND Priority>= {2} AND ContentPropertyID<>{3}", _Item.SiteID, _Item.ContentPropertyParentID, _Item.Priority, Model.ContentPropertyID); //SUM NEW PARENT ID _c.Database.ExecuteSqlCommand(@"UPDATE ContentProperties SET Priority=Priority+1 WHERE SiteID={0} AND ContentPropertyParentID={1} AND Priority>={2} AND ContentPropertyID<>{3}", _Item.SiteID, Model.ContentPropertyParentID, Model.Index, Model.ContentPropertyID); //UPDATE ROOTS MoveRoot(Model.ContentPropertyID, Model.ContentPropertyParentID); } _Item.ContentPropertyParentID = Model.ContentPropertyParentID; _Item.Priority = Model.Index; _c.SaveChanges(); } }
public void ContentRootMove() { SettingUp(); var _Move = new ContentMoveBinding { ContentPropertyID = D012.ContentPropertyID, ContentPropertyParentID = 0, Index = 1 }; new ContentBLL().Move(_Move, _CustomerUser.Id); var _List = new ContentBLL().GetRootChilds(D012.ContentPropertyID); Assert.IsTrue(_List.Count == 1); _List = new ContentBLL().GetRootParentsID(D012.ContentPropertyID); Assert.IsTrue(_List.Count == 1); _List = new ContentBLL().GetRootParentsID(D0120.ContentPropertyID); Assert.IsTrue(_List.Count == 2); }
public IHttpActionResult Move(ContentMoveBinding model) { _ContentService.Move(model, User.Identity.GetUserId()); return(Ok()); }