@@ -3,7 +3,7 @@ import { ActivatedRoute } from "@angular/router";
3
3
import { Http } from '@angular/http' ;
4
4
import { ResultJson } from "../../models/ResultJson" ;
5
5
import { BookBaseViewModel } from "../../models/Book" ;
6
- import { ImageViewModel } from "../../models/Image" ;
6
+ import { ImageViewModel } from "../../models/Image" ;
7
7
8
8
@Component ( {
9
9
selector : 'seriesProfile' ,
@@ -21,7 +21,6 @@ export class SeriesProfileComponent implements OnInit, OnDestroy {
21
21
hasBooks = false ;
22
22
books : BookBaseViewModel [ ] ;
23
23
24
-
25
24
private subscription : any ;
26
25
27
26
ngOnInit ( ) {
@@ -36,10 +35,9 @@ export class SeriesProfileComponent implements OnInit, OnDestroy {
36
35
this . books = [ ] ;
37
36
result . json ( ) . result . forEach ( ( serverBook : ApiBookBaseViewModel ) => {
38
37
let newData = new BookBaseViewModel ( serverBook . bookId ,
39
- serverBook . bookDescription ) ;
40
- newData . coverData = new ImageViewModel (
41
- serverBook . bookCoverImage , serverBook . bookImageIsBase64String
42
- ) ;
38
+ serverBook . bookDescription , serverBook . bookName ,
39
+ serverBook . bookOrdinal ) ;
40
+ this . getBookImageData ( newData ) ;
43
41
this . books . push ( newData ) ;
44
42
} ) ;
45
43
}
@@ -51,15 +49,29 @@ export class SeriesProfileComponent implements OnInit, OnDestroy {
51
49
} ) ;
52
50
}
53
51
54
-
55
52
ngOnDestroy ( ) {
56
53
this . subscription . unsubscribe ( ) ;
57
54
}
55
+
56
+ private getBookImageData = ( book : BookBaseViewModel ) => {
57
+ let route = `http://dwcheckapi.azurewebsites.net/Books/GetBookCover/${ book . bookId } ` ;
58
+ this . http . get ( route ) . subscribe ( ( result ) => {
59
+ let resultJson = result . json ( ) as ResultJson ;
60
+ if ( resultJson . success ) {
61
+ let serverData = result . json ( ) . result ;
62
+ book . coverData = new ImageViewModel (
63
+ serverData . bookCoverImage , serverData . bookImageIsBase64String
64
+ ) ;
65
+ }
66
+ } ) ;
67
+ }
58
68
59
69
}
60
70
61
71
interface ApiBookBaseViewModel {
62
72
bookId : number ;
73
+ bookOrdinal : number ;
74
+ bookName : string ;
63
75
bookCoverImage : string ;
64
76
bookImageIsBase64String : boolean ;
65
77
bookDescription : string ;
0 commit comments