diff --git a/Front/skydivelogs-app/src/app/app.component.html b/Front/skydivelogs-app/src/app/app.component.html index 480c6a2..8bf8b48 100644 --- a/Front/skydivelogs-app/src/app/app.component.html +++ b/Front/skydivelogs-app/src/app/app.component.html @@ -2,6 +2,8 @@ Summary List of jumps List of DZs - Add a new jumps + List of aircrafts + List of jump types + Add a new jump - \ No newline at end of file + diff --git a/Front/skydivelogs-app/src/app/app.module.ts b/Front/skydivelogs-app/src/app/app.module.ts index c34a456..d769176 100644 --- a/Front/skydivelogs-app/src/app/app.module.ts +++ b/Front/skydivelogs-app/src/app/app.module.ts @@ -10,13 +10,17 @@ import { NewJumpComponent } from './new-jump/new-jump.component'; import { ServiceApi } from '../services/serviceApi'; import { HttpClientModule } from '@angular/common/http'; +import { ListOfAircraftsComponent } from './list-of-aircrafts/list-of-aircrafts.component'; +import { ListOfJumpTypesComponent } from './list-of-jump-types/list-of-jump-types.component'; const appRoutes: Routes = [ { path: 'summary', component: SummaryComponent }, { path: 'jumpsList', component: ListOfJumpsComponent }, { path: 'dz', component: ListOfDzsComponent }, - { path: 'newjump', component: NewJumpComponent } + { path: 'newjump', component: NewJumpComponent }, + { path: 'aircraftList', component: ListOfAircraftsComponent }, + { path: 'jumpTypeList', component: ListOfJumpTypesComponent } ]; @@ -26,7 +30,9 @@ const appRoutes: Routes = [ SummaryComponent, ListOfJumpsComponent, ListOfDzsComponent, - NewJumpComponent + NewJumpComponent, + ListOfAircraftsComponent, + ListOfJumpTypesComponent ], imports: [ RouterModule.forRoot( diff --git a/Front/skydivelogs-app/src/app/list-of-aircrafts/list-of-aircrafts.component.css b/Front/skydivelogs-app/src/app/list-of-aircrafts/list-of-aircrafts.component.css new file mode 100644 index 0000000..e69de29 diff --git a/Front/skydivelogs-app/src/app/list-of-aircrafts/list-of-aircrafts.component.html b/Front/skydivelogs-app/src/app/list-of-aircrafts/list-of-aircrafts.component.html new file mode 100644 index 0000000..a3ecb3e --- /dev/null +++ b/Front/skydivelogs-app/src/app/list-of-aircrafts/list-of-aircrafts.component.html @@ -0,0 +1,10 @@ +

+ list-of-aircrafts works! +

+ + + + + + +
{{ aircraft.id }}{{ aircraft.name }}
diff --git a/Front/skydivelogs-app/src/app/list-of-aircrafts/list-of-aircrafts.component.spec.ts b/Front/skydivelogs-app/src/app/list-of-aircrafts/list-of-aircrafts.component.spec.ts new file mode 100644 index 0000000..8de1367 --- /dev/null +++ b/Front/skydivelogs-app/src/app/list-of-aircrafts/list-of-aircrafts.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { ListOfAircraftsComponent } from './list-of-aircrafts.component'; + +describe('ListOfAircraftsComponent', () => { + let component: ListOfAircraftsComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ ListOfAircraftsComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(ListOfAircraftsComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/Front/skydivelogs-app/src/app/list-of-aircrafts/list-of-aircrafts.component.ts b/Front/skydivelogs-app/src/app/list-of-aircrafts/list-of-aircrafts.component.ts new file mode 100644 index 0000000..0cdc567 --- /dev/null +++ b/Front/skydivelogs-app/src/app/list-of-aircrafts/list-of-aircrafts.component.ts @@ -0,0 +1,24 @@ +import { Component, OnInit } from '@angular/core'; +import { AircraftResp } from '../../models/aircraft'; +import { ServiceApi } from '../../services/serviceApi'; + +@Component({ + selector: 'app-list-of-aircrafts', + templateUrl: './list-of-aircrafts.component.html', + styleUrls: ['./list-of-aircrafts.component.css'] +}) +export class ListOfAircraftsComponent implements OnInit { + public listOfAircrafts: Array = new Array(); + + constructor(private serviceApi: ServiceApi) { + } + + ngOnInit() { + this.getListOfAircrafts(); + } + + getListOfAircrafts() { + this.serviceApi.getListOfAircrafts() + .subscribe(data => this.listOfAircrafts = data); + } +} diff --git a/Front/skydivelogs-app/src/app/list-of-jump-types/list-of-jump-types.component.css b/Front/skydivelogs-app/src/app/list-of-jump-types/list-of-jump-types.component.css new file mode 100644 index 0000000..e69de29 diff --git a/Front/skydivelogs-app/src/app/list-of-jump-types/list-of-jump-types.component.html b/Front/skydivelogs-app/src/app/list-of-jump-types/list-of-jump-types.component.html new file mode 100644 index 0000000..a56ff26 --- /dev/null +++ b/Front/skydivelogs-app/src/app/list-of-jump-types/list-of-jump-types.component.html @@ -0,0 +1,10 @@ +

+ list-of-jump-types works! +

+ + + + + + +
{{ jumpType.id }}{{ jumpType.name }}
diff --git a/Front/skydivelogs-app/src/app/list-of-jump-types/list-of-jump-types.component.spec.ts b/Front/skydivelogs-app/src/app/list-of-jump-types/list-of-jump-types.component.spec.ts new file mode 100644 index 0000000..86612da --- /dev/null +++ b/Front/skydivelogs-app/src/app/list-of-jump-types/list-of-jump-types.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { ListOfJumpTypesComponent } from './list-of-jump-types.component'; + +describe('ListOfJumpTypesComponent', () => { + let component: ListOfJumpTypesComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ ListOfJumpTypesComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(ListOfJumpTypesComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/Front/skydivelogs-app/src/app/list-of-jump-types/list-of-jump-types.component.ts b/Front/skydivelogs-app/src/app/list-of-jump-types/list-of-jump-types.component.ts new file mode 100644 index 0000000..0bb05bc --- /dev/null +++ b/Front/skydivelogs-app/src/app/list-of-jump-types/list-of-jump-types.component.ts @@ -0,0 +1,24 @@ +import { Component, OnInit } from '@angular/core'; +import { JumpTypeResp } from '../../models/jumpType'; +import { ServiceApi } from '../../services/serviceApi'; + +@Component({ + selector: 'app-list-of-jump-types', + templateUrl: './list-of-jump-types.component.html', + styleUrls: ['./list-of-jump-types.component.css'] +}) +export class ListOfJumpTypesComponent implements OnInit { + public listOfJumpTypes: Array = new Array(); + + constructor(private serviceApi: ServiceApi) { + } + + ngOnInit() { + this.getListOfJumpTypes(); + } + + getListOfJumpTypes() { + this.serviceApi.getListOfJumpTypes() + .subscribe(data => this.listOfJumpTypes = data); + } +} diff --git a/Front/skydivelogs-app/src/models/aircraft.ts b/Front/skydivelogs-app/src/models/aircraft.ts new file mode 100644 index 0000000..d8d8856 --- /dev/null +++ b/Front/skydivelogs-app/src/models/aircraft.ts @@ -0,0 +1,17 @@ +export class AircraftReq { + constructor(data: any) { + Object.assign(this, data); + } + + public id: number; + public name: number; +} + +export class AircraftResp { + constructor(data: any) { + Object.assign(this, data); + } + + public id: number; + public name: number; +} \ No newline at end of file diff --git a/Front/skydivelogs-app/src/models/dropzone.ts b/Front/skydivelogs-app/src/models/dropzone.ts index 4976656..70713c0 100644 --- a/Front/skydivelogs-app/src/models/dropzone.ts +++ b/Front/skydivelogs-app/src/models/dropzone.ts @@ -3,12 +3,27 @@ export class DropZoneResp { Object.assign(this, data); } - public Id: number; - public Latitude: string; - public Longitude: string; - public Name: string; - public Address: string; - public Website: string; - public Email: string; - public Type: Array; -} \ No newline at end of file + public id: number; + public latitude: string; + public longitude: string; + public name: string; + public address: string; + public website: string; + public email: string; + public type: Array; +} + +export class DropZoneReq { + constructor(data: any) { + Object.assign(this, data); + } + + public id: number; + public latitude: string; + public longitude: string; + public name: string; + public address: string; + public website: string; + public email: string; + public type: Array; +} diff --git a/Front/skydivelogs-app/src/models/jump.ts b/Front/skydivelogs-app/src/models/jump.ts index c565684..a43d6d1 100644 --- a/Front/skydivelogs-app/src/models/jump.ts +++ b/Front/skydivelogs-app/src/models/jump.ts @@ -1,23 +1,31 @@ export class JumpReq { - 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; + 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; } export class JumpResp { - 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; + 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; } \ No newline at end of file diff --git a/Front/skydivelogs-app/src/models/jumpType.ts b/Front/skydivelogs-app/src/models/jumpType.ts new file mode 100644 index 0000000..b4ac2b7 --- /dev/null +++ b/Front/skydivelogs-app/src/models/jumpType.ts @@ -0,0 +1,17 @@ +export class JumpTypeReq { + constructor(data: any) { + Object.assign(this, data); + } + + public id: number; + public name: number; +} + +export class JumpTypeResp { + constructor(data: any) { + Object.assign(this, data); + } + + public id: number; + public name: number; +} \ No newline at end of file diff --git a/Front/skydivelogs-app/src/services/serviceApi.ts b/Front/skydivelogs-app/src/services/serviceApi.ts index ad00f2e..9874c2a 100644 --- a/Front/skydivelogs-app/src/services/serviceApi.ts +++ b/Front/skydivelogs-app/src/services/serviceApi.ts @@ -1,20 +1,23 @@ import { Injectable } from '@angular/core'; import { HttpClient, HttpHeaders } from '@angular/common/http'; +import { Observable } from 'rxjs/Observable'; +import { map } from 'rxjs/operators'; + import { DropZoneResp } from '../models/dropzone'; import { JumpResp } from '../models/jump'; -import { Observable } from 'rxjs/Observable'; -import { tap, map } from 'rxjs/operators'; +import { AircraftResp } from '../models/aircraft'; +import { JumpTypeResp } from '../models/jumpType'; + @Injectable() export class ServiceApi { + private readonly headers = new HttpHeaders({ + 'Access-Control-Allow-Origin': 'http://localhost:5000', + }); constructor(private http: HttpClient) { } public getListOfDropZones(): Observable> { - const headers = new HttpHeaders({ - 'Access-Control-Allow-Origin': 'http://localhost:5000', - }); - - return this.http.get>('http://localhost:5000/api/DropZone', { headers: headers }) + return this.http.get>('http://localhost:5000/api/DropZone', { headers: this.headers }) .pipe( map(response => { const details = response.map(data => new DropZoneResp(data)); @@ -24,10 +27,14 @@ export class ServiceApi { } public getListOfJumps(): Observable> { - const headers = new HttpHeaders({ - 'Access-Control-Allow-Origin': 'http://localhost:5000', - }); + return this.http.get>('http://localhost:5000/api/Jump', { headers: this.headers }); + } - return this.http.get>('http://localhost:5000/api/Jump', { headers: headers }); + public getListOfAircrafts(): Observable> { + return this.http.get>('http://localhost:5000/api/Aircraft', { headers: this.headers }); + } + + public getListOfJumpTypes(): Observable> { + return this.http.get>('http://localhost:5000/api/JumpType', { headers: this.headers }); } }