Fix autour des dates des jumps lors

de la création
This commit is contained in:
Sébastien André
2021-04-19 18:58:08 +02:00
parent 9a7b2c5ca3
commit 27928f1696
7 changed files with 147 additions and 227 deletions
@@ -1,5 +1,6 @@
import { Injectable } from "@angular/core";
import { HttpClient } from "@angular/common/http";
import { DatePipe } from '@angular/common';
import { Observable } from "rxjs";
import { map } from "rxjs/operators";
@@ -10,7 +11,9 @@ import { BaseService } from "./base.service";
@Injectable()
export class JumpService extends BaseService {
constructor(private http: HttpClient, private dateService: DateService) {
constructor(private http: HttpClient,
private dateService: DateService,
private datePipe: DatePipe) {
super();
}
@@ -27,66 +30,61 @@ export class JumpService extends BaseService {
);
}
public AddListOfJump(
selectedJumpType: number,
selectedAircraft: number,
selectedDz: number,
selectedRig: number,
withCutaway: boolean,
beginDate: Date,
endDate: Date,
defaultExitAltitude: number,
defaultDeployAltitude: number,
countOfJumps: number,
notes: string) {
public AddListOfJump(selectedJumpType: number,
selectedAircraft: number,
selectedDz: number,
selectedRig: number,
withCutaway: boolean,
beginDate: Date,
endDate: Date,
defaultExitAltitude: number,
defaultDeployAltitude: number,
countOfJumps: number,
notes: string)
{
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
);
this.AddJumps(selectedJumpType,
selectedAircraft,
selectedDz,
selectedRig,
withCutaway,
beginDate,
defaultExitAltitude,
defaultDeployAltitude,
countOfJumpsPerDay,
notes);
beginDate = this.dateService.AddDays(beginDate, 1);
}
const restfJumps = countOfJumps - countOfJumpsPerDay * (diffInDays - 1);
this.AddJumps(
selectedJumpType,
selectedAircraft,
selectedDz,
selectedRig,
withCutaway,
beginDate,
defaultExitAltitude,
defaultDeployAltitude,
restfJumps,
notes
);
this.AddJumps(selectedJumpType,
selectedAircraft,
selectedDz,
selectedRig,
withCutaway,
beginDate,
defaultExitAltitude,
defaultDeployAltitude,
restfJumps,
notes);
}
private AddJumps(
selectedJumpType: number,
selectedAircraft: number,
selectedDz: number,
selectedRig: number,
withCutaway: boolean,
jumpDate: Date,
defaultExitAltitude: number,
defaultDeployAltitude: number,
countOfJumps: number,
notes: string
) {
private AddJumps(selectedJumpType: number,
selectedAircraft: number,
selectedDz: number,
selectedRig: number,
withCutaway: boolean,
jumpDate: Date,
defaultExitAltitude: number,
defaultDeployAltitude: number,
countOfJumps: number,
notes: string)
{
for (let i = 0; i < countOfJumps; i++) {
const bodyNewjump: JumpReq = {
jumpTypeId: selectedJumpType,
@@ -98,7 +96,7 @@ export class JumpService extends BaseService {
gearId: selectedRig,
notes: notes,
id: 0,
jumpDate: jumpDate,
jumpDate: this.datePipe.transform(jumpDate, "yyyy-MM-dd")
};
this.http