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 + ); } }