Skip to content
Snippets Groups Projects
player.service.ts 1.39 KiB
Newer Older
Tomas Madeja's avatar
Tomas Madeja committed
import { Injectable } from '@angular/core';
import { Observable, of } from 'rxjs';
import { CreatePlayer } from '../models/create-player';
Tomas Madeja's avatar
Tomas Madeja committed
import { Player } from '../models/player';
import { Team } from '../models/team';
Tomas Madeja's avatar
Tomas Madeja committed

@Injectable({
  providedIn: 'root'
})
export class PlayerService {

  freePlayers: Player[] = [
    {id: 4, name: "Bobby Orr"},
    {id: 5, name: "Wayne Gretzky"},
    {id: 6, name: "Denis Potvin"}
  ];

Tomas Madeja's avatar
Tomas Madeja committed
  players: Player[] = [
    {id: 1, name: "Sidney Cosby"},
    {id: 2, name: "Alexander Ovechkin"},
    {id: 3, name: "Gordie Howe"},
    {id: 4, name: "Bobby Orr"},
    {id: 5, name: "Wayne Gretzky"},
    {id: 6, name: "Denis Potvin"}
  teamOnePlayers: Player[] = [
    {id: 1, name: "Sidney Cosby"},
    {id: 2, name: "Alexander Ovechkin"},
  ];

Tomas Madeja's avatar
Tomas Madeja committed
  constructor() { }

  getPlayers() : Observable<Player[]> {
    return of(this.players);
  }

  getFreePlayers() : Observable<Player[]> {
    return of(this.freePlayers);
  }

Tomas Madeja's avatar
Tomas Madeja committed
  getPlayersForTeam(id: number) : Observable<Player[]> {
    if (id === 1) {
      return of(this.teamOnePlayers);
Tomas Madeja's avatar
Tomas Madeja committed
    } else {
      return of([]);
    }
  }

  recruitPlayer(player: CreatePlayer, team: Team) : void {
    if(team.id == 1) {
      this.teamOnePlayers.push({
        name: player.name,
        id: Math.random()
      });
    }

  recruitVeteranPlayer(player: Player, team: Team) : void {
    
  }

  firePlayer(player: Player): void {

  }
Tomas Madeja's avatar
Tomas Madeja committed
}