import { Component, input, model, OnInit } from "@angular/core";
import { EnviarInfoService } from "../../../Administrador/services/enviar-info.service";
import { AbstractControl, FormBuilder, FormControl, FormGroup, ReactiveFormsModule, ValidationErrors, Validators } from "@angular/forms";
import { provideNativeDateAdapter } from "@angular/material/core";
import { RegistroAcademicoService } from "../../services/registroAcademico.service";
import Swal from "sweetalert2";
import { Router } from "@angular/router";
import { MatDialog, MatDialogActions, MatDialogClose, MatDialogContent, MatDialogModule, MatDialogRef, MatDialogTitle } from "@angular/material/dialog";
import { MatFormFieldModule } from "@angular/material/form-field";
import { MatInputModule } from "@angular/material/input";
import { MatButtonModule } from "@angular/material/button";
import { MatIcon } from "@angular/material/icon";
import { CommonModule } from "@angular/common";



@Component({
    selector: 'app-registro',
    templateUrl: './registro.component.html',
    styleUrls: ['./registro.component.css'],
    providers: [provideNativeDateAdapter()]
})

export class registroComponent implements OnInit {
    color: string = '';
    nombreAlumno= JSON.parse(localStorage.getItem('nombreAlumno') || '');
    Padre = JSON.parse(localStorage.getItem('userData') || '');
    textColor: string = '';
    dia: number = 0;
    mes: number = 0;
    año: number = 0;
    form = this.fb.group({
        idAlumno:[this.nombreAlumno.id],
        primerNombre: ['', Validators.required],
        segundoNombre: ['', Validators.required],
        apellidoPaterno: ['', Validators.required],
        apellidoMaterno: ['', Validators.required],
        curp: ['', [Validators.required, Validators.pattern('^[A-Z]{1}[A-Z]{3}[0-9]{6}[HM]{1}[A-Z]{5}[A-Z0-9]{2}$')]],
        sexo: ['', Validators.required],
        edad: ['', Validators.required],
        ciudadNacimiento: ['', Validators.required],
        estado: ['', Validators.required],
        fechaNacimiento: ['', [Validators.required, this.validateFechaNacimiento]],
        diaNacimiento: [this.dia],
        mesNacimiento: [this.mes],
        añoNacimiento: [this.año],
        domicilio: ['', Validators.required],
        telefonoCasa: ['', [Validators.required, Validators.pattern('^[0-9]{10}$')]],
        institucionProcedencia: ['', Validators.required],
        motivoCambio: ['', Validators.required],
    });    

    validateFechaNacimiento(control: AbstractControl): ValidationErrors | null {
        const fechaNacimiento = new Date(control.value);
        const fechaActual = new Date();
        if (fechaNacimiento > fechaActual) {
            return { fechaInvalida: true };
        }
        return null;
    }

    form2= this.fb.group({
        padrePrimerNombre: ['', Validators.required],
        padreSegundoNombre: ['', Validators.required],
        padreApellidoPaterno: ['', Validators.required],
        padreApellidoMaterno: ['', Validators.required],
        padreCurp: ['', [Validators.required, Validators.pattern('^[A-Z]{1}[A-Z]{3}[0-9]{6}[HM]{1}[A-Z]{5}[A-Z0-9]{2}$')]],
        padreNacionalidad: ['', Validators.required],
        padreEstadoCivil: ['', Validators.required],
        padreFechaNacimiento: ['', [Validators.required, this.validateFechaNacimiento]],
        padreDiaNacimiento: [this.dia],
        padreMesNacimiento: [this.mes],
        padreAñoNacimiento: [this.año],
        padreDomicilio: ['', Validators.required],
        padreCPDomicilio: ['', [Validators.required, Validators.pattern('^[1-9]{5}$')]],
        padreEscolaridad: ['', Validators.required],
        padreOcupacion: ['', Validators.required],
        padreLugarTrabajo: ['', Validators.required],
        padreTelefonoTrabajo: ['', [Validators.required, Validators.pattern('^[1-9]{10}$')]],
        padreExtension: ['', Validators.required],
        padreCelular: ['', [Validators.required, Validators.pattern('^[1-9]{10}$')]],
        padreCorreo: ['', [Validators.required, Validators.pattern('^[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,4}$')]],
    });

    form3= this.fb.group({
        madrePrimerNombre: ['', Validators.required],
        madreSegundoNombre: ['', Validators.required],
        madreApellidoPaterno: ['', Validators.required],
        madreApellidoMaterno: ['', Validators.required],
        madreCurp: ['', [Validators.required, Validators.pattern('^[A-Z]{1}[A-Z]{3}[0-9]{6}[HM]{1}[A-Z]{5}[A-Z0-9]{2}$')]],
        madreNacionalidad: ['', Validators.required],
        madreEstadoCivil: ['', Validators.required],
        madreFechaNacimiento: ['', [Validators.required, this.validateFechaNacimiento]],
        madreDiaNacimiento: [this.dia],
        madreMesNacimiento: [this.mes],
        madreAñoNacimiento: [this.año],
        madreDomicilio: ['', Validators.required],
        madreCPDomicilio: ['', [Validators.required,Validators.pattern('^[1-9]{5}$')]],
        madreEscolaridad: ['', Validators.required],
        madreOcupacion: ['', Validators.required],
        madreLugarTrabajo: ['', Validators.required],
        madreTelefonoTrabajo: ['', [Validators.required,Validators.pattern('^[1-9]{10}$')]],
        madreExtension: ['', Validators.required],
        madreCelular: ['', [Validators.required, Validators.pattern('^[1-9]{10}$')]],
        madreCorreo: ['', [Validators.required, Validators.pattern('^[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,4}$')]],
    });

    form4 = this.fb.group({
        PadreFam:['', Validators.required],
        MadreFam:['', Validators.required],
        persona1:['', Validators.required],
        persona2:['', Validators.required],
        AutorizarAlum:['', Validators.required],
    });

