/// <summary>
        /// Adds a page to the specified position.
        /// </summary>
        /// <param name="newPage">The new page to be added.</param>
        /// <param name="parentId">The parent id.</param>
        /// <param name="pageInsertionPosition">The page insertion position</param>
        /// <returns></returns>
        public static IPage Add(this IPage newPage, Guid parentId, IPageInsertionPosition pageInsertionPosition)
        {
            Verify.ArgumentNotNull(newPage, nameof(newPage));
            Verify.ArgumentNotNull(pageInsertionPosition, nameof(pageInsertionPosition));

            lock (_lock)
            {
                pageInsertionPosition.CreatePageStructure(newPage, parentId);

                newPage = DataFacade.AddNew <IPage>(newPage);

                AddPageTypeRelatedData(newPage);
            }

            return(newPage);
        }
Exemple #2
0
        /// <summary>
        /// Adds a page to the specified position.
        /// </summary>
        /// <param name="newPage">The new page to be added.</param>
        /// <param name="parentId">The parent id.</param>
        /// <param name="pageInsertionPosition">The page insertion position</param>
        /// <returns></returns>
        public static IPage Add(this IPage newPage, Guid parentId, IPageInsertionPosition pageInsertionPosition)
        {
            Verify.ArgumentNotNull(newPage, nameof(newPage));
            Verify.ArgumentNotNull(pageInsertionPosition, nameof(pageInsertionPosition));

            lock (_lock)
            {
                pageInsertionPosition.CreatePageStructure(newPage, parentId);

                newPage = DataFacade.AddNew<IPage>(newPage);

                AddPageTypeRelatedData(newPage);
            }

            return newPage;
        }