import { Injectable } from '@angular/core'; import { HttpClientService } from './http-client.service'; import { Subject, forkJoin, zip } from 'rxjs' @Injectable() export class BasicDataService { public flightStatusDefinitions:Array; public flightStatusDefinitions_subject = new Subject(); public flightAgents:Array; public flightAgents_subject = new Subject(); public flightTypes:Array; public flightTypes_subject = new Subject(); public flightStatus:Array; public flightStatus_subject = new Subject(); public checkin_group: Array; public checkin_group_subject = new Subject(); public gate: Array; public gate_subject = new Subject(); public terminal: Array; public terminal_subject = new Subject(); public chut: Array; public chut_subject = new Subject(); public stand: Array; public stand_subject = new Subject(); public standType: Array; public standType_subject = new Subject(); public carousel: Array; public carousel_subject = new Subject(); public checkin_desk: Array; public checkin_desk_subject = new Subject(); public airport: Array; public airport_subject = new Subject(); public city: Array; public city_subject = new Subject(); public aircraft_type: Array; public aircraft_type_subject = new Subject(); public aircraft: Array; public aircraft_subject = new Subject(); public terminal_area: Array; public terminal_area_subject = new Subject(); public airline: Array; public airline_subject = new Subject(); public country: Array; public country_subject = new Subject(); public aircraft_type_group: Array; public aircraft_type_group_subject = new Subject(); public airportgroup: Array; public airportgroup_subject = new Subject(); public airlinegroup: Array; public airlinegroup_subject = new Subject(); constructor( private httpClient: HttpClientService ) { } loadBasicData() { let flightStatusDefinitionHttp = this.httpClient.get('/adminapi/basicdata/flmsFlightStatusDefinition'); let flightAgentsHttp = this.httpClient.get('/adminapi/basicdata/sysFlightAgents'); let flightTypesHttp = this.httpClient.get('/adminapi/basicdata/sysFlightTypes'); let flightStatusHttp = this.httpClient.get('/adminapi/basicdata/sysFlightStatus'); let checkinGroupHttp = this.httpClient.get('/adminapi/basicdata/checkinGroups'); let gateHttp = this.httpClient.get('/adminapi/basicdata/ormsGates'); let terminalHttp = this.httpClient.get('/adminapi/basicdata/ormsTerminals'); let chutHttp = this.httpClient.get('/adminapi/basicdata/ormsChuts'); let standHttp = this.httpClient.get('/adminapi/basicdata/ormsStands'); let standTypeHttp = this.httpClient.get('/adminapi/basicdata/ormsStandTypes'); let carouselHttp = this.httpClient.get('/adminapi/basicdata/ormsCarousels'); let checkinDeskHttp = this.httpClient.get('/adminapi/basicdata/ormsCheckindesks'); let airportHttp = this.httpClient.get('/adminapi/basicdata/sysAirports'); let cityHttp = this.httpClient.get('/adminapi/basicdata/sysCitys'); let aircraftTypeHttp = this.httpClient.get('/adminapi/basicdata/sysAircrafttypes'); let aircraftHttp = this.httpClient.get('/adminapi/basicdata/sysAircrafts'); let terminalAreaHttp = this.httpClient.get('/adminapi/basicdata/ormsTerminalareas'); let airlineHttp = this.httpClient.get('/adminapi/basicdata/sysAirlines'); let countryHttp = this.httpClient.get('/adminapi/basicdata/sysCountry'); let aircrafttypesGroupHttp = this.httpClient.get('/adminapi/basicdata/sysAircrafttypesGroup'); let airportGroupsHttp = this.httpClient.get('/adminapi/basicdata/sysAirportGroups'); let airlineGroupHttp = this.httpClient.get('/adminapi/basicdata/sysAirlineGroup'); zip( flightStatusDefinitionHttp, flightAgentsHttp, flightTypesHttp, flightStatusHttp, checkinGroupHttp, gateHttp, terminalHttp, chutHttp, standHttp, standTypeHttp, carouselHttp, checkinDeskHttp, airportHttp, cityHttp, aircraftTypeHttp, aircraftHttp, terminalAreaHttp, airlineHttp, countryHttp, aircrafttypesGroupHttp, airportGroupsHttp, airlineGroupHttp ).subscribe( ([ flightStatusDefinitionRes, flightAgentsRes, flightTypesRes, flightStatusRes, checkinGroupRes, gateRes, terminalRes, chutRes, standRes, standTypesRes, carouselRes, checkinDeskRes, airportRes, cityRes, aircraftTypeRes, aircraftRes, terminalAreaRes, airlineRes, countryRes, aircraftTypeGroupRes, airportGroupRes, airlineGroupRes ]) => { this.flightStatusDefinitions = flightStatusDefinitionRes.body; this.flightStatusDefinitions_subject.next(flightStatusDefinitionRes.body); this.flightAgents = flightAgentsRes.body; this.flightAgents_subject.next(flightAgentsRes.body); this.flightTypes = flightTypesRes.body; this.flightTypes_subject.next(flightTypesRes.body) this.flightStatus = flightStatusRes.body; this.flightStatus_subject.next(flightStatusRes.body); this.checkin_group = checkinGroupRes.body; this.checkin_group_subject.next(checkinGroupRes.body); this.gate = gateRes.body; this.gate_subject.next(gateRes.body); this.terminal = terminalRes.body; this.terminal_subject.next(terminalRes.body); this.chut = chutRes.body; this.chut_subject.next(chutRes.body); this.stand = standRes.body; this.stand_subject.next(standRes.body); this.standType = standTypesRes.body; this.standType_subject.next(standTypesRes.body); this.carousel = carouselRes.body; this.carousel_subject.next(carouselRes.body); this.checkin_desk = checkinDeskRes.body; this.checkin_desk_subject.next(checkinDeskRes.body); this.aircraft_type = aircraftTypeRes.body; this.aircraft_type_subject.next(aircraftTypeRes.body); this.aircraft = aircraftRes.body; this.aircraft_subject.next(aircraftRes.body); this.terminal_area = terminalAreaRes.body; this.terminal_area_subject.next(terminalAreaRes.body); this.airline = airlineRes.body; this.airline_subject.next(airlineRes.body); this.city = cityRes.body; this.city_subject.next(cityRes.body); this.airport = airportRes.body; this.airport_subject.next(airportRes.body); this.country = countryRes.body; this.country_subject.next(countryRes.body); this.aircraft_type_group = aircraftTypeGroupRes.body; this.aircraft_type_group_subject.next(aircraftTypeGroupRes.body); this.airportgroup = airportGroupRes.body; this.airportgroup_subject.next(airportGroupRes.body); this.airlinegroup = airlineGroupRes.body; this.airlinegroup_subject.next(airlineGroupRes.body); } ) } }