From e1bda7ef4ce3046d488c0c764aed4eb62a546b22 Mon Sep 17 00:00:00 2001 From: Benjamin Date: Fri, 24 Jan 2020 10:49:14 -0300 Subject: [PATCH] agrego modal sinonimos al header publicidad --- .../header-publicidad.component.ts | 38 +++++++++++++++++++++- 1 file changed, 37 insertions(+), 1 deletion(-) diff --git a/src/app/shared/header-publicidad/header-publicidad.component.ts b/src/app/shared/header-publicidad/header-publicidad.component.ts index f8893e1..86247a2 100644 --- a/src/app/shared/header-publicidad/header-publicidad.component.ts +++ b/src/app/shared/header-publicidad/header-publicidad.component.ts @@ -7,6 +7,9 @@ import { PromocionComponent } from '../promocion/promocion.component'; import { BsModalService, BsModalRef } from 'ngx-bootstrap/modal'; import { ArticuloService } from 'src/app/services/articulo/articulo.service'; import { ConfirmacionComponent } from '../confirmacion/confirmacion.component'; +import { SinonimoService } from 'src/app/services/sinonimo/sinonimo.service'; +import { ISinonimo } from 'src/app/interfaces/ISinonimo'; +import { SinonimoComponent } from '../sinonimo/sinonimo.component'; @Component({ selector: 'app-header-publicidad', @@ -22,6 +25,7 @@ export class HeaderPublicidadComponent implements OnInit { private publicidadService: PublicidadService, private articuloService: ArticuloService, private modalService: BsModalService, + private sinonimoService: SinonimoService ) { } ngOnInit() { @@ -77,10 +81,42 @@ export class HeaderPublicidadComponent implements OnInit { class: 'modal-promo modal-dialog-centered' }); this.modalRef.content.onClose.subscribe(() => { - this.articuloService.setArticulo(articulo); + this.sinonimoService.getSinonimos(articulo.CodSec, articulo.CodArt) + .subscribe((res: ISinonimo[]) => { + if (res.length) { + this.openModalSinonimos(res, articulo); + } else { + articulo.cantidad = 1; + this.articuloService.setArticulo(articulo); + } + }, err => console.error(err)); }); + this.mediaPantalla(); } + openModalSinonimos(sinonimosData: ISinonimo[], articulo: IArticulo) { + const modalSinonimo = this.modalService.show(SinonimoComponent, { + initialState: { sinonimos: sinonimosData }, + class: 'modal-promo modal-dialog-centered' + }); + modalSinonimo.content.onClose + .subscribe((res: any) => { + for (const a of articulo.productos) { + if (a.idSinonimo === res.ID_SIN) { + a.CODA = res.articulo.CodArt; + a.CodArt = res.articulo.CodArt; + a.SECA = res.articulo.CodSec; + a.CodSec = res.articulo.CodSec; + a.PreVen = res.articulo.PreVen; + a.id = res.articulo.id; + a.DET_LAR = res.articulo.DET_LAR; + a.DetArt = res.articulo.DetArt; + } + } + this.articuloService.setArticulo(articulo); + }); +} + mediaPantalla() { if ($('body').hasClass('media-pantalla')) { $('#headerPublicidad,#headerPad').addClass('media-pantalla'); -- 1.9.1