1- import { Component , OnInit } from '@angular/core' ;
2- import { Router } from '@angular/router' ;
1+ import { Component , OnInit } from '@angular/core' ;
2+ import { Router } from '@angular/router' ;
33
44import 'rxjs/Rx' ;
55import { Observable } from 'rxjs/Observable' ;
66import 'rxjs/add/observable/throw' ;
77
8- import { BasketService } from './basket.service' ;
9- import { IBasket } from '../shared/models/basket.model' ;
10- import { IBasketItem } from '../shared/models/basketItem.model' ;
8+ import { BasketService } from './basket.service' ;
9+ import { IBasket } from '../shared/models/basket.model' ;
10+ import { IBasketItem } from '../shared/models/basketItem.model' ;
1111import { BasketWrapperService } from '../shared/services/basket.wrapper.service' ;
1212
1313@Component ( {
@@ -34,16 +34,27 @@ export class BasketComponent implements OnInit {
3434 this . service . setBasket ( this . basket ) . subscribe ( x => console . log ( 'basket updated: ' + x ) ) ;
3535 }
3636
37- update ( event : any ) {
38- this . service . setBasket ( this . basket ) . catch ( ( errMessage ) => {
39- this . errorMessages = errMessage . messages ;
40- return Observable . throw ( errMessage ) ;
41- } ) . subscribe ( x => console . log ( 'basket updated: ' + x ) ) ;
37+ update ( event : any ) : Observable < boolean > {
38+ let setBasketObservable = this . service . setBasket ( this . basket ) ;
39+ setBasketObservable
40+ . subscribe (
41+ x => {
42+ this . errorMessages = [ ] ;
43+ console . log ( 'basket updated: ' + x ) ;
44+ } ,
45+ errMessage => this . errorMessages = errMessage . messages ) ;
46+ return setBasketObservable ;
4247 }
4348
4449 checkOut ( event : any ) {
45- this . basketwrapper . basket = this . basket ;
46- this . router . navigate ( [ 'order' ] ) ;
50+ this . update ( event )
51+ . subscribe (
52+ x => {
53+ this . errorMessages = [ ] ;
54+ this . basketwrapper . basket = this . basket ;
55+ this . router . navigate ( [ 'order' ] ,
56+ errMessage => this . errorMessages = errMessage . messages ) ;
57+ } ) ;
4758 }
4859
4960 private calculateTotalPrice ( ) {
0 commit comments