diff --git a/Front/skydivelogs-app/src/app/summary/summary.component.html b/Front/skydivelogs-app/src/app/summary/summary.component.html index c078cba..2565b6b 100644 --- a/Front/skydivelogs-app/src/app/summary/summary.component.html +++ b/Front/skydivelogs-app/src/app/summary/summary.component.html @@ -1,16 +1,16 @@
- - 850 + + : {{ totalJumps }}
- - 1 + + : {{ totalCutaways }}
- - 5 Février 2020 à Barcelonnette + + : {{ lastJump }}
diff --git a/Front/skydivelogs-app/src/app/summary/summary.component.ts b/Front/skydivelogs-app/src/app/summary/summary.component.ts index e773a32..3c58e8a 100644 --- a/Front/skydivelogs-app/src/app/summary/summary.component.ts +++ b/Front/skydivelogs-app/src/app/summary/summary.component.ts @@ -32,17 +32,27 @@ export class SummaryComponent implements OnInit { private _shownStats: Map; public StatType = StatType; + public totalJumps: number; + public totalCutaways: number; + public lastJump: string; + constructor( - private serviceApi: StatsService, - private serviceComm: ServiceComm + private _serviceApi: StatsService, + private _serviceComm: ServiceComm ) { } ngOnInit() { this.initShownStats(); - this.serviceComm.UpdatedComponentTitle('Summary'); + this._serviceComm.UpdatedComponentTitle('Summary'); - const statsResult = this.serviceApi.getStatsOfJumps(); + const statsResult = this._serviceApi.getStatsOfJumps(); + + statsResult.simpleSummary.subscribe(data => { + this.totalJumps = data.totalJumps; + this.totalCutaways = data.totalCutaways; + this.lastJump = data.lastJump.jumpDate + ' (' + data.lastJump.dropZone.name + ')'; + }); statsResult.statsByDz.subscribe(data => { this.dsNbJumpByDz = new MatTableDataSource(data); diff --git a/Front/skydivelogs-app/src/models/stats.ts b/Front/skydivelogs-app/src/models/stats.ts index 3c584e5..7f19a3c 100644 --- a/Front/skydivelogs-app/src/models/stats.ts +++ b/Front/skydivelogs-app/src/models/stats.ts @@ -1,4 +1,5 @@ import { Observable } from 'rxjs'; +import { JumpResp } from './jump'; export enum StatType { ForLastMonth = 1, @@ -11,6 +12,8 @@ export enum StatType { } export class StatsResp { + public simpleSummary: Observable; + public statsByDz: Observable>; public statsByAircraft: Observable>; public statsByGear: Observable>; @@ -21,6 +24,18 @@ export class StatsResp { public statsForLastMonth: Observable; } +export class SimpleSummary { + constructor(data: any) { + this.totalJumps = data.totalJumps; + this.totalCutaways = data.totalCutaways; + this.lastJump = new JumpResp(data.lastJump); + } + + public totalJumps: number; + public totalCutaways: number; + public lastJump: JumpResp; +} + export class StatsByDzResp { constructor(data: any) { Object.assign(this, data); diff --git a/Front/skydivelogs-app/src/services/stats.service.ts b/Front/skydivelogs-app/src/services/stats.service.ts index f807f2c..1fee099 100644 --- a/Front/skydivelogs-app/src/services/stats.service.ts +++ b/Front/skydivelogs-app/src/services/stats.service.ts @@ -1,8 +1,8 @@ -import { Injectable } from "@angular/core"; -import { HttpClient, HttpHeaders } from "@angular/common/http"; -import { Observable } from "rxjs"; -import { map } from "rxjs/operators"; -import { environment } from "../environments/environment"; +import { Injectable } from '@angular/core'; +import { HttpClient, HttpHeaders } from '@angular/common/http'; +import { Observable } from 'rxjs'; +import { map } from 'rxjs/operators'; +import { environment } from '../environments/environment'; import { StatsResp, StatsByDzResp, @@ -11,20 +11,23 @@ import { StatsByGearResp, StatsByYearResp, StatsForLastMonthResp, - StatsForLastYearResp -} from "../models/stats"; + StatsForLastYearResp, + SimpleSummary +} from '../models/stats'; @Injectable() export class StatsService { private readonly headers = new HttpHeaders({ - "Access-Control-Allow-Origin": environment.urlApi + 'Access-Control-Allow-Origin': environment.urlApi }); - constructor(private http: HttpClient) {} + constructor(private http: HttpClient) { } public getStatsOfJumps(): StatsResp { const resultats = new StatsResp(); + resultats.simpleSummary = this.getSimpleSummary(); + resultats.statsByDz = this.getStatsByDz(); resultats.statsByAircraft = this.getStatsByAircraft(); resultats.statsByJumpType = this.getStatsByJumpType(); @@ -37,6 +40,19 @@ export class StatsService { return resultats; } + private getSimpleSummary(): Observable { + return this.http + .get>(`${environment.urlApi}/api/Stats/Simple`, { + headers: this.headers + }) + .pipe( + map(response => { + const stats = new SimpleSummary(response); + return stats; + }) + ); + } + private getStatsByDz(): Observable> { return this.http .get>(`${environment.urlApi}/api/Stats/ByDz`, {