From b8a1115d6a390fe79e76b807918187a90c618bac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Andr=C3=A9?= Date: Fri, 14 Feb 2020 16:47:51 +0100 Subject: [PATCH] =?UTF-8?q?1e=20=C3=A9tape=20pour=20la=20r=C3=A9cup=C3=A9r?= =?UTF-8?q?ation=20des=20stats=20la=20saison=20en=20cours?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/app/summary/summary.component.ts | 11 +++++- Front/skydivelogs-app/src/models/stats.ts | 23 ++++++++++++ .../src/services/stats.service.ts | 35 ++++++++++++++++++- 3 files changed, 67 insertions(+), 2 deletions(-) diff --git a/Front/skydivelogs-app/src/app/summary/summary.component.ts b/Front/skydivelogs-app/src/app/summary/summary.component.ts index eeb661f..6d0a724 100644 --- a/Front/skydivelogs-app/src/app/summary/summary.component.ts +++ b/Front/skydivelogs-app/src/app/summary/summary.component.ts @@ -48,9 +48,18 @@ export class SummaryComponent implements OnInit { this.dsNbJumpByYear = new MatTableDataSource(data); this.countDatasLoaded++; }); + + statsResult.statsForLastYear.subscribe(data => { + this.dsNbJumpByYear = new MatTableDataSource(data); + this.countDatasLoaded++; + }); + statsResult.statsForLastMonth.subscribe(data => { + this.dsNbJumpByYear = new MatTableDataSource(data); + this.countDatasLoaded++; + }); } public allDatasLoaded(): boolean { - return this.countDatasLoaded === 5; + return this.countDatasLoaded === 7; } } diff --git a/Front/skydivelogs-app/src/models/stats.ts b/Front/skydivelogs-app/src/models/stats.ts index d39f6e1..0dd4e9c 100644 --- a/Front/skydivelogs-app/src/models/stats.ts +++ b/Front/skydivelogs-app/src/models/stats.ts @@ -6,6 +6,9 @@ export class StatsResp { public statsByGear: Observable>; public statsByJumpType: Observable>; public statsByYear: Observable>; + + public statsForLastYear: Observable; + public statsForLastMonth: Observable; } export class StatsByDzResp { @@ -48,3 +51,23 @@ export class StatsByYearResp { public label: string; public nb: number; } + + + +export class StatsForLastYearResp { + constructor(data: any) { + Object.assign(this, data); + } + + public byDz: Array; + public byJumpType: Array; +} + +export class StatsForLastMonthResp { + constructor(data: any) { + Object.assign(this, data); + } + + public byDz: Array; + public byJumpType: Array; +} diff --git a/Front/skydivelogs-app/src/services/stats.service.ts b/Front/skydivelogs-app/src/services/stats.service.ts index dc55360..d01e9b2 100644 --- a/Front/skydivelogs-app/src/services/stats.service.ts +++ b/Front/skydivelogs-app/src/services/stats.service.ts @@ -9,7 +9,9 @@ import { StatsByAircraftResp, StatsByJumpTypeResp, StatsByGearResp, - StatsByYearResp + StatsByYearResp, + StatsForLastMonthResp, + StatsForLastYearResp } from '../models/stats'; @Injectable() @@ -30,6 +32,9 @@ export class StatsService { resultats.statsByGear = this.getStatsByGear(); resultats.statsByYear = this.getStatsByYear(); + resultats.statsForLastYear = this.getStatsOfLastYear(); + resultats.statsForLastMonth = this.getStatsOfLastMonth(); + return resultats; } @@ -97,4 +102,32 @@ export class StatsService { }) ); } + + + private getStatsOfLastYear(): Observable { + return this.http.get( + `${environment.urlApi}/api/Stats/ForLastYear`, + { headers: this.headers } + ) + .pipe( + map(response => { + const stats = response.map(data => new StatsByDzResp(data)); + return stats; + }) + ); + } + + private getStatsOfLastMonth(): Observable { + return this.http.get( + `${environment.urlApi}/api/Stats/ForLastMonth`, + { headers: this.headers } + ) + .pipe( + map(response => { + const stats = response.map(data => new StatsByDzResp(data)); + return stats; + }) + ); + } + }