    form5= this.fb.group({
        tipoSangre: ['', Validators.required],
        aspirina: ['', Validators.required],
        penicilina: ['', Validators.required],
        otrosMedicamentos: ['', Validators.required],
        paperas: ['', Validators.required],
        sarampion: ['', Validators.required],
        rubeola: ['', Validators.required],
        escarlatina: ['', Validators.required],
        tosferina: ['', Validators.required],
        tifoidea: ['', Validators.required],
        hepatitis: ['', Validators.required],
        varicela: ['', Validators.required],
        bronquitis: ['', Validators.required],
        apendicitis: ['', Validators.required],
        meninguitis: ['', Validators.required],
        desmayos: ['', Validators.required],
        covid: ['', Validators.required],
        garganta: ['', Validators.required],
        estomago: ['', Validators.required],
        catarro: ['', Validators.required],
        diarrea: ['', Validators.required],
        dolorCabeza: ['', Validators.required],
        fiebreAlta: ['', Validators.required],
        comezonFrecuente: ['', Validators.required],
        mareos: ['', Validators.required],
        diabetes: ['', Validators.required],
        asmatico: ['', Validators.required],
        epileptico: ['', Validators.required],
        enfermedadPiel: ['', Validators.required],
    });

    form6= this.fb.group({
        problemasEmbarazo: ['', Validators.required],
        problemasParto: ['', Validators.required],
        peso: ['', Validators.required],
        pesoActual: ['', Validators.required],
        talla1: ['', Validators.required],
        tallaActual: ['', Validators.required],
        edad1: ['', Validators.required],
        edad2: ['', Validators.required],
        gateo: ['', Validators.required],
        edadGateo: ['', Validators.required],
        edadHablo: ['', Validators.required],
        edadCamino: ['', Validators.required],
        enfermedades: ['', Validators.required],
        alergias: ['', Validators.required],
        tratamientoMedico: ['', Validators.required],
        lentes: ['', Validators.required],
        piePlano: ['', Validators.required],
        zapatoOrtopedico: ['', Validators.required],
        problemasAprendizaje: ['', Validators.required],
        relacionPareja: ['', Validators.required],
        problemasFamilia: ['', Validators.required],
        afectacionProblemas: ['', Validators.required],
        tratamientoPsicologico: ['', Validators.required],
        desagradaFamilia: ['', Validators.required],
        agradaFamilia: ['', Validators.required],
        actividadDesagrada: ['', Validators.required],
        actividadAgrada: ['', Validators.required],
        defectos: ['', Validators.required],
        virtudes: ['', Validators.required],
        futuro: ['', Validators.required],
        comentarios: ['', Validators.required],
    });

    form7= this.fb.group({
        contagioCovid: ['', Validators.required],
        cantidadPersonas: ['', Validators.required],
        cantidadVacunados: ['', Validators.required],
        medidadHigiene: ['', Validators.required],
        usuarioRegistro:[this.Padre[0]]
    });

    tiposDeSangre = [
        {id:'A+',nombre:'A Positivo'}, 
        {id:'A-',nombre:'A Negativo'}, 
        {id:'B+',nombre:'B Positivo'}, 
        {id:'B-',nombre:'B Negativo'}, 
        {id:'AB+',nombre:'AB Positivo'}, 
        {id:'AB-',nombre:'AB Negativo'}, 
        {id:'O+',nombre:'O Positivo'}, 
        {id:'O-',nombre:'O Negativo'}
    ];

    estados = [ 
        'Aguascalientes',
        'Baja California',
        'Baja California Sur',
        'Campeche',
        'Chiapas',
        'Chihuahua',
        'Coahuila',
        'Colima',
        'Ciudad de México',
        'Durango',
        'Guanajuato',
        'Guerrero',
        'Hidalgo',
        'Jalisco',
        'Mexico',
        'Michoacan',
        'Morelos',
        'Nayarit',
        'Nuevo Leon',
        'Oaxaca',
        'Puebla',
        'Queretaro',
        'Quintana Roo',
        'San Luis Potosi',
        'Sinaloa',
        'Sonora',
        'Tabasco',
        'Tamaulipas',
        'Tlaxcala',
        'Veracruz',
        'Yucatan',
        'Zacatecas',
    ];
    
    // Datos general Alumno
        AlumnoDatos: any [] =[
        {titulo:'PrimerNombre:', form:'primerNombre', tipo:'text', errorType:'required'}, 
        {titulo:'SegundoNombre:', form:'segundoNombre', tipo:'text', errorType:'required'},
        {titulo:'ApellidoPaterno:', form:'apellidoPaterno', tipo:'text', errorType:'required'},
        {titulo:'ApellidoMaterno:', form:'apellidoMaterno', tipo:'text', errorType:'required'},
        ];
        EdadAlumno: any []=[
            {id:'1',num:'1 Año'},
            {id:'2',num:'2 Años'},
            {id:'3',num:'3 Años'},
            {id:'4',num:'4 Años'},
            {id:'5',num:'5 Años'},
            {id:'6',num:'6 Años'},
            {id:'7',num:'7 Años'},
            {id:'8',num:'8 Años'},
            {id:'9',num:'9 Años'},
            {id:'10',num:'10 Años'},
            {id:'11',num:'11 Años'},
            {id:'12',num:'12 Años'},
            {id:'13',num:'13 Años'},
            {id:'14',num:'14 Años'},
            {id:'15',num:'15 Años'},
            {id:'16',num:'16 Años'},
            {id:'17',num:'17 Años'},
            {id:'18',num:'18 Años'},
            {id:'19',num:'19 Años'},
            {id:'20',num:'20 Años'},
        ];
        AlumnoDatos1: any [] =[
            {titulo:'Domicilio: ',form:'domicilio', tipo:'text', errorType:'required'},
            {titulo:'Teléfono de casa: ',form:'telefonoCasa', tipo:'tel', errorType:'required', errorType2:'pattern'},
        ];
        AlumnoDatos2: any [] =[
            {titulo:'Institución de la que procede: ',form:'institucionProcedencia', tipo:'text',errorType:'required'},
            {titulo:'Motivo del cambio: ',form:'motivoCambio', tipo:'text', errorType:'required'},
        ];
    // Datos general Padre
    PadreDatos: any [] =[
        {titulo:'PrimerNombre:', form:'padrePrimerNombre', tipo:'text', errorType:'required'}, 
        {titulo:'SegundoNombre:', form:'padreSegundoNombre', tipo:'text', errorType:'required'},
        {titulo:'ApellidoPaterno:', form:'padreApellidoPaterno', tipo:'text', errorType:'required'},
        {titulo:'ApellidoMaterno:', form:'padreApellidoMaterno', tipo:'text', errorType:'required'},
    ];
    PadreDatos1: any [] =[
        {titulo:'Domicilio: ',form:'padreDomicilio', tipo:'text', errorType:'required'},
        {titulo:'C.P.Domicilio: ',form:'padreCPDomicilio', tipo:'number', errorType:'required', errorType3:'pattern'},
    ];
    PadreDatos2: any [] =[
        {titulo:'Ocupación:',form:'padreOcupacion', tipo:'text', errorType:'required'},
        {titulo:'Lugar de Trabajo:',form:'padreLugarTrabajo', tipo:'text', errorType:'required'},
        {titulo:'Tel. de Trabajo:',form:'padreTelefonoTrabajo', tipo:'number', errorType:'required',errorType2:'pattern'},
        {titulo:'Extensión:',form:'padreExtension', tipo:'text', errorType:'required'},
        {titulo:'celular:',form:'padreCelular', tipo:'number', errorType:'required',errorType2:'pattern'},
    ];
    Escolaridad: any [] =[
        {id:'S',nombre:'Sin estudios'},
        {id:'B',nombre:'Bachillerato'},
        {id:'L',nombre:'Licenciatura'},
        {id:'M',nombre:'Maestría'},
        {id:'D',nombre:'Doctorado'},
    ];
    
