Advertisement
Guest User

customer-data.service.ts

a guest
May 17th, 2018
150
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. import {Injectable} from '@angular/core';
  2. import {Http, Headers, Response, RequestMethod, RequestOptions} from '@angular/http';
  3.  
  4. import 'rxjs/add/operator/map';
  5. import 'rxjs/add/operator/do';
  6. import 'rxjs/add/operator/catch';
  7. import {Observable} from 'rxjs/Rx';
  8.  
  9. import {GlobalService} from './global.service';
  10. import {Customer} from './customer';
  11.  
  12.  
  13. @Injectable()
  14. export class CustomerDataService {
  15.  
  16.     constructor(private _globalService:GlobalService, private _http:Http){}
  17.  
  18.    
  19.     addCustomer(customer:Customer):Observable<any>{
  20.         var url     = this._globalService.apiHost+'customer';
  21.         var headers = this.getHeaders();
  22.         var body    = JSON.stringify(customer);
  23.         var requestOptions = new RequestOptions({method: RequestMethod.Post,headers: headers});
  24.  
  25.         return this._http.post(url,body,requestOptions)
  26.             .map(response => response.json())
  27.             .map((response) => {
  28.                 console.log("response "+response);
  29.                 return response;
  30.             })
  31.             .catch(this.handleError);
  32.     }
  33.  
  34.     updateCustomer(customer):Observable<any>{
  35.         var url     = this._globalService.apiHost+'customer';
  36.         var headers = this.getHeaders();
  37.         var body    = JSON.stringify(customer);
  38.         var requestOptions = new RequestOptions({method: RequestMethod.Put,headers: headers});
  39.         return this._http.put(url,body,requestOptions)
  40.             .map(response => response.json())
  41.             .map((response) => {
  42.                 console.log(response);
  43.                 return response;
  44.             })
  45.             .catch(this.handleError);
  46.     }
  47.  
  48.    
  49.     deleteCustomer(id:number):Observable<any>{
  50.         var url     = this._globalService.apiHost+'customer/'+id;
  51.         var headers = this.getHeaders();
  52.         var option  = new RequestOptions({headers: headers});
  53.         return this._http.delete(url,option)
  54.             .map(response => response.json())
  55.             .map((response) => {
  56.                 return response;
  57.             })
  58.             .catch(this.handleError);
  59.     }
  60.  
  61.     getAllCustomer(): Observable<Customer[]> {
  62.         let headers = this.getHeaders();
  63.  
  64.         return this._http.get(
  65.             this._globalService.apiHost+'customer',{headers: headers})
  66.             .map(response => response.json())
  67.             .map((response) => {
  68.                 return <Customer[]>response.data;
  69.             })
  70.             .catch(this.handleError);
  71.     }
  72.  
  73.     getCustomerById(id:number):Observable<Customer> {
  74.         let headers = this.getHeaders();
  75.         return this._http.get(
  76.             this._globalService.apiHost+'customer/'+id,
  77.             {
  78.                 headers: headers
  79.             }
  80.         )
  81.             .map(response => response.json())
  82.             .map((response) => {
  83.                 return <Customer>response.data;
  84.             })
  85.             .catch(this.handleError);
  86.     }
  87.  
  88.     private getHeaders():Headers {
  89.         return new Headers({'Content-Type': 'application/json'});
  90.     }
  91.  
  92.  
  93.     private handleError (error: Response | any) {
  94.  
  95.         let errorMessage:any = {};
  96.         // Connection error
  97.         if(error.status == 0) {
  98.             errorMessage = {
  99.                 success: false,
  100.                 status: 0,
  101.                 data: "Maaf koneksi sedang tidak ada. Silahkan coba lagi.",
  102.             };
  103.         }
  104.         else {
  105.             errorMessage = error.json();
  106.         }
  107.         return Observable.throw(errorMessage);
  108.     }
  109. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement