import { Component, OnInit } from '@angular/core';
import { FormBuilder, FormGroup } from '@angular/forms';
import { ActivatedRoute } from '@angular/router';
import { VuelosService } from '../../services/vuelos.service';
import { AeropuertosService } from '../../../aeropuertos/services/aeropuertos.service';

@Component({
  selector: 'app-detalles',
  templateUrl: './detalles.component.html',
  styleUrls: ['./detalles.component.css']
})
export class DetallesComponent implements OnInit {

  id: number = 0;
  aeropuertos: any[] = [];
  escalasPost: any[] = [];

  vueloForm: FormGroup = this.formBuilder.group({
    fechaSalida: [ '' ],
    fechaLlegada: [ ''],
    origen: [ '' ],
    destino: [ ''],
    codigoAerolinea: [ ''],
    codigoTipoAeronave: [ ''],
    costo:[ ''],
  })

  escalaForm: FormGroup = this.formBuilder.group({
    diaSalida: [ ''],
    diaLlegada: [ ''],
    origen: [ ''],
    destino: [ '']
  })
  
  constructor(
    private formBuilder: FormBuilder,
    private activateRoute: ActivatedRoute,
    private vuelosService: VuelosService,
    private aeropuertosService: AeropuertosService
  ){}
  
  ngOnInit(): void {
    this.id = this.activateRoute.snapshot.params['id'];
    this.llenarFormulario();
    this.listarAeropuertos();
  }

  listarAeropuertos(){
    this.aeropuertosService.getAeropuertos().subscribe(
      res => {
        this.aeropuertos = res;
      }
    )
  }

  private llenarFormulario(){
    this.vuelosService.getVuelo(this.id).subscribe(
      res => {
        let date= new Date(res['fechaLlegada']).toISOString().slice(0, 16);
        let date2= new Date(res['fechaSalida']).toISOString().slice(0, 16);
        this.vueloForm.controls['fechaLlegada'].setValue(date);
        this.vueloForm.controls['fechaSalida'].setValue(date2);
        this.vueloForm.controls['codigoAerolinea'].setValue(res.codigoAerolinea);
        this.vueloForm.controls['codigoTipoAeronave'].setValue(res.codigoTipoAeronave);
        this.vueloForm.controls['costo'].setValue(res.costo);
        this.vueloForm.controls['origen'].setValue(res.codigoOrigen);
        this.vueloForm.controls['destino'].setValue(res.codigoDestino);
        this.escalasPost = res.escalas;
      }
    )
  }

}