    //Datos general  Madre
        madreDatos: any [] =[
        {titulo:'PrimerNombre:', form:'madrePrimerNombre', tipo:'text', errorType:'required'}, 
        {titulo:'SegundoNombre:', form:'madreSegundoNombre', tipo:'text', errorType:'required'},
        {titulo:'ApellidoPaterno:', form:'madreApellidoPaterno', tipo:'text', errorType:'required'},
        {titulo:'ApellidoMaterno:', form:'madreApellidoMaterno', tipo:'text', errorType:'required'},
        ];
        madreDatos1: any [] =[
            {titulo:'Domicilio: ',form:'madreDomicilio', tipo:'text', errorType:'required'},
            {titulo:'C.P.Domicilio: ',form:'madreCPDomicilio', tipo:'number', errorType:'required', errorType3:'pattern'},
        ];
        madreDatos2: any [] =[
            {titulo:'Ocupación:',form:'madreOcupacion', tipo:'text', errorType:'required'},
            {titulo:'Lugar de Trabajo:',form:'madreLugarTrabajo', tipo:'text', errorType:'required'},
            {titulo:'Tel. de Trabajo:',form:'madreTelefonoTrabajo', tipo:'number', errorType:'required',errorType2:'pattern'},
            {titulo:'Extensión:',form:'madreExtension', tipo:'text', errorType:'required'},
            {titulo:'celular:',form:'madreCelular', tipo:'number', errorType:'required', errorType2:'pattern'},
        ];
        //Formulario Padecimientos
    alergicoA: any [] =[
        {titulo:'Aspirina: ', si: 'Si', no: 'No', form:'aspirina'}, 
        {titulo:'Penicilina: ', si: 'Si', no: 'No', form:'penicilina'}
    ];
    HaPadecido: any [] =[
        {titulo:'Paperas: ', si: 'Si', no: 'No', form:'paperas'}, 
        {titulo:'Sarampión: ', si: 'Si', no: 'No', form:'sarampion'},
        {titulo:'Rúbeola: ', si: 'Si', no: 'No', form:'rubeola'},
        {titulo:'Escarlatina: ', si: 'Si', no: 'No', form:'escarlatina'},
        {titulo:'Tosferina: ', si: 'Si', no: 'No', form:'tosferina'},
        {titulo:'Tifoidea: ', si: 'Si', no: 'No', form:'tifoidea'},
        {titulo:'Hepatitis: ', si: 'Si', no: 'No', form:'hepatitis'},
        {titulo:'Varicela: ', si: 'Si', no: 'No', form:'varicela'},
        {titulo:'Bronquitis: ', si: 'Si', no: 'No', form:'bronquitis'},
        {titulo:'Apendicitis: ', si: 'Si', no: 'No', form:'apendicitis'},
        {titulo:'Meningitis: ', si: 'Si', no: 'No', form:'meninguitis'},
        {titulo:'Desmayos: ', si: 'Si', no: 'No', form:'desmayos'},
        {titulo:'COVID-19: ', si: 'Si', no: 'No', form:'covid'},
    ];
    PadeceFrecuencia: any [] =[
        {titulo:'Garganta: ', si: 'Si', no: 'No', form:'garganta'}, 
        {titulo:'Estomago: ', si: 'Si', no: 'No', form:'estomago'},
        {titulo:'Catarro: ', si: 'Si', no: 'No', form:'catarro'},
        {titulo:'Diarrea: ', si: 'Si', no: 'No', form:'diarrea'},
        {titulo:'Dolores de cabeza: ', si: 'Si', no: 'No', form:'dolorCabeza'},
        {titulo:'Fiebres Altas: ', si: 'Si', no: 'No', form:'fiebreAlta'},
        {titulo:'Comezón Frecuente: ', si: 'Si', no: 'No', form:'comezonFrecuente'},
        {titulo:'Mareos: ', si: 'Si', no: 'No', form:'mareos'},
    ];
    padeciminetos: any [] =[
        {titulo:' Si es diabetico,¿Qué precausiones sigue?', form:'diabetes', tipo:'text', errorType:'required'}, 
        {titulo:'Si es asmático,¿Qué medicamento utiliza?', form:'asmatico', tipo:'text', errorType:'required'}, 
        {titulo:'Si es epiléptico,¿Qué medicamento utiliza?', form:'epileptico', tipo:'text', errorType:'required'}, 
        {titulo:'¿Presenta alguna enfermedad de la piel?, ¿Cuál?', form:'enfermedadPiel', tipo:'text', errorType:'required'}, 
    ];

    //Antecedentes Alumno

