public FileDataContract DownloadWholeAudioBook(DownloadWholeBookContract requestContract) { m_authorizationManager.AuthorizeBook(requestContract.BookId); var audioType = (AudioType)requestContract.RequestedAudioType; var book = m_bookVersionRepository.GetBookWithLastVersion(requestContract.BookId); FullBookRecording recording = m_bookVersionRepository.GetFullBookRecording(book.LastVersion.Id, audioType); if (recording == null) { var message = $"Cannot locate full book recording archive for book:'{requestContract.BookId}' of requested type:'{requestContract.RequestedAudioType}'"; if (m_log.IsErrorEnabled) { m_log.ErrorFormat(message); } throw new ArgumentException(message); } var stream = m_fileSystemManager.GetResource(book.Guid, book.LastVersion.VersionId, recording.FileName, ResourceType.Audio); return(new FileDataContract { FileName = recording.FileName, FileData = stream, MimeType = recording.MimeType, }); }
public bool HasBookPageByXmlId(string bookGuid, string versionId) { if (m_log.IsDebugEnabled) { m_log.DebugFormat("Start MainService (BookManager) get version '{0}' of book '{1}'", versionId, bookGuid); } m_authorizationManager.AuthorizeBook(bookGuid); return(m_bookVersionRepository.CountBookPageByXmlId(bookGuid, versionId) > 0); }