Beispiel #1
0
        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,
            });
        }
Beispiel #2
0
        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);
        }