    AntecedentesAlumno: any [] =[
        {titulo:'¿Tuvo problemas en el embarazo? ', si: 'Si', no: 'No', form:'problemasEmbarazo'}, 
        {titulo:'¿Tuvo problemas en el parto? ', si: 'Si', no: 'No', form:'problemasParto'},
    ];
    AntecedentesAlumno1: any [] =[
        {titulo:'¿Cuánto pesó?', form:'peso', tipo:'text'}, 
        {titulo:'¿Cuánto pesa?', form:'pesoActual', tipo:'text'}, 
    ];
    AntecedentesAlumno2: any [] =[
        {titulo:'¿Cuánto Midió?', form:'talla1', tipo:'text'}, 
        {titulo:'¿Cuánto Mide?', form:'tallaActual', tipo:'text'}, 
    ];
    edadControl=[
        {id:'1', nombre:'1 Años'},
        {id:'2',nombre:'2 Años'},
        {id:'3', nombre:'3 Años'}, 
        {id:'4' ,nombre:'4 Años'} , 
        {id:'5',nombre:'5 Años'}, 
        {id:'6',nombre:'6 Años'}, 
        {id:'7',nombre:'7 años'}
    ]
    edad: any [] =[
        {titulo:'¿A que edad?', form:'edadGateo', errorType:'required'},
        {titulo:'Edad en la que habló ', form:'edadHablo', errorType:'required'},
        {titulo:'Edad en la que caminó', form:'edadCamino', errorType:'required'},
    ];
    AntecedentesAlumno3: any [] =[
        {titulo:'Enfermedades que ha padecido:', form:'enfermedades', tipo:'text', errorType:'required'},
        {titulo:'Enfermedades o alergias que padece:', form:'alergias', tipo:'text', errorType:'required'},
        {titulo:'¿Está en algún tratamiento médico?', form:'tratamientoMedico', tipo:'text', errorType:'required'},
    ];
    AntecedentesAlumno4: any [] =[
        {titulo:'¿Usa lentes?', si: 'Si', no: 'No', form:'lentes', errorType:'required'}, 
        {titulo:'¿Tiene pie plano?', si: 'Si', no: 'No', form:'piePlano', errorType:'required'},
        {titulo:'¿Utiliza plantilla o zapato ortopédico? ', si: 'Si', no: 'No', form:'zapatoOrtopedico', errorType:'required'},
    ];
    AntecedentesAlumno5: any [] =[
        {titulo:'¿Qué es lo que creen le desagrada más al niño de su familia?', form:'desagradaFamilia', tipo:'text', errorType:'required'},
        {titulo:'¿Qué es lo que creen le agrada más al niño de su familia?', form:'agradaFamilia', tipo:'text', errorType:'required'},
        {titulo:'¿Qué actividades de su hogar no le gusta hacer a su hijo?', form:'actividadDesagrada', tipo:'text', errorType:'required'},
        {titulo:'¿Qué actividades de su hogar le gusta hacer a su hijo?', form:'actividadAgrada', tipo:'text', errorType:'required'},
        {titulo:'¿Cuáles son los mayores defectos de su hijo?', form:'defectos', tipo:'text', errorType:'required'},
        {titulo:'¿Cuáles son las mayores virtudes de su hijo?', form:'virtudes', tipo:'text', errorType:'required'},
        {titulo:'¿Qué es lo que espera en el futuro para su hijo?', form:'futuro', tipo:'text', errorType:'required'},
        {titulo:'Algún comentario que crea importante agregar:', form:'comentarios', tipo:'text', errorType:'required'},
    ];
    //covid
    covid: any [] =[
        {titulo:'¿Cuántos miembros hay en su familia que vivan en la misma casa?', form:'cantidadPersonas', tipo:'number', errorType:'required'},
        {titulo:'¿Cuántos miembros ya han sido vacunados?', form:'cantidadVacunados', tipo:'number', errorType:'required'},
        {titulo:'¿Qué medidas de higiene maneja en su hogar?', form:'medidadHigiene', tipo:'text', errorType:'required'},
    ];
 
    FormularioCompleto: any [] =[];
    valoresCombinados: any = {};
    selected = new FormControl();
    todayDate = new Date();
    datos: any;
    fecha1: any;
    isLoading: boolean = true;
    registroCompleto: boolean = false;
    constructor(private _enviarInfo: EnviarInfoService, private fb: FormBuilder, private _registroAcademico: RegistroAcademicoService, private _router: Router) {
        this.fecha1 = this.todayDate.toISOString(); 
    }

