public bool DeletePage(uint pageId, Player player) { var pages = Biota.GetBookAllPages(Guid.Full, BiotaDatabaseLock); var page = Biota.GetBookPageData(Guid.Full, pageId, BiotaDatabaseLock); if (page == null || (!page.IgnoreAuthor && player.Guid.Full != page.AuthorId && !(player is Sentinel) && !(player is Admin))) { return(false); } var success = Biota.DeleteBookPage(pageId, out var entity, BiotaDatabaseLock); if (!success) { return(false); } if (pageId < pages.Count - 1) { // handle deleting page from middle of book for (var i = pageId + 1; i < pages.Count; i++) { var page2 = Biota.GetBookPageData(Guid.Full, i, BiotaDatabaseLock); page2.PageId--; } } SetProperty(PropertyInt.AppraisalPages, pages.Count - 1); ChangesDetected = true; return(true); }
public bool DeletePage(uint pageId) { var pages = Biota.GetBookAllPages(Guid.Full, BiotaDatabaseLock); var success = Biota.DeleteBookPage(pageId, out var entity, BiotaDatabaseLock); if (!success) { return(false); } if (pageId < pages.Count - 1) { // handle deleting page from middle of book for (var i = pageId + 1; i < pages.Count; i++) { var page = Biota.GetBookPageData(Guid.Full, i, BiotaDatabaseLock); page.PageId--; } } SetProperty(PropertyInt.AppraisalPages, pages.Count - 1); ChangesDetected = true; return(true); }