private void HandleBookSettings(ApiRequest request)
{
switch (request.HttpMethod)
{
case HttpMethods.Get:
dynamic settings = new ExpandoObject();
settings.isRecordedAsLockedDown = _bookSelection.CurrentSelection.RecordedAsLockedDown;
settings.unlockShellBook = _bookSelection.CurrentSelection.TemporarilyUnlocked;
settings.currentToolBoxTool = _bookSelection.CurrentSelection.BookInfo.CurrentTool;
request.ReplyWithJson((object)settings);
break;
case HttpMethods.Post:
//note: since we only have this one value, it's not clear yet whether the panel involved here will be more of a
//an "edit settings", or a "book settings", or a combination of them.
settings = DynamicJson.Parse(request.RequiredPostJson());
_bookSelection.CurrentSelection.TemporarilyUnlocked = settings["unlockShellBook"];
_pageRefreshEvent.Raise(PageRefreshEvent.SaveBehavior.SaveBeforeRefresh);
request.Succeeded();
break;
default:
throw new ArgumentOutOfRangeException();
}
}