    getdatos(){
        this._registroAcademico.getRegistroAcademico().subscribe((data: any)=>{
            this.isLoading = false;
            data = data.filter((item:any)=>item.idAlumno === this.nombreAlumno.id);
            this.datos = data[0];       
            if(this.datos !== undefined){
                this.registroCompleto = true;
        this.form.get('primerNombre')?.setValue(this.datos.FiDI_Nombre1);
        this.form.get('segundoNombre')?.setValue(this.datos.FiDI_Nombre2);
        this.form.get('apellidoPaterno')?.setValue(this.datos.FiDI_ApellidoPaterno);
        this.form.get('apellidoMaterno')?.setValue(this.datos.FiDI_ApellidoMaterno);
        this.form.get('curp')?.setValue(this.datos.FiDI_CURP);
        this.form.get('sexo')?.setValue(this.datos.FiDI_Sexo);
        this.form.get('edad')?.setValue(this.datos.FiDI_Edad);
        this.form.get('ciudadNacimiento')?.setValue(this.datos.FiDI_NacCiudad);
        this.form.get('estado')?.setValue(this.datos.FiDI_NacEstado);
        const fechaNacimiento = new Date(
            Number(this.datos.FiDI_NacFechaAnio),
            Number(this.datos.FiDI_NacFechaMes) - 1,
            Number(this.datos.FiDI_NacFechaDia)
        ); 
        this.form.get('fechaNacimiento')?.setValue(fechaNacimiento.toISOString());
        this.form.get('domicilio')?.setValue(this.datos.FiDI_Domicilio);
        this.form.get('telefonoCasa')?.setValue(this.datos.FiDI_Telefono);
        this.form.get('institucionProcedencia')?.setValue(this.datos.FiDI_InstProce);
        this.form.get('motivoCambio')?.setValue(this.datos.FiDI_MotivoCambio);
        // Padre
        this.form2.get('padrePrimerNombre')?.setValue(this.datos.FiDI_PadNombre1);
        this.form2.get('padreSegundoNombre')?.setValue(this.datos.FiDI_PadNombre2);
        this.form2.get('padreApellidoPaterno')?.setValue(this.datos.FiDI_PadApellidoPaterno);
        this.form2.get('padreApellidoMaterno')?.setValue(this.datos.FiDI_PadApellidoMaterno);
        this.form2.get('padreCurp')?.setValue(this.datos.FiDI_PadCURP);
        this.form2.get('padreNacionalidad')?.setValue(this.datos.FiDI_PadNacionalidad);
        this.form2.get('padreEstadoCivil')?.setValue(this.datos.FiDI_PadEstadoCivil);
        const fechaNacimiento1 = new Date(
            Number(this.datos.FiDI_PadNacFechaAnio),
            Number(this.datos.FiDI_PadNacFechaMes) - 1,
            Number(this.datos.FiDI_PadNacFechaDia)
        );
        this.form2.get('padreFechaNacimiento')?.setValue(fechaNacimiento1.toISOString());
        this.form2.get('padreDomicilio')?.setValue(this.datos.FiDI_PadDomicilio);
        this.form2.get('padreCPDomicilio')?.setValue(this.datos.FiDI_PadCP);
        this.form2.get('padreEscolaridad')?.setValue(this.datos.FiDI_PadEscolaridad);
        this.form2.get('padreOcupacion')?.setValue(this.datos.FiDI_PadOcupacion);
        this.form2.get('padreLugarTrabajo')?.setValue(this.datos.FiDI_PadLugTrabajo);
        this.form2.get('padreTelefonoTrabajo')?.setValue(this.datos.FiDI_PadTelTrabajo);
        this.form2.get('padreExtension')?.setValue(this.datos.FiDI_PadTelTrabajoExt);
        this.form2.get('padreCelular')?.setValue(this.datos.FiDI_PadCelular);
        this.form2.get('padreCorreo')?.setValue(this.datos.FiDI_PadCorreo);
        //Madre
        this.form3.get('madrePrimerNombre')?.setValue(this.datos.FiDI_MadNombre1);
        this.form3.get('madreSegundoNombre')?.setValue(this.datos.FiDI_MadNombre2);
        this.form3.get('madreApellidoPaterno')?.setValue(this.datos.FiDI_MadApellidoPaterno);
        this.form3.get('madreApellidoMaterno')?.setValue(this.datos.FiDI_MadApellidoMaterno);
        this.form3.get('madreCurp')?.setValue(this.datos.FiDI_MadCURP);
        this.form3.get('madreNacionalidad')?.setValue(this.datos.FiDI_MadNacionalidad);
        this.form3.get('madreEstadoCivil')?.setValue(this.datos.FiDI_MadEstadoCivil);
        const fechaNacimiento2 = new Date(
            Number(this.datos.FiDI_MadNacFechaAnio),
            Number(this.datos.FiDI_MadNacFechaMes) - 1,
            Number(this.datos.FiDI_MadNacFechaDia)
        );
        this.form3.get('madreFechaNacimiento')?.setValue(fechaNacimiento2.toISOString());
        this.form3.get('madreDomicilio')?.setValue(this.datos.FiDI_MadDomicilio);
        this.form3.get('madreCPDomicilio')?.setValue(this.datos.FiDI_MadCP);
        this.form3.get('madreEscolaridad')?.setValue(this.datos.FiDI_MadEscolaridad);
        this.form3.get('madreOcupacion')?.setValue(this.datos.FiDI_MadOcupacion);
        this.form3.get('madreLugarTrabajo')?.setValue(this.datos.FiDI_MadLugTrabajo);
        this.form3.get('madreTelefonoTrabajo')?.setValue(this.datos.FiDI_MadTelTrabajo);
        this.form3.get('madreExtension')?.setValue(this.datos.FiDI_MadTelTrabajoExt);
        this.form3.get('madreCelular')?.setValue(this.datos.FiDI_MadCelular);
        this.form3.get('madreCorreo')?.setValue(this.datos.FiDI_MadCorreo);
        //Autorizacion
        this.form4.get('PadreFam')?.setValue(this.datos.FiDI_RecogerPadre);
        this.form4.get('MadreFam')?.setValue(this.datos.FiDI_RecogerMadre);
        this.form4.get('persona1')?.setValue(this.datos.FiDI_Autorizados1);
        this.form4.get('persona2')?.setValue(this.datos.FiDI_Autorizados2);
        this.form4.get('AutorizarAlum')?.setValue(this.datos.FiDI_RetirarseSolo);
        //Padecimientos
        this.form5.get('tipoSangre')?.setValue(this.datos.CedA_TipoSangre);
        this.form5.get('aspirina')?.setValue(this.datos.CedA_AlergiaAspirina);
        this.form5.get('penicilina')?.setValue(this.datos.CedA_AlergiaPenicilina);
        this.form5.get('otrosMedicamentos')?.setValue(this.datos.CedA_AlergiaOtro);
        this.form5.get('paperas')?.setValue(this.datos.CedA_PadPaperas);
        this.form5.get('sarampion')?.setValue(this.datos.CedA_PadSarampio);
        this.form5.get('rubeola')?.setValue(this.datos.CedA_PadRubeola);
        this.form5.get('escarlatina')?.setValue(this.datos.CedA_PadEscarlatina);
        this.form5.get('tosferina')?.setValue(this.datos.CedA_PadTosferina);
        this.form5.get('tifoidea')?.setValue(this.datos.CedA_PadTifoidea);
        this.form5.get('hepatitis')?.setValue(this.datos.CedA_PadHepatitis);
        this.form5.get('varicela')?.setValue(this.datos.CedA_PadVaricela);
        this.form5.get('bronquitis')?.setValue(this.datos.CedA_PadBronquitis);
        this.form5.get('apendicitis')?.setValue(this.datos.CedA_PadApendicitis);
        this.form5.get('meninguitis')?.setValue(this.datos.CedA_PadMeningitis);
        this.form5.get('desmayos')?.setValue(this.datos.CedA_PadDesmayos);
        this.form5.get('covid')?.setValue(this.datos.CedA_PadCovid19);
        this.form5.get('garganta')?.setValue(this.datos.CedA_PadGarganta);
        this.form5.get('estomago')?.setValue(this.datos.CedA_PadEstomago);
        this.form5.get('catarro')?.setValue(this.datos.CedA_PadCatarro);
        this.form5.get('diarrea')?.setValue(this.datos.CedA_PadDiarrea);
        this.form5.get('dolorCabeza')?.setValue(this.datos.CedA_PadDolorCabeza);
        this.form5.get('fiebreAlta')?.setValue(this.datos.CedA_PadFiebreAlta);
        this.form5.get('comezonFrecuente')?.setValue(this.datos.CedA_PadComezon);
        this.form5.get('mareos')?.setValue(this.datos.CedA_PadMareos);
        this.form5.get('diabetes')?.setValue(this.datos.CedA_DiabeticoPrecauciones);
        this.form5.get('asmatico')?.setValue(this.datos.CedA_AsmaticoPrecauciones);
        this.form5.get('epileptico')?.setValue(this.datos.CedA_EpilepticoPrecauciones);
        this.form5.get('enfermedadPiel')?.setValue(this.datos.CedA_EnfermedadEnPiel);
        //Antecedentes
        this.form6.get('problemasEmbarazo')?.setValue(this.datos.CedA_ProbEmbarazo);
        this.form6.get('problemasParto')?.setValue(this.datos.CedA_ProbParto);
        this.form6.get('peso')?.setValue(this.datos.CedA_PesoNacimiento);
        this.form6.get('pesoActual')?.setValue(this.datos.CedA_PesoActual);
        this.form6.get('talla1')?.setValue(this.datos.CedA_AlturaNacimiento);
        this.form6.get('tallaActual')?.setValue(this.datos.CedA_AlturaActual);
        this.form6.get('edad1')?.setValue(this.datos.CedA_EsfinteresDiurno);
        this.form6.get('edad2')?.setValue(this.datos.CedA_EsfinteresNocturno);
        this.form6.get('gateo')?.setValue(this.datos.CedA_Gateo);
        this.form6.get('edadGateo')?.setValue(this.datos.CedA_GateoEdad);
        this.form6.get('edadHablo')?.setValue(this.datos.CedA_EdadHablo);
        this.form6.get('edadCamino')?.setValue(this.datos.CedA_EdadCamino);
        this.form6.get('enfermedades')?.setValue(this.datos.CedA_EnfermedadesPadecidas);
        this.form6.get('alergias')?.setValue(this.datos.CedA_EnfermedadesAlergiasActuales);
        this.form6.get('tratamientoMedico')?.setValue(this.datos.CedA_TratamientoMedicoActual);
        this.form6.get('lentes')?.setValue(this.datos.CedA_UsaLentes);
        this.form6.get('piePlano')?.setValue(this.datos.CedA_PiePlano);
        this.form6.get('zapatoOrtopedico')?.setValue(this.datos.CedA_Ortopedico);
        this.form6.get('problemasAprendizaje')?.setValue(this.datos.CedA_ProbAprendizaje);
        this.form6.get('relacionPareja')?.setValue(this.datos.CedA_RelPareja);
        this.form6.get('problemasFamilia')?.setValue(this.datos.CedA_ProblemasFamiliares);
        this.form6.get('afectacionProblemas')?.setValue(this.datos.CedA_HijoAfectado);
        this.form6.get('tratamientoPsicologico')?.setValue(this.datos.CedA_TratPsicologico);
        this.form6.get('desagradaFamilia')?.setValue(this.datos.CedA_LoQueDesagradaFamilia);
        this.form6.get('agradaFamilia')?.setValue(this.datos.CedA_LoQueAgradaFamilia);
        this.form6.get('actividadDesagrada')?.setValue(this.datos.CedA_HogarNoGustan);
        this.form6.get('actividadAgrada')?.setValue(this.datos.CedA_HogarGustan);
        this.form6.get('defectos')?.setValue(this.datos.CedA_Defectos);
        this.form6.get('virtudes')?.setValue(this.datos.CedA_Virtudes);
        this.form6.get('futuro')?.setValue(this.datos.CedA_Futuro);
        this.form6.get('comentarios')?.setValue(this.datos.CedA_Comentario);
        //Covid
        this.form7.get('contagioCovid')?.setValue(this.datos.CedA_FamConCovid);
        this.form7.get('cantidadPersonas')?.setValue(this.datos.CedA_MiemFami);
        this.form7.get('cantidadVacunados')?.setValue(this.datos.CedA_MiemFamiVac);
        this.form7.get('medidadHigiene')?.setValue(this.datos.CedA_MedHigiene);
            }        
        });
    }

