ToSic.SexyContent.ContentGroup.ReorderAll C# (CSharp) Method

ReorderAll() public method

public ReorderAll ( int newSequence ) : bool
newSequence int
return bool
        public bool ReorderAll(int[] newSequence)
        {
            var oldCIds = ListWithNulls(cContent);
            var oldPIds = GetPresentationIdWithSameLengthAsContent();

            // some error checks
            if(newSequence.Length != oldCIds.Count)
                throw new Exception("Can't re-order - list length is different");

            var newContentIds = new List<int?>();
            var newPresIds = new List<int?>();

            for (var seqItem = 0; seqItem < newSequence.Length; seqItem++)
            {
                var cId = oldCIds[newSequence[seqItem]];
                newContentIds.Add(cId);

                var pId = oldPIds[newSequence[seqItem]];
                newPresIds.Add(pId);
            }

            var list = PrepareSavePackage(cContent, newContentIds);
            list = PrepareSavePackage(cPresentation, newPresIds, list);
            SaveChangedLists(list);

            return true;
        }