From 27928f16969867854062195238ec6a1112d9c373 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Andr=C3=A9?= Date: Mon, 19 Apr 2021 18:58:08 +0200 Subject: [PATCH] =?UTF-8?q?Fix=20autour=20des=20dates=20des=20jumps=20lors?= =?UTF-8?q?=20de=20la=20cr=C3=A9ation?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Front/skydivelogs-app/package-lock.json | 192 +++++------------- Front/skydivelogs-app/src/app/app.module.ts | 4 +- .../src/app/new-jump/new-jump.component.ts | 49 ++--- Front/skydivelogs-app/src/models/jump.ts | 2 +- .../src/services/aircraft.service.ts | 13 +- .../src/services/dropzone.service.ts | 16 +- .../src/services/jump.service.ts | 98 +++++---- 7 files changed, 147 insertions(+), 227 deletions(-) diff --git a/Front/skydivelogs-app/package-lock.json b/Front/skydivelogs-app/package-lock.json index e55d094..59b43ae 100644 --- a/Front/skydivelogs-app/package-lock.json +++ b/Front/skydivelogs-app/package-lock.json @@ -3381,15 +3381,6 @@ "tweetnacl": "^0.14.3" } }, - "better-assert": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/better-assert/-/better-assert-1.0.2.tgz", - "integrity": "sha1-QIZrnhueC1W0gYlDEeaPr/rrxSI=", - "dev": true, - "requires": { - "callsite": "1.0.0" - } - }, "big.js": { "version": "5.2.2", "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", @@ -3789,12 +3780,6 @@ "caller-callsite": "^2.0.0" } }, - "callsite": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/callsite/-/callsite-1.0.0.tgz", - "integrity": "sha1-KAOY5dZkvXQDi28JBRU+borxvCA=", - "dev": true - }, "callsites": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", @@ -5622,23 +5607,23 @@ } }, "engine.io": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-3.4.2.tgz", - "integrity": "sha512-b4Q85dFkGw+TqgytGPrGgACRUhsdKc9S9ErRAXpPGy/CXKs4tYoHDkvIRdsseAF7NjfVwjRFIn6KTnbw7LwJZg==", + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-3.5.0.tgz", + "integrity": "sha512-21HlvPUKaitDGE4GXNtQ7PLP0Sz4aWLddMPw2VTyFz1FVZqu/kZsJUO8WNpKuE/OCL7nkfRaOui2ZCJloGznGA==", "dev": true, "requires": { "accepts": "~1.3.4", "base64id": "2.0.0", - "cookie": "0.3.1", + "cookie": "~0.4.1", "debug": "~4.1.0", "engine.io-parser": "~2.2.0", - "ws": "^7.1.2" + "ws": "~7.4.2" }, "dependencies": { "cookie": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz", - "integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s=", + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.1.tgz", + "integrity": "sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA==", "dev": true }, "debug": { @@ -5657,17 +5642,17 @@ "dev": true }, "ws": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.1.tgz", - "integrity": "sha512-pTsP8UAfhy3sk1lSk/O/s4tjD0CRwvMnzvwr4OKGX7ZvqZtUyx4KIJB5JWbkykPoc55tixMGgTNoh3k4FkNGFQ==", + "version": "7.4.5", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.5.tgz", + "integrity": "sha512-xzyu3hFvomRfXKH8vOFMU3OguG6oOvhXMo3xsGy3xWExqaM2dxBbVxuD99O7m3ZUFMvvscsZDqxfgMaRr/Nr1g==", "dev": true } } }, "engine.io-client": { - "version": "3.4.4", - "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-3.4.4.tgz", - "integrity": "sha512-iU4CRr38Fecj8HoZEnFtm2EiKGbYZcPn3cHxqNGl/tmdWRf60KhK+9vE0JeSjgnlS/0oynEfLgKbT9ALpim0sQ==", + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-3.5.1.tgz", + "integrity": "sha512-oVu9kBkGbcggulyVF0kz6BV3ganqUeqXvD79WOFKa+11oK692w1NyFkuEj4xrkFRpZhn92QOqTk4RQq5LiBXbQ==", "dev": true, "requires": { "component-emitter": "~1.3.0", @@ -5678,7 +5663,7 @@ "indexof": "0.0.1", "parseqs": "0.0.6", "parseuri": "0.0.6", - "ws": "~6.1.0", + "ws": "~7.4.2", "xmlhttprequest-ssl": "~1.5.4", "yeast": "0.1.2" }, @@ -5692,26 +5677,11 @@ "ms": "2.0.0" } }, - "parseqs": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/parseqs/-/parseqs-0.0.6.tgz", - "integrity": "sha512-jeAGzMDbfSHHA091hr0r31eYfTig+29g3GKKE/PPbEQ65X0lmMwlEoqmhzu0iztID5uJpZsFlUPDP8ThPL7M8w==", - "dev": true - }, - "parseuri": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/parseuri/-/parseuri-0.0.6.tgz", - "integrity": "sha512-AUjen8sAkGgao7UyCX6Ahv0gIK2fABKmYjvP4xmy5JaKvcbTRueIqIPHLAfq30xJddqSE033IOMUSOMCcK3Sow==", - "dev": true - }, "ws": { - "version": "6.1.4", - "resolved": "https://registry.npmjs.org/ws/-/ws-6.1.4.tgz", - "integrity": "sha512-eqZfL+NE/YQc1/ZynhojeV8q+H050oR8AZ2uIev7RU10svA9ZnJUddHcOUZTJLinZ9yEfdA2kSATS2qZK5fhJA==", - "dev": true, - "requires": { - "async-limiter": "~1.0.0" - } + "version": "7.4.5", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.5.tgz", + "integrity": "sha512-xzyu3hFvomRfXKH8vOFMU3OguG6oOvhXMo3xsGy3xWExqaM2dxBbVxuD99O7m3ZUFMvvscsZDqxfgMaRr/Nr1g==", + "dev": true } } }, @@ -7488,9 +7458,9 @@ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, "ini": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", - "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", "dev": true }, "inquirer": { @@ -9940,12 +9910,6 @@ "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" }, - "object-component": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/object-component/-/object-component-0.0.3.tgz", - "integrity": "sha1-8MaapQ78lbhmwYb0AKM3acsvEpE=", - "dev": true - }, "object-copy": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", @@ -10511,22 +10475,16 @@ } }, "parseqs": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/parseqs/-/parseqs-0.0.5.tgz", - "integrity": "sha1-1SCKNzjkZ2bikbouoXNoSSGouJ0=", - "dev": true, - "requires": { - "better-assert": "~1.0.0" - } + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/parseqs/-/parseqs-0.0.6.tgz", + "integrity": "sha512-jeAGzMDbfSHHA091hr0r31eYfTig+29g3GKKE/PPbEQ65X0lmMwlEoqmhzu0iztID5uJpZsFlUPDP8ThPL7M8w==", + "dev": true }, "parseuri": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/parseuri/-/parseuri-0.0.5.tgz", - "integrity": "sha1-gCBKUNTbt3m/3G6+J3jZDkvOMgo=", - "dev": true, - "requires": { - "better-assert": "~1.0.0" - } + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/parseuri/-/parseuri-0.0.6.tgz", + "integrity": "sha512-AUjen8sAkGgao7UyCX6Ahv0gIK2fABKmYjvP4xmy5JaKvcbTRueIqIPHLAfq30xJddqSE033IOMUSOMCcK3Sow==", + "dev": true }, "parseurl": { "version": "1.3.3", @@ -13750,16 +13708,16 @@ } }, "socket.io": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-2.3.0.tgz", - "integrity": "sha512-2A892lrj0GcgR/9Qk81EaY2gYhCBxurV0PfmmESO6p27QPrUK1J3zdns+5QPqvUYK2q657nSj0guoIil9+7eFg==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-2.4.1.tgz", + "integrity": "sha512-Si18v0mMXGAqLqCVpTxBa8MGqriHGQh8ccEOhmsmNS3thNCGBwO8WGrwMibANsWtQQ5NStdZwHqZR3naJVFc3w==", "dev": true, "requires": { "debug": "~4.1.0", - "engine.io": "~3.4.0", + "engine.io": "~3.5.0", "has-binary2": "~1.0.2", "socket.io-adapter": "~1.1.0", - "socket.io-client": "2.3.0", + "socket.io-client": "2.4.0", "socket.io-parser": "~3.4.0" }, "dependencies": { @@ -13787,46 +13745,31 @@ "dev": true }, "socket.io-client": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-2.3.0.tgz", - "integrity": "sha512-cEQQf24gET3rfhxZ2jJ5xzAOo/xhZwK+mOqtGRg5IowZsMgwvHwnf/mCRapAAkadhM26y+iydgwsXGObBB5ZdA==", + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-2.4.0.tgz", + "integrity": "sha512-M6xhnKQHuuZd4Ba9vltCLT9oa+YvTsP8j9NcEiLElfIg8KeYPyhWOes6x4t+LTAC8enQbE/995AdTem2uNyKKQ==", "dev": true, "requires": { "backo2": "1.0.2", - "base64-arraybuffer": "0.1.5", "component-bind": "1.0.0", - "component-emitter": "1.2.1", - "debug": "~4.1.0", - "engine.io-client": "~3.4.0", + "component-emitter": "~1.3.0", + "debug": "~3.1.0", + "engine.io-client": "~3.5.0", "has-binary2": "~1.0.2", - "has-cors": "1.1.0", "indexof": "0.0.1", - "object-component": "0.0.3", - "parseqs": "0.0.5", - "parseuri": "0.0.5", + "parseqs": "0.0.6", + "parseuri": "0.0.6", "socket.io-parser": "~3.3.0", "to-array": "0.1.4" }, "dependencies": { - "base64-arraybuffer": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.5.tgz", - "integrity": "sha1-c5JncZI7Whl0etZmqlzUv5xunOg=", - "dev": true - }, - "component-emitter": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", - "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=", - "dev": true - }, "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", "dev": true, "requires": { - "ms": "^2.1.1" + "ms": "2.0.0" } }, "isarray": { @@ -13835,44 +13778,15 @@ "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=", "dev": true }, - "ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true - }, "socket.io-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-3.3.1.tgz", - "integrity": "sha512-1QLvVAe8dTz+mKmZ07Swxt+LAo4Y1ff50rlyoEx00TQmDFVQYPfcqGvIDJLGaBdhdNCecXtyKpD+EgKGcmmbuQ==", + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-3.3.2.tgz", + "integrity": "sha512-FJvDBuOALxdCI9qwRrO/Rfp9yfndRtc1jSgVgV8FDraihmSP/MLGD5PEuJrNfjALvcQ+vMDM/33AWOYP/JSjDg==", "dev": true, "requires": { "component-emitter": "~1.3.0", "debug": "~3.1.0", "isarray": "2.0.1" - }, - "dependencies": { - "component-emitter": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", - "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", - "dev": true - }, - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - } } } } @@ -17050,9 +16964,9 @@ "dev": true }, "y18n": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", - "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==" + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", + "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==" }, "yallist": { "version": "4.0.0", diff --git a/Front/skydivelogs-app/src/app/app.module.ts b/Front/skydivelogs-app/src/app/app.module.ts index 2d7353f..0a22bfb 100644 --- a/Front/skydivelogs-app/src/app/app.module.ts +++ b/Front/skydivelogs-app/src/app/app.module.ts @@ -2,6 +2,7 @@ import { BrowserModule } from "@angular/platform-browser"; import { APP_INITIALIZER, NgModule } from "@angular/core"; import { RouterModule, Routes } from "@angular/router"; import { HttpClientModule, HTTP_INTERCEPTORS } from "@angular/common/http"; +import { DatePipe } from '@angular/common'; import { AppComponent } from "./app.component"; import { environment } from "../environments/environment"; @@ -184,9 +185,10 @@ export function initConfig(configService: ConfigurationHelper) { DateService, RequestCache, ConfigurationHelper, + DatePipe, { provide: APP_INITIALIZER, useFactory: initConfig, deps: [ConfigurationHelper], multi: true }, { provide: HTTP_INTERCEPTORS, useClass: JwtAuthInterceptor, multi: true }, - { provide: HTTP_INTERCEPTORS, useClass: ErrorInterceptor, multi: true }, + { provide: HTTP_INTERCEPTORS, useClass: ErrorInterceptor, multi: true } // { provide: HTTP_INTERCEPTORS, useClass: CachingInterceptor, multi: true } ], bootstrap: [AppComponent], 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 427067b..94f8989 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 @@ -10,13 +10,11 @@ import { AircraftService } from "../../services/aircraft.service"; import { JumpService } from "../../services/jump.service"; import { JumpTypeService } from "../../services/jump-type.service"; import { GearService } from "../../services/gear.service"; -import { isNumber } from "util"; -import { ThrowStmt } from "@angular/compiler"; @Component({ selector: "app-new-jump", templateUrl: "./new-jump.component.html", - styleUrls: ["./new-jump.component.css"], + styleUrls: ["./new-jump.component.css"] }) export class NewJumpComponent implements OnInit { beginDate: Date; @@ -38,15 +36,13 @@ export class NewJumpComponent implements OnInit { private pendingAddRequest: boolean; comments: string; - constructor( - private serviceComm: ServiceComm, - private serviceJump: JumpService, - private serviceJumpType: JumpTypeService, - private serviceAircraft: AircraftService, - private serviceDropzone: DropzoneService, - private serviceGear: GearService, - private dateService: DateService - ) {} + constructor(private serviceComm: ServiceComm, + private serviceJump: JumpService, + private serviceJumpType: JumpTypeService, + private serviceAircraft: AircraftService, + private serviceDropzone: DropzoneService, + private serviceGear: GearService, + private dateService: DateService) {} ngOnInit() { this.serviceComm.UpdatedComponentTitle("Add a new jump"); @@ -60,19 +56,17 @@ export class NewJumpComponent implements OnInit { onFormSubmit() { this.pendingAddRequest = true; - this.serviceJump.AddListOfJump( - this.selectedJumpType.id, - this.selectedAircraft.id, - this.selectedDz.id, - this.selectedGear.id, - this.withCutaway === undefined ? false : this.withCutaway, - this.beginDate, - this.endDate, - this.exitAltitude, - this.deployAltitude, - this.countOfJumps, - this.comments - ); + this.serviceJump.AddListOfJump(this.selectedJumpType.id, + this.selectedAircraft.id, + this.selectedDz.id, + this.selectedGear.id, + this.withCutaway === undefined ? false : this.withCutaway, + this.beginDate, + this.endDate, + this.exitAltitude, + this.deployAltitude, + this.countOfJumps, + this.comments); setTimeout(() => { this.initForm(); @@ -111,14 +105,14 @@ export class NewJumpComponent implements OnInit { } private getListOfAircrafts() { - this.serviceAircraft.getListOfAircrafts().subscribe((data) => { + this.serviceAircraft.getListOfAircrafts(true).subscribe((data) => { this.listOfAircraft = data; this.countDatasLoaded++; }); } private getListOfDropZones() { - this.serviceDropzone.getListOfDropZones().subscribe((data) => { + this.serviceDropzone.getListOfDropZones(true).subscribe((data) => { data.sort((a, b) => (b.isFavorite ? 1 : 0) - (a.isFavorite ? 1 : 0)); this.listOfDropZone = data; this.listOfFilteredDropZone = data; @@ -147,6 +141,7 @@ export class NewJumpComponent implements OnInit { this.selectedJumpType = undefined; this.listOfFilteredDropZone = this.listOfDropZone; + this.comments = undefined; } public displayFn(data?: JumpTypeResp): string | undefined { diff --git a/Front/skydivelogs-app/src/models/jump.ts b/Front/skydivelogs-app/src/models/jump.ts index df73030..e3079f3 100644 --- a/Front/skydivelogs-app/src/models/jump.ts +++ b/Front/skydivelogs-app/src/models/jump.ts @@ -17,7 +17,7 @@ export class JumpReq { public deployAltitude: number; public withCutaway: boolean; public notes: string; - public jumpDate: Date; + public jumpDate: string; //Date; } export class JumpResp { diff --git a/Front/skydivelogs-app/src/services/aircraft.service.ts b/Front/skydivelogs-app/src/services/aircraft.service.ts index 40626c4..b8863d3 100644 --- a/Front/skydivelogs-app/src/services/aircraft.service.ts +++ b/Front/skydivelogs-app/src/services/aircraft.service.ts @@ -12,10 +12,15 @@ export class AircraftService extends BaseService { super(); } - public getListOfAircrafts(): Observable> { - return this.http.get>(`${this.apiUrl}/Aircraft`, { - headers: this.headers - }); + public getListOfAircrafts(simple: boolean = false): Observable> { + let url : string; + if (simple === true) { + url = `${this.apiUrl}/Aircraft/GetSimple`; + } else { + url = `${this.apiUrl}/Aircraft`; + } + + return this.http.get>(url, { headers: this.headers }); } public AddAircraft(aircraftName: string, dataImg: string) { diff --git a/Front/skydivelogs-app/src/services/dropzone.service.ts b/Front/skydivelogs-app/src/services/dropzone.service.ts index 21c47a0..fee2b63 100644 --- a/Front/skydivelogs-app/src/services/dropzone.service.ts +++ b/Front/skydivelogs-app/src/services/dropzone.service.ts @@ -13,12 +13,18 @@ export class DropzoneService extends BaseService { super(); } - public getListOfDropZones(): Observable> { - return this.http.get>(`${this.apiUrl}/DropZone`, - { headers: this.headers }) + public getListOfDropZones(simple: boolean = false): Observable> { + let url : string; + if (simple === true) { + url = `${this.apiUrl}/DropZone/GetSimple`; + } else { + url = `${this.apiUrl}/DropZone`; + } + + return this.http.get>(url, { headers: this.headers }) .pipe(map(response => { - const details = response.map(data => new DropZoneResp(data)); - return details; + const details = response.map(data => new DropZoneResp(data)); + return details; })); } diff --git a/Front/skydivelogs-app/src/services/jump.service.ts b/Front/skydivelogs-app/src/services/jump.service.ts index 70013e1..415916a 100644 --- a/Front/skydivelogs-app/src/services/jump.service.ts +++ b/Front/skydivelogs-app/src/services/jump.service.ts @@ -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