    isValidField(field: string, errorType: string) {
        const control = this.form.get(field);
        return control?.hasError(errorType) && control?.touched;
    }
    isValidField1(field: string, errorType: string) {
        const control = this.form2.get(field);
        return control?.hasError(errorType) && control?.touched;
    }
    isValidField2(field: string, errorType: string) {        
        const control = this.form3.get(field);
        return control?.hasError(errorType) && control?.touched;
    }
    isValidField3(field: string, errorType: string) {
        const control = this.form4.get(field);
        return control?.hasError(errorType) && control?.touched;
    }
    isValidField4(field: string , errorType: string) {
        const control = this.form5.get(field);
        return control?.hasError(errorType) && control?.touched;
    }
    isValidField5(field: string , errorType: string) {
        const control = this.form6.get(field);
        return control?.hasError(errorType) && control?.touched;
    }
    isValidField6(field: string, errorType: string) {
        const control = this.form7.get(field);
        return control?.hasError(errorType) && control?.touched;
      }

    ngOnInit(): void {
        this.getdatos();
        console.log(this.registroCompleto);
        this._enviarInfo.currentTextColor.subscribe(textColor => {
            this.textColor = textColor;
        });
        this._enviarInfo.currentColor.subscribe(color => {
            this.color = color;
        });
    }

    siguienteTap(index:number){
        this.selected.setValue(index);
    }

    siguiente(){
        if (this.form.invalid) {
            this.form.markAllAsTouched();
            return;
        }        
    }

    siguiente1() {
        if (this.form2.invalid) {
            this.form2.markAllAsTouched();
            return;
        } 
    }

    siguiente2() {
        if (this.form3.invalid) {
            this.form3.markAllAsTouched();
            return;
        } 
    }

    siguiente3() {
        if (this.form4.invalid) {
            this.form4.markAllAsTouched();
            return;
        } 
    }

    siguiente4() {
        if (this.form5.invalid) {
            this.form5.markAllAsTouched();
            return;
        } 
    }

    siguiente5() {
        if (this.form6.invalid) {
            this.form6.markAllAsTouched();
            return;
        } 
    }
    
