Guest User

Untitled

a guest
Feb 20th, 2018
62
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.22 KB | None | 0 0
  1. import { Injectable } from '@angular/core';
  2. import { Router, Resolve, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';
  3. import { Observable } from 'rxjs/Observable';
  4.  
  5. import { Conta } from '../../../shared/model/conta.model';
  6. import { ContaService } from '../../../shared/service/conta.service';
  7.  
  8. @Injectable()
  9. export class ContaDetalheResolveService implements Resolve<Conta> {
  10.  
  11. constructor(private contaService: ContaService, private router: Router) { }
  12.  
  13. resolve(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Conta | Observable<Conta> | Promise<Conta> {
  14. const id = route.params['id'];
  15. if (id && id !== '') {
  16. return this.contaService.obtemPeloCodigo(id).map(
  17. resposta => {
  18. if (resposta && resposta.Sucesso && resposta.Objeto) {
  19. return resposta.Objeto as Conta;
  20. } else {
  21. throw new Error(resposta.Mensagem);
  22. }
  23. }
  24. ).toPromise()
  25. .catch(error => {
  26. this.router.navigate(['conta']);
  27. return null;
  28. });
  29. } else {
  30. return undefined;
  31. }
  32. }
  33. }
Add Comment
Please, Sign In to add comment