Advertisement
Fhernd

oferente.component.ts

Jul 18th, 2024 (edited)
494
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. import { Component, OnInit } from '@angular/core';
  2. import { FormControl, FormGroup, Validators } from '@angular/forms';
  3.  
  4. import { NgxSpinnerService } from 'ngx-spinner';
  5. import Swal from 'sweetalert2';
  6.  
  7. import { Oferente } from 'src/app/models/oferente.model';
  8. import { OferenteService } from 'src/app/services/oferente/oferente.service';
  9. import { Cuenta } from 'src/app/models/cuenta.model';
  10. import { CuentaService } from 'src/app/services/oferente/cuenta.service';
  11. import { Email } from 'src/app/models/email.model';
  12. import { Especialidad } from 'src/app/models/especialidad.model'
  13.  
  14.  
  15. @Component({
  16.     selector: 'app-oferente',
  17.     templateUrl: './oferente.component.html'
  18. })
  19. export class OferenteComponent implements OnInit {
  20.     oferenteId: number = 1;
  21.     entidad: string = 'Oferente';
  22.     oferente: Oferente | null = null;
  23.     frmEntidad: FormGroup;
  24.     cuenta: Cuenta | null = null;
  25.     emails: Email[] = [];
  26.     especialidades: Especialidad[] = [];
  27.  
  28.     constructor(private oferenteService: OferenteService, private spinner: NgxSpinnerService, private cuentaService: CuentaService) {
  29.         this.frmEntidad = new FormGroup({
  30.             'id': new FormControl('', Validators.required),
  31.             'nombre': new FormControl('', Validators.required),
  32.             'rut': new FormControl('', Validators.required),
  33.         });
  34.     }
  35.  
  36.     ngOnInit(): void {
  37.         this.frmEntidad = new FormGroup({
  38.             'id': new FormControl('', Validators.required),
  39.             'nombre': new FormControl('', Validators.required),
  40.             'rut': new FormControl('', Validators.required),
  41.             'fecha_inicio_actividad': new FormControl('', Validators.required),
  42.         });
  43.  
  44.         this.oferenteService.getByIdAlpha(this.oferenteId).subscribe((response: any) => {
  45.             this.oferente = response['data'];
  46.  
  47.             if (!this.oferente) {
  48.                 return;
  49.             }
  50.             this.frmEntidad.patchValue({
  51.                 'id': this.oferente.id,
  52.                 'nombre': this.oferente.nombre,
  53.                 'rut': this.oferente.rut,
  54.                 'fecha_inicio_actividad': this.oferente.fecha_inicio_actividad,
  55.             });
  56.  
  57.             this.cuentaService.getCuentaByOferenteId(this.oferente.id).subscribe((response: any) => {
  58.                 this.cuenta = response['data'];
  59.             });
  60.  
  61.             if (this.oferente && this.oferenteId) {
  62.                 this.oferenteService.getEmailsByOferenteId(this.oferenteId).subscribe((emails) => {
  63.                     this.emails = emails;
  64.                 });
  65.             }
  66.         });
  67.     }
  68.  
  69.     editarEntidad(): void {
  70.         if (this.frmEntidad.valid) {
  71.             this.spinner.show();
  72.  
  73.             const entidadEditada = this.frmEntidad.value;
  74.  
  75.             this.oferenteService.update(entidadEditada.id, entidadEditada).subscribe((response) => {
  76.                 this.spinner.hide();
  77.  
  78.                 Swal.fire({
  79.                     title: `${this.entidad} Actualizada`,
  80.                     text: `El ${this.entidad.toLowerCase()} ha sido actualizado satisfactoriamente.`,
  81.                     icon: 'success',
  82.                     confirmButtonText: 'OK'
  83.                 });
  84.             }, (error) => {
  85.                 this.spinner.hide();
  86.  
  87.                 Swal.fire({
  88.                     title: 'Error',
  89.                     text: 'Ha ocurrido un error al intentar actualizar el oferente.',
  90.                     icon: 'error',
  91.                     confirmButtonText: 'OK'
  92.                 });
  93.             });
  94.         }
  95.     }
  96. }
  97.  
Tags: angular
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement