From e6f0edebf585badf593bd22d208e88bfa044d046 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Andr=C3=A9?= Date: Tue, 3 Mar 2020 15:08:30 +0100 Subject: [PATCH 1/5] Un peu de style --- .../src/app/summary/summary.component.css | 7 ++++++- .../src/app/summary/summary.component.html | 16 +++++++++------- 2 files changed, 15 insertions(+), 8 deletions(-) diff --git a/Front/skydivelogs-app/src/app/summary/summary.component.css b/Front/skydivelogs-app/src/app/summary/summary.component.css index 1003f9d..bda661c 100644 --- a/Front/skydivelogs-app/src/app/summary/summary.component.css +++ b/Front/skydivelogs-app/src/app/summary/summary.component.css @@ -3,8 +3,13 @@ } .labelTab { - margin: 5px; + padding: 5px; cursor: pointer; text-decoration: underline; font-weight: bold; + background-color: lightgray; +} + +.labelTab.selected { + background-color: gray !important; } diff --git a/Front/skydivelogs-app/src/app/summary/summary.component.html b/Front/skydivelogs-app/src/app/summary/summary.component.html index 991d514..c078cba 100644 --- a/Front/skydivelogs-app/src/app/summary/summary.component.html +++ b/Front/skydivelogs-app/src/app/summary/summary.component.html @@ -14,13 +14,15 @@
- - - - - - - + + + + + + +
From 6a5e9020d55badc0e01c583e48ac0620688bc244 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Andr=C3=A9?= Date: Tue, 3 Mar 2020 15:45:36 +0100 Subject: [PATCH 2/5] Add an action to retrieve un simple summary with the total of jumps and the last jump --- .../Interface/IStatsService.cs | 2 ++ Back/skydiveLogs-api.Business/StatsService.cs | 14 ++++++++++++++ Back/skydiveLogs-api.Model/SimpleSummary.cs | 11 +++++++++++ Back/skydiveLogs-api.Model/Statistic.cs | 6 +----- .../skydiveLogs-api/Controllers/StatsController.cs | 9 +++++++++ .../DataContract/SimpleSummaryResp.cs | 11 +++++++++++ Back/skydiveLogs-api/Mapper/ModelProfile.cs | 2 ++ 7 files changed, 50 insertions(+), 5 deletions(-) create mode 100644 Back/skydiveLogs-api.Model/SimpleSummary.cs create mode 100644 Back/skydiveLogs-api/DataContract/SimpleSummaryResp.cs diff --git a/Back/skydiveLogs-api.Business/Interface/IStatsService.cs b/Back/skydiveLogs-api.Business/Interface/IStatsService.cs index 2f23af2..2b20d23 100644 --- a/Back/skydiveLogs-api.Business/Interface/IStatsService.cs +++ b/Back/skydiveLogs-api.Business/Interface/IStatsService.cs @@ -22,5 +22,7 @@ namespace skydiveLogs_api.Business.Interface IEnumerable GetStatsForLastMonthByDz(); IEnumerable GetStatsForLastMonthByJumpType(); + + SimpleSummary GetSimpleSummary(); } } diff --git a/Back/skydiveLogs-api.Business/StatsService.cs b/Back/skydiveLogs-api.Business/StatsService.cs index 1475135..3173042 100644 --- a/Back/skydiveLogs-api.Business/StatsService.cs +++ b/Back/skydiveLogs-api.Business/StatsService.cs @@ -159,6 +159,20 @@ namespace skydiveLogs_api.Business .ToList(); } + public SimpleSummary GetSimpleSummary() + { + var allJumps = _jumpRepository.GetAll(); + + var lastJump = allJumps.OrderByDescending(j => j.JumpDate).FirstOrDefault(); + + return new SimpleSummary + { + LastJump = lastJump, + TotalJumps = allJumps.Count(), + TotalCutaway = allJumps.Where(j => j.WithCutaway).Count() + }; + } + private readonly IJumpRepository _jumpRepository; } } diff --git a/Back/skydiveLogs-api.Model/SimpleSummary.cs b/Back/skydiveLogs-api.Model/SimpleSummary.cs new file mode 100644 index 0000000..0e74190 --- /dev/null +++ b/Back/skydiveLogs-api.Model/SimpleSummary.cs @@ -0,0 +1,11 @@ +namespace skydiveLogs_api.Model +{ + public class SimpleSummary + { + public int TotalJumps { get; set; } + + public int TotalCutaway { get; set; } + + public Jump LastJump { get; set; } + } +} diff --git a/Back/skydiveLogs-api.Model/Statistic.cs b/Back/skydiveLogs-api.Model/Statistic.cs index 197b4aa..7aacd02 100644 --- a/Back/skydiveLogs-api.Model/Statistic.cs +++ b/Back/skydiveLogs-api.Model/Statistic.cs @@ -1,8 +1,4 @@ -using System; -using System.Collections.Generic; -using System.Text; - -namespace skydiveLogs_api.Model +namespace skydiveLogs_api.Model { public class Statistic { diff --git a/Back/skydiveLogs-api/Controllers/StatsController.cs b/Back/skydiveLogs-api/Controllers/StatsController.cs index a7c1780..f831730 100644 --- a/Back/skydiveLogs-api/Controllers/StatsController.cs +++ b/Back/skydiveLogs-api/Controllers/StatsController.cs @@ -21,6 +21,15 @@ namespace skydiveLogs_api.Controllers _mapper = mapper; } + [HttpGet("Simple")] + [EnableCors] + public SimpleSummaryResp Simple() + { + var result = _statsService.GetSimpleSummary(); + + return _mapper.Map(result); + } + [HttpGet("ByDz")] [EnableCors] public IEnumerable ByDz() diff --git a/Back/skydiveLogs-api/DataContract/SimpleSummaryResp.cs b/Back/skydiveLogs-api/DataContract/SimpleSummaryResp.cs new file mode 100644 index 0000000..d52674e --- /dev/null +++ b/Back/skydiveLogs-api/DataContract/SimpleSummaryResp.cs @@ -0,0 +1,11 @@ +namespace skydiveLogs_api.DataContract +{ + public class SimpleSummaryResp + { + public int TotalJumps { get; set; } + + public int TotalCutaway { get; set; } + + public JumpResp LastJump { get; set; } + } +} diff --git a/Back/skydiveLogs-api/Mapper/ModelProfile.cs b/Back/skydiveLogs-api/Mapper/ModelProfile.cs index 0e99c05..68f60f2 100644 --- a/Back/skydiveLogs-api/Mapper/ModelProfile.cs +++ b/Back/skydiveLogs-api/Mapper/ModelProfile.cs @@ -18,6 +18,8 @@ namespace skydiveLogs_api.Mapper CreateMap(); CreateMap(); CreateMap(); + + CreateMap(); } } } From 3363a72323ae5fec7c0e28a0017d78e7eacf4e4f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Andr=C3=A9?= Date: Tue, 3 Mar 2020 15:57:35 +0100 Subject: [PATCH 3/5] Fix on property name --- Back/skydiveLogs-api.Model/SimpleSummary.cs | 2 +- Back/skydiveLogs-api/DataContract/SimpleSummaryResp.cs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Back/skydiveLogs-api.Model/SimpleSummary.cs b/Back/skydiveLogs-api.Model/SimpleSummary.cs index 0e74190..39459e8 100644 --- a/Back/skydiveLogs-api.Model/SimpleSummary.cs +++ b/Back/skydiveLogs-api.Model/SimpleSummary.cs @@ -4,7 +4,7 @@ { public int TotalJumps { get; set; } - public int TotalCutaway { get; set; } + public int TotalCutaways { get; set; } public Jump LastJump { get; set; } } diff --git a/Back/skydiveLogs-api/DataContract/SimpleSummaryResp.cs b/Back/skydiveLogs-api/DataContract/SimpleSummaryResp.cs index d52674e..4329148 100644 --- a/Back/skydiveLogs-api/DataContract/SimpleSummaryResp.cs +++ b/Back/skydiveLogs-api/DataContract/SimpleSummaryResp.cs @@ -4,7 +4,7 @@ { public int TotalJumps { get; set; } - public int TotalCutaway { get; set; } + public int TotalCutaways { get; set; } public JumpResp LastJump { get; set; } } From 63f801d37b1a62eb4f8bd1c1c569c3af792cad1b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Andr=C3=A9?= Date: Tue, 3 Mar 2020 15:58:32 +0100 Subject: [PATCH 4/5] =?UTF-8?q?=C3=89vol=20pour=20afficher=20le=20total=20?= =?UTF-8?q?de=20sauts=20et=201-2=20infos=20sur=20le=20dernier=20saut?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/app/summary/summary.component.html | 12 +++---- .../src/app/summary/summary.component.ts | 18 +++++++--- Front/skydivelogs-app/src/models/stats.ts | 15 ++++++++ .../src/services/stats.service.ts | 34 ++++++++++++++----- 4 files changed, 60 insertions(+), 19 deletions(-) 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`, { From ef68c8cb48e54eea2f8971f190c2b996b7920be5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Andr=C3=A9?= Date: Tue, 3 Mar 2020 15:59:05 +0100 Subject: [PATCH 5/5] Fix --- Back/skydiveLogs-api.Business/StatsService.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Back/skydiveLogs-api.Business/StatsService.cs b/Back/skydiveLogs-api.Business/StatsService.cs index 3173042..af6e597 100644 --- a/Back/skydiveLogs-api.Business/StatsService.cs +++ b/Back/skydiveLogs-api.Business/StatsService.cs @@ -169,7 +169,7 @@ namespace skydiveLogs_api.Business { LastJump = lastJump, TotalJumps = allJumps.Count(), - TotalCutaway = allJumps.Where(j => j.WithCutaway).Count() + TotalCutaways = allJumps.Where(j => j.WithCutaway).Count() }; }