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