示例#1
0
        public CoverResult[] SearchCovers(UserContext context, string searchString)
        {
            context.ValidateUser(true);
            var ret = BigBookSearchUtil.SearchForCovers(searchString);

            return(ret);
        }
示例#2
0
        public Id?ImportBook(UserContext context, Id importId, string cover, string link)
        {
            context.ValidateUser(true);
            var import = UserContext.GetShallow <Import>(importId);

            if (import == null)
            {
                return(null);
            }
            var(title, author) = BigBookSearchUtil.SearchAmazon(link);
            var files = Directory.GetFiles(import.Path)
                        .Where(ImportRunner.IsAudioFile)
                        .ToList();
            double length;

            length = AudioFileUtil.GetLength(
                files.Count == 1 ?
                files.First() :
                AudioFileUtil.JoinFilesWithFfmpeg(import.Path));

            var book = new Book(title, author, import.Path, cover, length);

            UserContext.AddDefault(book);
            UserContext.Remove <Import>(importId);
            return(book.Id);
        }