Move the equipment into the Jump.
This commit is contained in:
@@ -90,19 +90,6 @@
|
||||
/>
|
||||
</mat-form-field>
|
||||
</p>
|
||||
<p>
|
||||
<mat-form-field>
|
||||
<input
|
||||
type="text"
|
||||
matInput
|
||||
placeholder="equipment"
|
||||
name="equipment"
|
||||
[(ngModel)]="gear.equipment"
|
||||
name="equipment"
|
||||
type="text"
|
||||
/>
|
||||
</mat-form-field>
|
||||
</p>
|
||||
<br />
|
||||
@if (editMode) {
|
||||
<button mat-raised-button color="accent">Update</button>
|
||||
|
||||
@@ -54,7 +54,6 @@ export class GearInfosComponent implements OnInit {
|
||||
this.gear.aad,
|
||||
this.gear.mainCanopy,
|
||||
this.gear.reserveCanopy,
|
||||
this.gear.equipment,
|
||||
)
|
||||
.subscribe(() => {
|
||||
this.serviceComm.refreshData(AddAction.Gear);
|
||||
|
||||
@@ -28,7 +28,19 @@
|
||||
type="text"
|
||||
></textarea>
|
||||
</mat-form-field>
|
||||
|
||||
<p>
|
||||
<mat-form-field>
|
||||
<input
|
||||
type="text"
|
||||
matInput
|
||||
placeholder="equipment"
|
||||
name="equipment"
|
||||
[(ngModel)]="jump.equipment"
|
||||
name="equipment"
|
||||
type="text"
|
||||
/>
|
||||
</mat-form-field>
|
||||
</p>
|
||||
<br />
|
||||
@if (editMode) {
|
||||
<button mat-raised-button color="accent">Update</button>
|
||||
|
||||
@@ -50,6 +50,7 @@ export class JumpInfosComponent implements OnInit {
|
||||
this.jump.isSpecial,
|
||||
this.jump.withCutaway,
|
||||
this.jump.notes,
|
||||
this.jump.equipment,
|
||||
)
|
||||
.subscribe(() => {
|
||||
this.serviceComm.refreshData(AddAction.Jump);
|
||||
|
||||
@@ -42,12 +42,6 @@
|
||||
<input matInput type="text" formControlName="reserveCanopy" />
|
||||
</mat-form-field>
|
||||
</p>
|
||||
<p>
|
||||
<mat-form-field>
|
||||
<mat-label>Equipment</mat-label>
|
||||
<input matInput type="text" formControlName="equipment" />
|
||||
</mat-form-field>
|
||||
</p>
|
||||
|
||||
<button mat-raised-button color="accent" type="submit">Add</button>
|
||||
</form>
|
||||
|
||||
@@ -60,11 +60,6 @@ export class NewGearComponent implements OnInit {
|
||||
Validators.min(60),
|
||||
Validators.max(320),
|
||||
]),
|
||||
equipment: new FormControl("RAS", [
|
||||
Validators.required,
|
||||
Validators.min(60),
|
||||
Validators.max(320),
|
||||
]),
|
||||
},
|
||||
{ updateOn: "blur" },
|
||||
);
|
||||
@@ -90,7 +85,6 @@ export class NewGearComponent implements OnInit {
|
||||
formData.aad,
|
||||
formData.mainCanopy,
|
||||
formData.reserveCanopy,
|
||||
formData.equipment,
|
||||
)
|
||||
.subscribe(() => {
|
||||
this.serviceComm.refreshData(AddAction.Gear);
|
||||
|
||||
@@ -137,8 +137,7 @@
|
||||
>
|
||||
@for (gear of listOfGear; track gear) {
|
||||
<mat-option [value]="gear">
|
||||
{{ gear.name }} ({{ gear.mainCanopy }} -
|
||||
{{ gear.equipment }})
|
||||
{{ gear.name }} ({{ gear.mainCanopy }})
|
||||
</mat-option>
|
||||
}
|
||||
</mat-autocomplete>
|
||||
@@ -153,6 +152,25 @@
|
||||
</button>
|
||||
}
|
||||
</mat-form-field>
|
||||
<mat-form-field>
|
||||
<input
|
||||
matInput
|
||||
placeholder="{{ 'NewJump_Equipment' | translate }}"
|
||||
[(ngModel)]="equipment"
|
||||
name="equipment"
|
||||
type="text"
|
||||
/>
|
||||
@if (exitAltitude) {
|
||||
<button
|
||||
matSuffix
|
||||
mat-icon-button
|
||||
aria-label="Clear"
|
||||
(click)="equipment = undefined"
|
||||
>
|
||||
<mat-icon svgIcon="close"></mat-icon>
|
||||
</button>
|
||||
}
|
||||
</mat-form-field>
|
||||
<mat-checkbox [(ngModel)]="withCutaway" name="withCutaway">{{
|
||||
"NewJump_Cutaway" | translate
|
||||
}}</mat-checkbox>
|
||||
|
||||
@@ -96,6 +96,7 @@ export class NewJumpComponent implements OnInit {
|
||||
private pendingAddRequest: boolean;
|
||||
private listOfDropZone: Array<DropZoneResp>;
|
||||
public maxDate: Date;
|
||||
public equipment: string;
|
||||
|
||||
constructor(
|
||||
private serviceComm: ServiceComm,
|
||||
@@ -142,10 +143,12 @@ export class NewJumpComponent implements OnInit {
|
||||
this.countOfJumps,
|
||||
this.comments,
|
||||
this.isSpecial === undefined ? false : this.isSpecial,
|
||||
this.equipment,
|
||||
)
|
||||
.subscribe(() => {
|
||||
this.statsService.resetStats();
|
||||
this.comments = undefined;
|
||||
this.equipment = undefined;
|
||||
this.withCutaway = false;
|
||||
this.isSpecial = false;
|
||||
|
||||
@@ -233,6 +236,7 @@ export class NewJumpComponent implements OnInit {
|
||||
|
||||
this.listOfFilteredDropZone = this.listOfDropZone;
|
||||
this.comments = undefined;
|
||||
this.equipment = undefined;
|
||||
|
||||
this.withCutaway = false;
|
||||
this.isSpecial = false;
|
||||
|
||||
@@ -99,6 +99,7 @@ export class SummaryComponent implements OnInit {
|
||||
}
|
||||
|
||||
public refreshStats() {
|
||||
this.serviceApi.resetStats();
|
||||
this.serviceApi.deleteAllCache();
|
||||
this.tabGroup.selectedIndex = 0;
|
||||
}
|
||||
|
||||
@@ -69,7 +69,6 @@
|
||||
"ListGears_Header_Aad": "AAD system",
|
||||
"ListGears_Header_Main": "Main canopy",
|
||||
"ListGears_Header_Reserve": "Reserve canopy",
|
||||
"ListGears_Header_Equipment": "Equipment",
|
||||
|
||||
"ListJumpType_Add": "Add a jump type",
|
||||
"ListJumpType_Header_Id": "ID",
|
||||
@@ -121,6 +120,7 @@
|
||||
"NewJump_Count": "Count of jumps",
|
||||
"NewJump_Comments": "Comments",
|
||||
"NewJump_Submit": "Submit",
|
||||
"NewJump_Equipment": "Equipment",
|
||||
|
||||
"NewTunnelFlight_ChooseTunnel": "Choose the tunnel",
|
||||
"NewTunnelFlight_Minutes": "Minutes of the flight",
|
||||
|
||||
@@ -69,7 +69,6 @@
|
||||
"ListGears_Header_Aad": "Système de sécurité",
|
||||
"ListGears_Header_Main": "Principale",
|
||||
"ListGears_Header_Reserve": "Réserve",
|
||||
"ListGears_Header_Equipment": "Équipment",
|
||||
|
||||
"ListJumpType_Add": "Ajouter un type de saut",
|
||||
"ListJumpType_Header_Id": "ID",
|
||||
@@ -121,6 +120,7 @@
|
||||
"NewJump_Count": "Nombre de sauts",
|
||||
"NewJump_Comments": "Commentaires",
|
||||
"NewJump_Submit": "Ajouter",
|
||||
"NewJump_Equipment": "Équipment",
|
||||
|
||||
"NewTunnelFlight_ChooseTunnel": "Choisir le tunnel",
|
||||
"NewTunnelFlight_Minutes": "Temps de vol(minutes)",
|
||||
|
||||
@@ -11,7 +11,6 @@ export class GearReq {
|
||||
public aad: string;
|
||||
public mainCanopy: string;
|
||||
public reserveCanopy: string;
|
||||
public equipment: string;
|
||||
}
|
||||
|
||||
export class GearResp {
|
||||
@@ -27,5 +26,4 @@ export class GearResp {
|
||||
public aad: string;
|
||||
public mainCanopy: string;
|
||||
public reserveCanopy: string;
|
||||
public equipment: string;
|
||||
}
|
||||
|
||||
@@ -1,66 +1,69 @@
|
||||
import { GearResp } from './gear';
|
||||
import { DropZoneResp } from './dropzone';
|
||||
import { AircraftResp } from './aircraft';
|
||||
import { JumpTypeResp } from './jumpType';
|
||||
import { GearResp } from "./gear";
|
||||
import { DropZoneResp } from "./dropzone";
|
||||
import { AircraftResp } from "./aircraft";
|
||||
import { JumpTypeResp } from "./jumpType";
|
||||
|
||||
export class JumpReq {
|
||||
constructor(data: any) {
|
||||
Object.assign(this, data);
|
||||
}
|
||||
constructor(data: any) {
|
||||
Object.assign(this, data);
|
||||
}
|
||||
|
||||
public id: number;
|
||||
public jumpTypeId: number;
|
||||
public aircraftId: number;
|
||||
public dropZoneId: number;
|
||||
public gearId: number;
|
||||
public exitAltitude: number;
|
||||
public deployAltitude: number;
|
||||
public withCutaway: boolean;
|
||||
public notes: string;
|
||||
public jumpDate: string;
|
||||
public isSpecial: boolean;
|
||||
public id: number;
|
||||
public jumpTypeId: number;
|
||||
public aircraftId: number;
|
||||
public dropZoneId: number;
|
||||
public gearId: number;
|
||||
public exitAltitude: number;
|
||||
public deployAltitude: number;
|
||||
public withCutaway: boolean;
|
||||
public notes: string;
|
||||
public jumpDate: string;
|
||||
public isSpecial: boolean;
|
||||
public equipment: string;
|
||||
}
|
||||
|
||||
export class JumpResp {
|
||||
constructor(data: any) {
|
||||
Object.assign(this, data);
|
||||
this.jumpDate = new Date(data.jumpDate);
|
||||
}
|
||||
constructor(data: any) {
|
||||
Object.assign(this, data);
|
||||
this.jumpDate = new Date(data.jumpDate);
|
||||
}
|
||||
|
||||
public id: number;
|
||||
public jumpType: JumpTypeResp;
|
||||
public aircraft: AircraftResp;
|
||||
public dropZone: DropZoneResp;
|
||||
public gear: GearResp;
|
||||
public id: number;
|
||||
public jumpType: JumpTypeResp;
|
||||
public aircraft: AircraftResp;
|
||||
public dropZone: DropZoneResp;
|
||||
public gear: GearResp;
|
||||
|
||||
public jumpTypeId: number;
|
||||
public aircraftId: number;
|
||||
public dropZoneId: number;
|
||||
public gearId: number;
|
||||
public jumpTypeId: number;
|
||||
public aircraftId: number;
|
||||
public dropZoneId: number;
|
||||
public gearId: number;
|
||||
|
||||
public exitAltitude: number;
|
||||
public deployAltitude: number;
|
||||
public withCutaway: boolean;
|
||||
public notes: string;
|
||||
public jumpDate: Date;
|
||||
public isSpecial: boolean;
|
||||
public exitAltitude: number;
|
||||
public deployAltitude: number;
|
||||
public withCutaway: boolean;
|
||||
public notes: string;
|
||||
public jumpDate: Date;
|
||||
public isSpecial: boolean;
|
||||
public equipment: string;
|
||||
}
|
||||
|
||||
export class Jump {
|
||||
constructor(data: any) {
|
||||
Object.assign(this, data);
|
||||
this.jumpDate = new Date(data.jumpDate);
|
||||
}
|
||||
constructor(data: any) {
|
||||
Object.assign(this, data);
|
||||
this.jumpDate = new Date(data.jumpDate);
|
||||
}
|
||||
|
||||
public id: number;
|
||||
public jumpType: JumpTypeResp;
|
||||
public aircraft: AircraftResp;
|
||||
public dropZone: DropZoneResp;
|
||||
public gear: GearResp;
|
||||
public exitAltitude: number;
|
||||
public deployAltitude: number;
|
||||
public withCutaway: boolean;
|
||||
public notes: string;
|
||||
public jumpDate: Date;
|
||||
public isSpecial: boolean;
|
||||
public id: number;
|
||||
public jumpType: JumpTypeResp;
|
||||
public aircraft: AircraftResp;
|
||||
public dropZone: DropZoneResp;
|
||||
public gear: GearResp;
|
||||
public exitAltitude: number;
|
||||
public deployAltitude: number;
|
||||
public withCutaway: boolean;
|
||||
public notes: string;
|
||||
public jumpDate: Date;
|
||||
public isSpecial: boolean;
|
||||
public equipment: string;
|
||||
}
|
||||
@@ -32,7 +32,6 @@ export class GearService extends BaseService {
|
||||
aad: string,
|
||||
mainCanopy: string,
|
||||
reserveCanopy: string,
|
||||
equipment: string,
|
||||
) {
|
||||
const bodyNewGear: GearReq = {
|
||||
id: 0,
|
||||
@@ -43,7 +42,6 @@ export class GearService extends BaseService {
|
||||
aad: aad,
|
||||
mainCanopy: mainCanopy,
|
||||
reserveCanopy: reserveCanopy,
|
||||
equipment: equipment,
|
||||
};
|
||||
|
||||
this.serviceCacheApi.delete(CacheApiKey.Gear);
|
||||
@@ -75,7 +73,6 @@ export class GearService extends BaseService {
|
||||
aad: string,
|
||||
mainCanopy: string,
|
||||
reserveCanopy: string,
|
||||
equipment: string,
|
||||
) {
|
||||
const gearData = {
|
||||
id: id,
|
||||
@@ -86,10 +83,10 @@ export class GearService extends BaseService {
|
||||
aad: aad,
|
||||
mainCanopy: mainCanopy,
|
||||
reserveCanopy: reserveCanopy,
|
||||
equipment: equipment,
|
||||
};
|
||||
const bodyUpdatedGear = new GearReq(gearData);
|
||||
|
||||
this.serviceCacheApi.delete(CacheApiKey.Gear);
|
||||
return this.http.put(`${this.apiUrl}/Gear/${id}`, bodyUpdatedGear, {
|
||||
headers: this.headers,
|
||||
});
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { Injectable } from "@angular/core";
|
||||
import { HttpClient } from "@angular/common/http";
|
||||
import { DatePipe } from '@angular/common';
|
||||
import { DatePipe } from "@angular/common";
|
||||
import { forkJoin, Observable } from "rxjs";
|
||||
import { map } from "rxjs/operators";
|
||||
|
||||
@@ -20,158 +20,204 @@ import { GearService } from "./gear.service";
|
||||
|
||||
@Injectable()
|
||||
export class JumpService extends BaseService {
|
||||
private callsToAdd: Array<Observable<any>>;
|
||||
private callsToAdd: Array<Observable<any>>;
|
||||
|
||||
constructor(private http: HttpClient,
|
||||
private dateService: DateService,
|
||||
private datePipe: DatePipe,
|
||||
private dropzoneService: DropzoneService,
|
||||
private aircraftService: AircraftService,
|
||||
private jumpTypeService: JumpTypeService,
|
||||
private gearService: GearService) {
|
||||
super();
|
||||
}
|
||||
constructor(
|
||||
private http: HttpClient,
|
||||
private dateService: DateService,
|
||||
private datePipe: DatePipe,
|
||||
private dropzoneService: DropzoneService,
|
||||
private aircraftService: AircraftService,
|
||||
private jumpTypeService: JumpTypeService,
|
||||
private gearService: GearService,
|
||||
) {
|
||||
super();
|
||||
}
|
||||
|
||||
public getListOfJumps(): Observable<Array<Jump>> {
|
||||
return this.http.get<Array<JumpResp>>(`${this.apiUrl}/Jump`, { headers: this.headers })
|
||||
.pipe(map((response) => {
|
||||
return this.mapWithDataInCache(response);
|
||||
}));
|
||||
}
|
||||
public getListOfJumps(): Observable<Array<Jump>> {
|
||||
return this.http
|
||||
.get<
|
||||
Array<JumpResp>
|
||||
>(`${this.apiUrl}/Jump`, { headers: this.headers })
|
||||
.pipe(
|
||||
map((response) => {
|
||||
return this.mapWithDataInCache(response);
|
||||
}),
|
||||
);
|
||||
}
|
||||
|
||||
public getJumps(beginIndex: number, endIndex: number): Observable<JumpList> {
|
||||
return this.http.get<JumpListResp>(`${this.apiUrl}/Jump/${beginIndex}/${endIndex}`, { headers: this.headers })
|
||||
.pipe(map(response => {
|
||||
let result: JumpList = {
|
||||
public getJumps(
|
||||
beginIndex: number,
|
||||
endIndex: number,
|
||||
): Observable<JumpList> {
|
||||
return this.http
|
||||
.get<JumpListResp>(
|
||||
`${this.apiUrl}/Jump/${beginIndex}/${endIndex}`,
|
||||
{ headers: this.headers },
|
||||
)
|
||||
.pipe(
|
||||
map((response) => {
|
||||
let result: JumpList = {
|
||||
rows: this.mapWithDataInCache(response.rows),
|
||||
count: response.count
|
||||
};
|
||||
count: response.count,
|
||||
};
|
||||
|
||||
return new JumpList(result);
|
||||
}));
|
||||
}
|
||||
|
||||
public addListOfJump(selectedJumpType: number,
|
||||
selectedAircraft: number,
|
||||
selectedDz: number,
|
||||
selectedRig: number,
|
||||
withCutaway: boolean,
|
||||
beginDate: Date,
|
||||
endDate: Date,
|
||||
defaultExitAltitude: number,
|
||||
defaultDeployAltitude: number,
|
||||
countOfJumps: number,
|
||||
notes: string,
|
||||
isSpecial: boolean): Observable<any[]> {
|
||||
this.callsToAdd = new Array<Observable<any>>();
|
||||
const diffInDays = this.dateService.diffBetweenDates(beginDate, endDate) + 1;
|
||||
const countOfJumpsPerDay = Math.trunc(countOfJumps / diffInDays);
|
||||
|
||||
for (let i = 1; beginDate.getTime() < endDate.getTime(); i++) {
|
||||
this.addJumps(selectedJumpType,
|
||||
selectedAircraft,
|
||||
selectedDz,
|
||||
selectedRig,
|
||||
withCutaway,
|
||||
beginDate,
|
||||
defaultExitAltitude,
|
||||
defaultDeployAltitude,
|
||||
countOfJumpsPerDay,
|
||||
notes,
|
||||
isSpecial);
|
||||
|
||||
beginDate = this.dateService.addDays(beginDate, 1);
|
||||
return new JumpList(result);
|
||||
}),
|
||||
);
|
||||
}
|
||||
|
||||
const restfJumps = countOfJumps - countOfJumpsPerDay * (diffInDays - 1);
|
||||
public addListOfJump(
|
||||
selectedJumpType: number,
|
||||
selectedAircraft: number,
|
||||
selectedDz: number,
|
||||
selectedGear: number,
|
||||
withCutaway: boolean,
|
||||
beginDate: Date,
|
||||
endDate: Date,
|
||||
defaultExitAltitude: number,
|
||||
defaultDeployAltitude: number,
|
||||
countOfJumps: number,
|
||||
notes: string,
|
||||
isSpecial: boolean,
|
||||
equipment: string,
|
||||
): Observable<any[]> {
|
||||
this.callsToAdd = new Array<Observable<any>>();
|
||||
const diffInDays =
|
||||
this.dateService.diffBetweenDates(beginDate, endDate) + 1;
|
||||
const countOfJumpsPerDay = Math.trunc(countOfJumps / diffInDays);
|
||||
|
||||
this.addJumps(selectedJumpType,
|
||||
selectedAircraft,
|
||||
selectedDz,
|
||||
selectedRig,
|
||||
withCutaway,
|
||||
beginDate,
|
||||
defaultExitAltitude,
|
||||
defaultDeployAltitude,
|
||||
restfJumps,
|
||||
notes,
|
||||
isSpecial);
|
||||
for (let i = 1; beginDate.getTime() < endDate.getTime(); i++) {
|
||||
this.addJumps(
|
||||
selectedJumpType,
|
||||
selectedAircraft,
|
||||
selectedDz,
|
||||
selectedGear,
|
||||
withCutaway,
|
||||
beginDate,
|
||||
defaultExitAltitude,
|
||||
defaultDeployAltitude,
|
||||
countOfJumpsPerDay,
|
||||
notes,
|
||||
isSpecial,
|
||||
equipment,
|
||||
);
|
||||
|
||||
return forkJoin(this.callsToAdd);
|
||||
}
|
||||
beginDate = this.dateService.addDays(beginDate, 1);
|
||||
}
|
||||
|
||||
public deleteJump(item: Jump) {
|
||||
this.http.delete(`${this.apiUrl}/Jump/${item.id}`, { headers: this.headers }).subscribe();
|
||||
}
|
||||
const restfJumps = countOfJumps - countOfJumpsPerDay * (diffInDays - 1);
|
||||
|
||||
public updateJump(id: number,
|
||||
isSpecial: boolean,
|
||||
withCutaway: boolean,
|
||||
notes: string) {
|
||||
const jumpData = {
|
||||
id: id,
|
||||
isSpecial: isSpecial,
|
||||
withCutaway: withCutaway,
|
||||
notes: notes
|
||||
};
|
||||
const bodyUpdatedJump = new JumpReq(jumpData);
|
||||
this.addJumps(
|
||||
selectedJumpType,
|
||||
selectedAircraft,
|
||||
selectedDz,
|
||||
selectedGear,
|
||||
withCutaway,
|
||||
beginDate,
|
||||
defaultExitAltitude,
|
||||
defaultDeployAltitude,
|
||||
restfJumps,
|
||||
notes,
|
||||
isSpecial,
|
||||
equipment,
|
||||
);
|
||||
|
||||
return this.http.put(`${this.apiUrl}/Jump/${id}`,
|
||||
bodyUpdatedJump,
|
||||
{ headers: this.headers, });
|
||||
}
|
||||
|
||||
private addJumps(selectedJumpType: number,
|
||||
selectedAircraft: number,
|
||||
selectedDz: number,
|
||||
selectedRig: number,
|
||||
withCutaway: boolean,
|
||||
jumpDate: Date,
|
||||
defaultExitAltitude: number,
|
||||
defaultDeployAltitude: number,
|
||||
countOfJumps: number,
|
||||
notes: string,
|
||||
isSpecial: boolean) {
|
||||
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: notes,
|
||||
id: 0,
|
||||
jumpDate: this.datePipe.transform(jumpDate, "yyyy-MM-dd"),
|
||||
isSpecial: isSpecial
|
||||
};
|
||||
|
||||
let call = this.http.post(`${this.apiUrl}/Jump`, bodyNewjump, { headers: this.headers });
|
||||
|
||||
this.callsToAdd.push(call);
|
||||
return forkJoin(this.callsToAdd);
|
||||
}
|
||||
}
|
||||
|
||||
private mapWithDataInCache(apiResp: Array<JumpResp>): Array<Jump> {
|
||||
let allDropzones: Array<DropZoneResp>;
|
||||
this.dropzoneService.getFromCache().subscribe(data => { allDropzones = data; });
|
||||
let allAircrafts: Array<AircraftResp>;
|
||||
this.aircraftService.getFromCache().subscribe(data => { allAircrafts = data; });
|
||||
let allJumpType: Array<JumpTypeResp>;
|
||||
this.jumpTypeService.getFromCache().subscribe(data => { allJumpType = data; });
|
||||
let allGears: Array<GearResp>;
|
||||
this.gearService.getFromCache().subscribe(data => { allGears = data; });
|
||||
public deleteJump(item: Jump) {
|
||||
this.http
|
||||
.delete(`${this.apiUrl}/Jump/${item.id}`, { headers: this.headers })
|
||||
.subscribe();
|
||||
}
|
||||
|
||||
return apiResp.map((data) => {
|
||||
let tmp = new Jump(data);
|
||||
public updateJump(
|
||||
id: number,
|
||||
isSpecial: boolean,
|
||||
withCutaway: boolean,
|
||||
notes: string,
|
||||
equipment: string,
|
||||
) {
|
||||
const jumpData = {
|
||||
id: id,
|
||||
isSpecial: isSpecial,
|
||||
withCutaway: withCutaway,
|
||||
notes: notes,
|
||||
equipment: equipment,
|
||||
};
|
||||
const bodyUpdatedJump = new JumpReq(jumpData);
|
||||
|
||||
tmp.dropZone = allDropzones.find(d => d.id == data.dropZoneId);
|
||||
tmp.aircraft = allAircrafts.find(d => d.id == data.aircraftId);
|
||||
tmp.jumpType = allJumpType.find(d => d.id == data.jumpTypeId);
|
||||
tmp.gear = allGears.find(d => d.id == data.gearId);
|
||||
return this.http.put(`${this.apiUrl}/Jump/${id}`, bodyUpdatedJump, {
|
||||
headers: this.headers,
|
||||
});
|
||||
}
|
||||
|
||||
return tmp;
|
||||
});
|
||||
}
|
||||
private addJumps(
|
||||
selectedJumpType: number,
|
||||
selectedAircraft: number,
|
||||
selectedDz: number,
|
||||
selectedGear: number,
|
||||
withCutaway: boolean,
|
||||
jumpDate: Date,
|
||||
defaultExitAltitude: number,
|
||||
defaultDeployAltitude: number,
|
||||
countOfJumps: number,
|
||||
notes: string,
|
||||
isSpecial: boolean,
|
||||
equipment: string,
|
||||
) {
|
||||
for (let i = 0; i < countOfJumps; i++) {
|
||||
const bodyNewjump: JumpReq = {
|
||||
jumpTypeId: selectedJumpType,
|
||||
aircraftId: selectedAircraft,
|
||||
dropZoneId: selectedDz,
|
||||
withCutaway: withCutaway,
|
||||
exitAltitude: defaultExitAltitude,
|
||||
deployAltitude: defaultDeployAltitude,
|
||||
gearId: selectedGear,
|
||||
notes: notes,
|
||||
id: 0,
|
||||
jumpDate: this.datePipe.transform(jumpDate, "yyyy-MM-dd"),
|
||||
isSpecial: isSpecial,
|
||||
equipment: equipment,
|
||||
};
|
||||
|
||||
let call = this.http.post(`${this.apiUrl}/Jump`, bodyNewjump, {
|
||||
headers: this.headers,
|
||||
});
|
||||
|
||||
this.callsToAdd.push(call);
|
||||
}
|
||||
}
|
||||
|
||||
private mapWithDataInCache(apiResp: Array<JumpResp>): Array<Jump> {
|
||||
let allDropzones: Array<DropZoneResp>;
|
||||
this.dropzoneService.getFromCache().subscribe((data) => {
|
||||
allDropzones = data;
|
||||
});
|
||||
let allAircrafts: Array<AircraftResp>;
|
||||
this.aircraftService.getFromCache().subscribe((data) => {
|
||||
allAircrafts = data;
|
||||
});
|
||||
let allJumpType: Array<JumpTypeResp>;
|
||||
this.jumpTypeService.getFromCache().subscribe((data) => {
|
||||
allJumpType = data;
|
||||
});
|
||||
let allGears: Array<GearResp>;
|
||||
this.gearService.getFromCache().subscribe((data) => {
|
||||
allGears = data;
|
||||
});
|
||||
|
||||
return apiResp.map((data) => {
|
||||
let tmp = new Jump(data);
|
||||
|
||||
tmp.dropZone = allDropzones.find((d) => d.id == data.dropZoneId);
|
||||
tmp.aircraft = allAircrafts.find((d) => d.id == data.aircraftId);
|
||||
tmp.jumpType = allJumpType.find((d) => d.id == data.jumpTypeId);
|
||||
tmp.gear = allGears.find((d) => d.id == data.gearId);
|
||||
|
||||
return tmp;
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user