publicBoolean UpdateFileTypeSortNum(String treeNodeId, String targetNodeId)
{using (SqlConnection conn =DapperFactory.CrateOpenConnection())
{//判断节点是往上移还是往下移
var treeNode = GetFileType(newGuid(treeNodeId));var targetNode = GetFileType(newGuid(targetNodeId));if (treeNode.SortNum <=targetNode.SortNum)
{//往下移
String executeSql = String.Format(@"UPDATE FileType SET SortNum = SortNum+2
WHERE ID in(SELECT A.ID from [FileType] A,FileType B
where B.ID='{0}'
and A.ParentId=B.ParentId and A.SortNum >= B.SortNum)", targetNodeId);
conn.Execute(executeSql,null);
executeSql= String.Format(@"update t1 set t1.SortNum=t2.SortNum+1
from FileType t1,FileType t2
where t1.ID='{0}' and t2.ID='{1}'", treeNodeId, targetNodeId);
conn.Execute(executeSql,null);
}else{//往上移
String executeSql = String.Format(@"UPDATE FileType SET SortNum = SortNum+1
WHERE ID in(SELECT A.ID from [FileType] A,FileType B
where B.ID='{0}'
and A.ParentId=B.ParentId and B.SortNum <= A.SortNum)", targetNodeId);
conn.Execute(executeSql,null);
executeSql= String.Format(@"update t1 set t1.SortNum=t2.SortNum-1
from FileType t1,FileType t2
where t1.ID='{0}' and t2.ID='{1}'", treeNodeId, targetNodeId);
conn.Execute(executeSql,null);
}return true;
}
}