    onSave() {
        if (this.form7.invalid) {
            this.form7.markAllAsTouched();
            return;
        } 
        if(this.form.valid){
            if(this.form.value.fechaNacimiento){
                const fechaNacimiento = new Date(this.form.value.fechaNacimiento);
                const dia = fechaNacimiento.getDate();
                const mes = fechaNacimiento.getMonth() + 1;
                const año = fechaNacimiento.getFullYear();
                this.form.controls['diaNacimiento'].setValue(dia);
                this.form.controls['mesNacimiento'].setValue(mes);
                this.form.controls['añoNacimiento'].setValue(año);
            }
            Object.assign(this.valoresCombinados, this.form.value);
        }
        if(this.form2.valid){
            if(this.form2.value.padreFechaNacimiento){
                const fechaNacimiento = new Date(this.form2.value.padreFechaNacimiento);
                const dia = fechaNacimiento.getDate();
                const mes = fechaNacimiento.getMonth() + 1;
                const año = fechaNacimiento.getFullYear();
                this.form2.controls['padreDiaNacimiento'].setValue(dia);
                this.form2.controls['padreMesNacimiento'].setValue(mes);
                this.form2.controls['padreAñoNacimiento'].setValue(año);
            }
            Object.assign(this.valoresCombinados, this.form2.value);
        }
        if(this.form3.valid){
            if(this.form3.value.madreFechaNacimiento){
                const fechaNacimiento = new Date(this.form3.value.madreFechaNacimiento);
                const dia = fechaNacimiento.getDate();
                const mes = fechaNacimiento.getMonth() + 1;
                const año = fechaNacimiento.getFullYear();
                this.form3.controls['madreDiaNacimiento'].setValue(dia);
                this.form3.controls['madreMesNacimiento'].setValue(mes);
                this.form3.controls['madreAñoNacimiento'].setValue(año);
            }
            Object.assign(this.valoresCombinados, this.form3.value);
        }
        if(this.form4.valid){
            Object.assign(this.valoresCombinados, this.form4.value);
        }
        if(this.form5.valid){
            Object.assign(this.valoresCombinados, this.form5.value);
        }
        if(this.form6.valid){
            Object.assign(this.valoresCombinados, this.form6.value);
        }
        if(this.form7.valid){
            Object.assign(this.valoresCombinados, this.form7.value);
        }
        this._registroAcademico.getRegistroAcademico().subscribe((data: any)=>{
            data = data.filter((item:any)=>item.idAlumno === this.nombreAlumno.id);
            this.datos = data[0];
            if(this.datos){
                this._registroAcademico.ActualizarRegistroAcademico(this.valoresCombinados).subscribe((data: any)=>{
                    Swal.fire('Actualizació exitosa', data.mensaje, 'success');
                });
                this.ngOnInit();
            } else{
                this._registroAcademico.createRegistroAcademico(this.valoresCombinados).subscribe((data: any)=>{
                    Swal.fire('Registro exitoso', data.mensaje, 'success');
                });
                this.ngOnInit();
            }
        });
    }

    onSaveSalir(){
        if(this.form.value.fechaNacimiento){
            const fechaNacimiento = new Date(this.form.value.fechaNacimiento);
            const dia = fechaNacimiento.getDate();
            const mes = fechaNacimiento.getMonth() + 1;
            const año = fechaNacimiento.getFullYear();
            this.form.controls['diaNacimiento'].setValue(dia);
            this.form.controls['mesNacimiento'].setValue(mes);
            this.form.controls['añoNacimiento'].setValue(año);
        }
        Object.assign(this.valoresCombinados, this.form.value);

        if(this.form2.value.padreFechaNacimiento){
            const fechaNacimiento = new Date(this.form2.value.padreFechaNacimiento);
            const dia = fechaNacimiento.getDate();
            const mes = fechaNacimiento.getMonth() + 1;
            const año = fechaNacimiento.getFullYear();
            this.form2.controls['padreDiaNacimiento'].setValue(dia);
            this.form2.controls['padreMesNacimiento'].setValue(mes);
            this.form2.controls['padreAñoNacimiento'].setValue(año);
        }
        Object.assign(this.valoresCombinados, this.form2.value);

        if(this.form3.value.madreFechaNacimiento){
            const fechaNacimiento = new Date(this.form3.value.madreFechaNacimiento);
            const dia = fechaNacimiento.getDate();
            const mes = fechaNacimiento.getMonth() + 1;
            const año = fechaNacimiento.getFullYear();
            this.form3.controls['madreDiaNacimiento'].setValue(dia);
            this.form3.controls['madreMesNacimiento'].setValue(mes);
            this.form3.controls['madreAñoNacimiento'].setValue(año);
        }
        Object.assign(this.valoresCombinados, this.form3.value);
        Object.assign(this.valoresCombinados, this.form4.value);
        Object.assign(this.valoresCombinados, this.form5.value);
        Object.assign(this.valoresCombinados, this.form6.value);
        Object.assign(this.valoresCombinados, this.form7.value);
    }

    Salir(){
        Swal.fire({
            title: '¿Estás seguro de salir?',
            text: "los datos ingresados se guardarán automáticamente",
            icon: 'warning',
            showCancelButton: true,
            confirmButtonColor: '#3085d6',
            cancelButtonColor: '#d33',
            confirmButtonText: 'Salir',
            cancelButtonText: 'Cancelar'
            }).then((result) => {
            if (result.isConfirmed) {
                this.onSaveSalir();
                this._router.navigate(['/homePadres/registroAlumno']);
            }
        });
    }
}

@Component({
    selector: 'app-registro',
    templateUrl: './registroAd.component.html',
    styleUrls: ['./registro.component.css'],
    providers: [provideNativeDateAdapter()]
})

export class RegistroAdComponent implements OnInit {
    GradoCursar=[
        {id:'1', nombre:'1° primaria'},
        {id:'2',nombre:'2° primaria'},
        {id:'3', nombre:'3° primaria'}, 
        {id:'4' ,nombre:'4° primaria'} , 
        {id:'5',nombre:'5° primaria'}, 
        {id:'6',nombre:'6° primaria'}, 
    ];
    Mes=[
        {id:'EN', nombre:'Enero'},
        {id:'FE',nombre:'Febrero'},
        {id:'MR', nombre:'Marzo'}, 
        {id:'AB' ,nombre:'Abril'} , 
        {id:'MY',nombre:'Mayo'}, 
        {id:'JN',nombre:'Junio'}, 
        {id:'JL',nombre:'Julio'}, 
        {id:'AG',nombre:'Agosto'}, 
        {id:'SE',nombre:'Septiembre'}, 
        {id:'OC',nombre:'Octubre'}, 
        {id:'NO',nombre:'Noviembre'}, 
        {id:'DI',nombre:'Diciembre'}, 
    ];
    planPago=[
        {id:'12', nombre:'12 Meses Primaria'},
        {id:'11',nombre:'11 Meses Primaria'},
        {id:'10', nombre:'10 Meses Primaria'}, 
    ];
    porcentaje=[
        {id:'NA', nombre:'N/A'},
        {id:'10',nombre:'10% DE BECA'},
        {id:'13', nombre:'13% DE BECA'}, 
        {id:'15',nombre:'15% DE BECA'},
        {id:'20', nombre:'20% DE BECA'}, 
        {id:'25',nombre:'25% DE BECA'},
        {id:'33', nombre:'33% DE BECA'}, 
        {id:'100', nombre:'100% DE BECA'}, 
    ];
    MetodoPago=[
        {id:'EF', nombre:'Efectivo'},
        {id:'TR',nombre:'Transferencia Electrónica de fondos'},
    ];
    color: string = '';
    textColor: string = '';
    form!: FormGroup;
    form2!: FormGroup;
    selected = new FormControl();
    registroCompleto: boolean = false;
    formularioCompleto: any ={}
    nombreAlumno= JSON.parse(localStorage.getItem('nombreAlumno') || '');
    Padre = JSON.parse(localStorage.getItem('userData') || '');

