public static BookWithProgress GetUserBookProgress(string userId, Guid bookId) { using (var db = new HonyomiContext()) { IndexedBook book = db.Books.Include(x => x.Files).Single(x => x.IndexedBookId == bookId); if (book == null) { return(null); } BookProgress bookp = db.BookProgresses.SingleOrDefault(x => x.BookId == bookId && x.UserId == userId); BookWithProgress result = new BookWithProgress { FileProgresses = book.Files.Select(x => GetUserFileProgress(userId, x.IndexedFileId)) .ToArray(), Guid = book.IndexedBookId, CurrentTrackGuid = bookp?.FileId ?? book.Files.First().IndexedFileId, Title = book.Title, Author = book.Author, ISBN = book.ISBN }; return(result); } }
public IActionResult GetBooksForUserFake() { Console.WriteLine(User.Identity.Name); try { var bookGuid = Guid.NewGuid(); var file1id = Guid.NewGuid(); var file2id = Guid.NewGuid(); var book = new BookWithProgress() { Guid = bookGuid, CurrentTrackGuid = file1id, FileProgresses = new [] { new FileWithProgress() { BookGuid = bookGuid, BookTitle = "Book Title", Guid = file1id, ProgressSeconds = 5, Title = "track 1" }, new FileWithProgress() { BookGuid = bookGuid, BookTitle = "Book Title", Guid = file2id, ProgressSeconds = 66, Title = "track 2" } } }; return(Json(new[] { book })); } catch (Exception) { return(BadRequest()); } }