diff --git a/Back/skydiveLogs-api/Data/JumpsDb-log.db b/Back/skydiveLogs-api/Data/JumpsDb-log.db
index 3653299..c473c06 100644
Binary files a/Back/skydiveLogs-api/Data/JumpsDb-log.db and b/Back/skydiveLogs-api/Data/JumpsDb-log.db differ
diff --git a/Front/skydivelogs-app/src/app/new-jump/new-jump.component.ts b/Front/skydivelogs-app/src/app/new-jump/new-jump.component.ts
index 6d62579..64e4ba2 100644
--- a/Front/skydivelogs-app/src/app/new-jump/new-jump.component.ts
+++ b/Front/skydivelogs-app/src/app/new-jump/new-jump.component.ts
@@ -43,10 +43,10 @@ export class NewJumpComponent implements OnInit {
private serviceDropzone: DropzoneService,
private serviceGear: GearService,
private dateService: DateService
- ) { }
+ ) {}
ngOnInit() {
- this.serviceComm.UpdatedComponentTitle('Add a new jump');
+ this.serviceComm.UpdatedComponentTitle("Add a new jump");
this.endDate = new Date();
this.beginDate = this.dateService.AddDays(new Date(), -1);
@@ -126,8 +126,8 @@ export class NewJumpComponent implements OnInit {
return data ? data.name : undefined;
}
- public onChangeDz(event: DropZoneResp) {
- const filterValue = event.name.toLowerCase();
+ public onChangeDz(event: string) {
+ const filterValue = event.toLowerCase();
this.listOfFilteredDropZone = this.listOfDropZone;
this.listOfFilteredDropZone = this.listOfFilteredDropZone.filter(option =>
diff --git a/Front/skydivelogs-app/src/app/summary/summary.component.html b/Front/skydivelogs-app/src/app/summary/summary.component.html
index e51c644..fdfddcb 100644
--- a/Front/skydivelogs-app/src/app/summary/summary.component.html
+++ b/Front/skydivelogs-app/src/app/summary/summary.component.html
@@ -15,10 +15,50 @@
+
+
+ | {{element.label}} |
+
+
+ {{element.nb}} |
+
+
+
+
+
+
+ | {{element.label}} |
+
+
+ {{element.nb}} |
+
+
+
+
+
+
+ | {{element.label}} |
+
+
+ {{element.nb}} |
+
+
+
+
+
+
+ | {{element.label}} |
+
+
+ {{element.nb}} |
+
+
+
+
diff --git a/Front/skydivelogs-app/src/app/summary/summary.component.ts b/Front/skydivelogs-app/src/app/summary/summary.component.ts
index 6d0a724..448d175 100644
--- a/Front/skydivelogs-app/src/app/summary/summary.component.ts
+++ b/Front/skydivelogs-app/src/app/summary/summary.component.ts
@@ -1,30 +1,42 @@
-import { Component, OnInit } from '@angular/core';
-import { MatTableDataSource } from '@angular/material/table';
-import { ServiceComm } from '../../services/service-comm.service';
-import { StatsService } from '../../services/stats.service';
+import { Component, OnInit } from "@angular/core";
+import { MatTableDataSource } from "@angular/material/table";
+import { ServiceComm } from "../../services/service-comm.service";
+import { StatsService } from "../../services/stats.service";
+import {
+ StatsByDzResp,
+ StatsByAircraftResp,
+ StatsByGearResp,
+ StatsByJumpTypeResp,
+ StatsByYearResp
+} from "../../models/stats";
@Component({
- selector: 'app-summary',
- templateUrl: './summary.component.html',
- styleUrls: ['./summary.component.css']
+ selector: "app-summary",
+ templateUrl: "./summary.component.html",
+ styleUrls: ["./summary.component.css"]
})
export class SummaryComponent implements OnInit {
- public displayedColumns: Array
= ['label', 'nb'];
- public dsNbJumpByDz;
- public dsNbJumpByAircraft;
- public dsNbJumpByGear;
- public dsNbJumpByType;
- public dsNbJumpByYear;
+ public dsNbJumpByDz: MatTableDataSource;
+ public dsNbJumpByAircraft: MatTableDataSource;
+ public dsNbJumpByGear: MatTableDataSource;
+ public dsNbJumpByType: MatTableDataSource;
+ public dsNbJumpByYear: MatTableDataSource;
+ public dsJumpForLastYearByDz: MatTableDataSource;
+ public dsJumpForLastYearByJumpType: MatTableDataSource;
+ public dsJumpForLastMonthByDz: MatTableDataSource;
+ public dsJumpForLastMonthByJumpType: MatTableDataSource;
+
private countDatasLoaded: number;
+ public displayedColumns: Array = ["label", "nb"];
constructor(
private serviceApi: StatsService,
private serviceComm: ServiceComm
- ) { }
+ ) {}
ngOnInit() {
this.countDatasLoaded = 0;
- this.serviceComm.UpdatedComponentTitle('Summary');
+ this.serviceComm.UpdatedComponentTitle("Summary");
const statsResult = this.serviceApi.getStatsOfJumps();
@@ -50,11 +62,17 @@ export class SummaryComponent implements OnInit {
});
statsResult.statsForLastYear.subscribe(data => {
- this.dsNbJumpByYear = new MatTableDataSource(data);
+ this.dsJumpForLastYearByDz = new MatTableDataSource(data.byDz);
+ this.dsJumpForLastYearByJumpType = new MatTableDataSource(
+ data.byJumpType
+ );
this.countDatasLoaded++;
});
statsResult.statsForLastMonth.subscribe(data => {
- this.dsNbJumpByYear = new MatTableDataSource(data);
+ this.dsJumpForLastMonthByDz = new MatTableDataSource(data.byDz);
+ this.dsJumpForLastMonthByJumpType = new MatTableDataSource(
+ data.byJumpType
+ );
this.countDatasLoaded++;
});
}
diff --git a/Front/skydivelogs-app/src/models/stats.ts b/Front/skydivelogs-app/src/models/stats.ts
index 0dd4e9c..f04aa4a 100644
--- a/Front/skydivelogs-app/src/models/stats.ts
+++ b/Front/skydivelogs-app/src/models/stats.ts
@@ -1,4 +1,4 @@
-import { Observable } from 'rxjs';
+import { Observable } from "rxjs";
export class StatsResp {
public statsByDz: Observable>;
@@ -19,6 +19,7 @@ export class StatsByDzResp {
public label: string;
public nb: number;
}
+
export class StatsByAircraftResp {
constructor(data: any) {
Object.assign(this, data);
@@ -27,6 +28,7 @@ export class StatsByAircraftResp {
public label: string;
public nb: number;
}
+
export class StatsByGearResp {
constructor(data: any) {
Object.assign(this, data);
@@ -35,6 +37,7 @@ export class StatsByGearResp {
public label: string;
public nb: number;
}
+
export class StatsByJumpTypeResp {
constructor(data: any) {
Object.assign(this, data);
@@ -43,6 +46,7 @@ export class StatsByJumpTypeResp {
public label: string;
public nb: number;
}
+
export class StatsByYearResp {
constructor(data: any) {
Object.assign(this, data);
@@ -52,11 +56,16 @@ export class StatsByYearResp {
public nb: number;
}
-
-
export class StatsForLastYearResp {
- constructor(data: any) {
- Object.assign(this, data);
+ constructor(
+ dataByDz: Array,
+ dataByJumpType: Array
+ ) {
+ this.byDz = new Array();
+ this.byJumpType = new Array();
+
+ Object.assign(this.byDz, dataByDz);
+ Object.assign(this.byJumpType, dataByJumpType);
}
public byDz: Array;
@@ -64,8 +73,15 @@ export class StatsForLastYearResp {
}
export class StatsForLastMonthResp {
- constructor(data: any) {
- Object.assign(this, data);
+ constructor(
+ dataByDz: Array,
+ dataByJumpType: Array
+ ) {
+ this.byDz = new Array();
+ this.byJumpType = new Array();
+
+ Object.assign(this.byDz, dataByDz);
+ Object.assign(this.byJumpType, dataByJumpType);
}
public byDz: Array;
diff --git a/Front/skydivelogs-app/src/services/stats.service.ts b/Front/skydivelogs-app/src/services/stats.service.ts
index d01e9b2..f807f2c 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,
@@ -12,16 +12,15 @@ import {
StatsByYearResp,
StatsForLastMonthResp,
StatsForLastYearResp
-} from '../models/stats';
+} 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();
@@ -39,10 +38,10 @@ export class StatsService {
}
private getStatsByDz(): Observable> {
- return this.http.get>(
- `${environment.urlApi}/api/Stats/ByDz`,
- { headers: this.headers }
- )
+ return this.http
+ .get>(`${environment.urlApi}/api/Stats/ByDz`, {
+ headers: this.headers
+ })
.pipe(
map(response => {
const stats = response.map(data => new StatsByDzResp(data));
@@ -52,10 +51,11 @@ export class StatsService {
}
private getStatsByAircraft(): Observable> {
- return this.http.get>(
- `${environment.urlApi}/api/Stats/ByAircraft`,
- { headers: this.headers }
- )
+ return this.http
+ .get>(
+ `${environment.urlApi}/api/Stats/ByAircraft`,
+ { headers: this.headers }
+ )
.pipe(
map(response => {
const stats = response.map(data => new StatsByAircraftResp(data));
@@ -65,10 +65,11 @@ export class StatsService {
}
private getStatsByJumpType(): Observable> {
- return this.http.get>(
- `${environment.urlApi}/api/Stats/ByJumpType`,
- { headers: this.headers }
- )
+ return this.http
+ .get>(
+ `${environment.urlApi}/api/Stats/ByJumpType`,
+ { headers: this.headers }
+ )
.pipe(
map(response => {
const stats = response.map(data => new StatsByJumpTypeResp(data));
@@ -78,10 +79,10 @@ export class StatsService {
}
private getStatsByGear(): Observable> {
- return this.http.get>(
- `${environment.urlApi}/api/Stats/ByGear`,
- { headers: this.headers }
- )
+ return this.http
+ .get>(`${environment.urlApi}/api/Stats/ByGear`, {
+ headers: this.headers
+ })
.pipe(
map(response => {
const stats = response.map(data => new StatsByGearResp(data));
@@ -91,10 +92,10 @@ export class StatsService {
}
private getStatsByYear(): Observable> {
- return this.http.get>(
- `${environment.urlApi}/api/Stats/ByYear`,
- { headers: this.headers }
- )
+ return this.http
+ .get>(`${environment.urlApi}/api/Stats/ByYear`, {
+ headers: this.headers
+ })
.pipe(
map(response => {
const stats = response.map(data => new StatsByYearResp(data));
@@ -103,31 +104,39 @@ export class StatsService {
);
}
-
private getStatsOfLastYear(): Observable {
- return this.http.get(
- `${environment.urlApi}/api/Stats/ForLastYear`,
- { headers: this.headers }
- )
+ 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;
+ const statsByDz = response.byDz.map(data => new StatsByDzResp(data));
+ const statsByJumpType = response.byJumpType.map(
+ data => new StatsByDzResp(data)
+ );
+
+ return new StatsForLastYearResp(statsByDz, statsByJumpType);
})
);
}
private getStatsOfLastMonth(): Observable {
- return this.http.get(
- `${environment.urlApi}/api/Stats/ForLastMonth`,
- { headers: this.headers }
- )
+ 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;
+ const statsByDz = response.byDz.map(data => new StatsByDzResp(data));
+ const statsByJumpType = response.byJumpType.map(
+ data => new StatsByDzResp(data)
+ );
+
+ return new StatsForLastMonthResp(statsByDz, statsByJumpType);
})
);
}
-
}