    constructor(private _enviarInfo: EnviarInfoService, private fb: FormBuilder,public dialog: MatDialog) {   
        this.formulario();        
    }

    formulario() {
        this.form = this.fb.group({
            idAlumno: [this.nombreAlumno.id],
            gradoCursar: ['', Validators.required],
            mesInscripcion: ['', Validators.required],
            planPago: ['', Validators.required],
            becaCurso: ['', Validators.required],
            becaPorcentaje: ['', Validators.required],
            
        });
        this.form2 = this.fb.group({
            factura: ['', Validators.required],
            metedoPago: ['', Validators.required],
            RFCFactura: ['', Validators.required],
            razonSocial: ['', Validators.required],
            domicilioFactura: ['', Validators.required],
            correoFactura: ['', [Validators.required, Validators.pattern('^[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,4}$')]],
            usuarioRegistro:[this.Padre[0]],
            cuentaPago: ['', Validators.required],
            modalidad: ['Presencial'],
        });     
    }

    factura(event:any){        
        if(event.value === 'No'){
            this.form2.get('metedoPago')?.setValue('EF');
            this.form2.get('RFCFactura')?.setValue('XAXX010101000');
            this.form2.get('razonSocial')?.setValue('PUBLICO EN GENERAL');
            this.form2.get('cuentaPago')?.setValue('00');
            this.form2.get('domicilioFactura')?.disable();
            this.form2.get('correoFactura')?.disable();
            this.form2.get('razonSocial')?.disable();
            this.form2.get('RFCFactura')?.disable();
            this.form2.get('metedoPago')?.disable();
        } else{
            this.form2.get('metedoPago')?.setValue('');
            this.form2.get('RFCFactura')?.setValue('');
            this.form2.get('razonSocial')?.setValue('');
            this.form2.get('cuentaPago')?.setValue('01');
            this.form2.get('domicilioFactura')?.enable();
            this.form2.get('correoFactura')?.enable();
            this.form2.get('razonSocial')?.enable();
            this.form2.get('RFCFactura')?.enable();
            this.form2.get('metedoPago')?.enable();
        }
    }

    siguienteTap(index:number){
        if(this.form.invalid){
            this.form.markAllAsTouched();
            return
        }
        this.selected.setValue(index);
    }
    Salir(){

    }

    isValidField(field: string, errorType: string) {
        const control = this.form.get(field);
        return control?.hasError(errorType) && control?.touched;
    }
    isValidField1(field: string, errorType: string) {
        const control = this.form2.get(field);
        return control?.hasError(errorType) && control?.touched;
    }
  
    ngOnInit(): void {
        this._enviarInfo.currentTextColor.subscribe(textColor => {
            this.textColor = textColor;
        });
        this._enviarInfo.currentColor.subscribe(color => {
            this.color = color;
        });
    }
    guardarFormulario(){                
        if(this.form2.invalid){
            this.form2.markAllAsTouched();
            return;
        }

        if(this.form.valid){
            Object.assign(this.formularioCompleto, this.form.value);
        }
        if(this.form2.valid){
            if(this.form.value.factura === 'No'){
                this.form2.get('domicilioFactura')?.enable();
                this.form2.get('correoFactura')?.enable();
                this.form2.get('razonSocial')?.enable();
                this.form2.get('RFCFactura')?.enable();
                this.form2.get('metedoPago')?.enable();
                this.form2.get('metedoPago')?.setValue('EF');
                this.form2.get('RFCFactura')?.setValue('XAXX010101000');
                this.form2.get('razonSocial')?.setValue('PUBLICO EN GENERAL');
            }
            Object.assign(this.formularioCompleto, this.form2.value);
        }        
    }

    onSave() {
        if (this.form.invalid) {
            this.form.markAllAsTouched();
            return;
        }
    }

    Asistente(){
       const asistente= this.dialog.open(Asistente,{
        });
        asistente.afterClosed().subscribe((result) => {
            if(result){
                this.form.get('domicilio')?.setValue(result);
            }
        });
    }
}
@Component({
    selector: 'App-Asistente',
    templateUrl: './Asistente.html',
    styleUrls: ['./registro.component.css'],
    standalone: true,
    imports:[ MatDialogActions, MatDialogClose, MatButtonModule,  MatFormFieldModule, MatInputModule, MatIcon, CommonModule,ReactiveFormsModule]
  })
  export class Asistente {
    form!: FormGroup;
    constructor( public dialogRef: MatDialogRef<Asistente> , private fb: FormBuilder) {
        this.Formulario();
    }
    
    Formulario(){
        this.form = this.fb.group({
            calle:['', Validators.required],
            interior:['', Validators.required],
            exterior:['', Validators.required],
            colonia:['', Validators.required],
            localidad:['', Validators.required],
            municipio:['', Validators.required],
            estado:['', Validators.required],
            CP:['', [Validators.required, Validators.pattern('^[1-9]{5}$')]],
            pais:['', Validators.required],
            referencia:['', Validators.required],
        });
    }

    isValidField(field: string, errorType: string) {
        const control = this.form.get(field);
        return control?.hasError(errorType) && control?.touched;
    }
    ngOnInit(): void {
    }

    guardar(){
        if(this.form.invalid){
            this.form.markAllAsTouched();
            return;
        }
        this.dialogRef.close(this.form.value);
    }
  }