diff --git a/Back/skydiveLogs-api/Data/Jump.json b/Back/skydiveLogs-api/Data/Jump.json
index 0e9436d..a45f11f 100644
--- a/Back/skydiveLogs-api/Data/Jump.json
+++ b/Back/skydiveLogs-api/Data/Jump.json
@@ -1 +1 @@
-[{"Id":1,"JumpTypeId":1,"AircraftId":5,"DropZoneId":6,"GearId":8,"ExitAltitude":40001,"DeployAltitude":10002,"WithCutaway":true,"Notes":"","JumpDate":"0001-01-01T00:00:00"},{"Id":2,"JumpTypeId":1,"AircraftId":5,"DropZoneId":6,"GearId":8,"ExitAltitude":40001,"DeployAltitude":10002,"WithCutaway":true,"Notes":"","JumpDate":"0001-01-01T00:00:00"}]
\ No newline at end of file
+[{"Id":1,"JumpTypeId":1,"AircraftId":5,"DropZoneId":6,"GearId":8,"ExitAltitude":40001,"DeployAltitude":10002,"WithCutaway":true,"Notes":"","JumpDate":"0001-01-01T00:00:00"},{"Id":2,"JumpTypeId":1,"AircraftId":5,"DropZoneId":6,"GearId":8,"ExitAltitude":40001,"DeployAltitude":10002,"WithCutaway":true,"Notes":"","JumpDate":"0001-01-01T00:00:00"},{"Id":3,"JumpTypeId":1,"AircraftId":4,"DropZoneId":6,"GearId":8,"ExitAltitude":4000,"DeployAltitude":1000,"WithCutaway":false,"Notes":"","JumpDate":"2019-10-31T23:00:00Z"},{"Id":4,"JumpTypeId":1,"AircraftId":4,"DropZoneId":6,"GearId":8,"ExitAltitude":4000,"DeployAltitude":1000,"WithCutaway":false,"Notes":"","JumpDate":"2019-10-29T23:00:00Z"}]
\ No newline at end of file
diff --git a/Front/skydivelogs-app/src/app/new-jump/new-jump.component.html b/Front/skydivelogs-app/src/app/new-jump/new-jump.component.html
index a24e0ba..386e8fa 100644
--- a/Front/skydivelogs-app/src/app/new-jump/new-jump.component.html
+++ b/Front/skydivelogs-app/src/app/new-jump/new-jump.component.html
@@ -34,11 +34,18 @@
With a cutaway ?
+
+
+
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 2a622d1..19ed0f4 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
@@ -24,6 +24,11 @@ export class NewJumpComponent implements OnInit {
constructor(private serviceComm: ServiceComm,
private serviceApiGet: ServiceApiGet,
private serviceApiPost: ServiceApiPost) {
+ }
+
+ ngOnInit() {
+ this.serviceComm.updatedComponentTitle('Add a new jump');
+
this.beginDate = new Date();
this.endDate = new Date();
@@ -32,12 +37,8 @@ export class NewJumpComponent implements OnInit {
this.countOfJumps = 0;
}
- ngOnInit() {
- this.serviceComm.updatedComponentTitle('Add a new jump');
- }
-
onFormSubmit() {
- this.serviceApiPost.AddJump(
+ this.serviceApiPost.AddListOfJump(
this.selectedJumpType,
this.selectedAircraft,
this.selectedDz,
diff --git a/Front/skydivelogs-app/src/models/jump.ts b/Front/skydivelogs-app/src/models/jump.ts
index 80a7a7d..45ee0ed 100644
--- a/Front/skydivelogs-app/src/models/jump.ts
+++ b/Front/skydivelogs-app/src/models/jump.ts
@@ -12,6 +12,7 @@ export class JumpReq {
public deployAltitude: number;
public withCutaway: boolean;
public notes: string;
+ public jumpDate: Date;
}
export class JumpResp {
@@ -28,4 +29,5 @@ export class JumpResp {
public deployAltitude: number;
public withCutaway: boolean;
public notes: string;
+ public jumpDate: Date;
}
diff --git a/Front/skydivelogs-app/src/services/serviceApiPost.ts b/Front/skydivelogs-app/src/services/serviceApiPost.ts
index e242610..12ba2f7 100644
--- a/Front/skydivelogs-app/src/services/serviceApiPost.ts
+++ b/Front/skydivelogs-app/src/services/serviceApiPost.ts
@@ -1,13 +1,7 @@
import { Injectable } from '@angular/core';
import { HttpClient, HttpHeaders } from '@angular/common/http';
-import { Observable } from 'rxjs';
-import { map } from 'rxjs/operators';
-import { DropZoneResp } from '../models/dropzone';
-import { JumpResp, JumpReq } from '../models/jump';
-import { AircraftResp } from '../models/aircraft';
-import { JumpTypeResp } from '../models/jumpType';
-import { StatsResp, StatsByDzResp, StatsByAircraftResp, StatsByJumpTypeResp, StatsByRigResp, StatsByYearResp } from '../models/statsresp';
+import { JumpReq } from '../models/jump';
@Injectable()
@@ -17,9 +11,39 @@ export class ServiceApiPost {
});
constructor(private http: HttpClient) { }
+ public AddJumps(selectedJumpType: number,
+ selectedAircraft: number,
+ selectedDz: number,
+ selectedRig: number,
+ withCutaway: boolean,
+ jumpDate: Date,
+ defaultExitAltitude: number,
+ defaultDeployAltitude: number,
+ countOfJumps: number) {
+ for (let i = 0; i < countOfJumps; i++) {
+ const bodyNewjump: JumpReq = {
+ jumpTypeId: selectedJumpType,
+ aircraftId: selectedAircraft,
+ dropZoneId: selectedDz,
+ withCutaway: withCutaway,
+ exitAltitude: defaultExitAltitude,
+ deployAltitude: defaultDeployAltitude,
+ gearId: selectedRig,
+ notes: '',
+ id: 0,
+ jumpDate: jumpDate
+ };
- public AddJump(selectedJumpType: number,
+ console.log(bodyNewjump.jumpDate);
+ // this.http.post('http://localhost:5000/api/Jump',
+ // bodyNewjump,
+ // { headers: this.headers })
+ // .subscribe(data => console.log(data));
+ }
+ }
+
+ public AddListOfJump(selectedJumpType: number,
selectedAircraft: number,
selectedDz: number,
selectedRig: number,
@@ -30,24 +54,39 @@ export class ServiceApiPost {
defaultDeployAltitude: number,
countOfJumps: number) {
- const bodyNewjump: JumpReq = {
- jumpTypeId: selectedJumpType,
- aircraftId: selectedAircraft,
- dropZoneId: selectedDz,
- withCutaway: withCutaway,
- //beginDate: beginDate,
- //endDate: endDate,
- exitAltitude: defaultExitAltitude,
- deployAltitude: defaultDeployAltitude,
- //countOfJumps: countOfJumps
- gearId: selectedRig,
- notes: '',
- id: 0
- };
+ const diffInTime = endDate.getTime() - beginDate.getTime();
+ const diffInDays = Math.round(diffInTime / (1000 * 3600 * 24));
- this.http.post('http://localhost:5000/api/Jump',
- bodyNewjump,
- { headers: this.headers })
- .subscribe(data => console.log(data));
+ const countOfJumpsPerDay = Math.trunc(countOfJumps / diffInDays);
+ let temp: Date = beginDate;
+ for (let i = 1; temp.getDate() < endDate.getDate(); i++) {
+
+ this.AddJumps(
+ selectedJumpType,
+ selectedAircraft,
+ selectedDz,
+ selectedRig,
+ withCutaway,
+ temp,
+ defaultExitAltitude,
+ defaultDeployAltitude,
+ countOfJumpsPerDay
+ );
+
+ temp.setDate(temp.getDate() + 1);
+ }
+
+ const restfJumps = countOfJumps - (countOfJumpsPerDay * (diffInDays - 1));
+ this.AddJumps(
+ selectedJumpType,
+ selectedAircraft,
+ selectedDz,
+ selectedRig,
+ withCutaway,
+ beginDate,
+ defaultExitAltitude,
+ defaultDeployAltitude,
+ restfJumps
+ );
}
}