126 lines
3.0 KiB
TypeScript
126 lines
3.0 KiB
TypeScript
import { Injectable, OnInit } from '@angular/core';
|
|
import { stringify } from 'querystring';
|
|
import { Tab1Page } from './tab1.page'
|
|
import { Discoteca } from '../discoteca'
|
|
import { Observable, of } from 'rxjs';
|
|
import { FormControl, FormGroup, Validators } from '@angular/forms';
|
|
import { NumericValueAccessor } from '@ionic/angular';
|
|
import { DiscotecaI } from '../interfaces/discoteca-i';
|
|
import { ApiService } from '../services/api.service';
|
|
import { Router } from '@angular/router';
|
|
import { Eventoi } from '../interfaces/eventoi';
|
|
|
|
|
|
@Injectable({
|
|
providedIn: 'root'
|
|
})
|
|
export class Tab1Service implements OnInit{
|
|
|
|
discoteca: Discoteca;
|
|
discotecaI: DiscotecaI;
|
|
galeria: string[];
|
|
eventos: Eventoi[];
|
|
eventoForms: FormGroup[];
|
|
eventoIndex: number;
|
|
editarEvento: boolean;
|
|
|
|
constructor(private apiService: ApiService, private router: Router) {
|
|
|
|
}
|
|
|
|
ngOnInit(){
|
|
|
|
}
|
|
|
|
initValues(): void{
|
|
this.discoteca = new Discoteca();
|
|
this.discoteca.setId(this.discotecaI.discotecaID);
|
|
this.discoteca.setNombre(this.discotecaI.nombre);
|
|
this.discoteca.setTelefono(this.discotecaI.telefono);
|
|
this.discoteca.setLocalizacion(this.discotecaI.localizacion);
|
|
this.initEventos();
|
|
this.galeria = [];
|
|
this.editarEvento = false;
|
|
}
|
|
|
|
getNombre(): string{
|
|
return this.discoteca.getNombre();
|
|
}
|
|
|
|
getTelefono(): number{
|
|
return this.discoteca.getTelefono();
|
|
}
|
|
|
|
getLocalizacion(): string{
|
|
return this.discoteca.getLocalizacion();
|
|
}
|
|
|
|
getEventos(): Eventoi[]{
|
|
return this.eventos;
|
|
}
|
|
|
|
getDescripcion(): string{
|
|
return this.discoteca.getDescripcion();
|
|
}
|
|
|
|
initEventos(): void{
|
|
this.eventos = [];
|
|
this.apiService.getEventosDiscoteca(this.discoteca.getId())
|
|
.subscribe(eventos => {
|
|
this.eventos = eventos;
|
|
this.router.navigate(['/tabs/tab1/perfil-discoteca']);
|
|
})
|
|
|
|
|
|
}
|
|
|
|
initEventoForms(): void{
|
|
this.eventoForms = [];
|
|
if (this.eventos){
|
|
this.eventos.forEach(evento => {
|
|
let thisForm = new FormGroup({
|
|
nombre: new FormControl(null, Validators.required),
|
|
fecha: new FormControl(null, Validators.required),
|
|
hora: new FormControl(null, Validators.required),
|
|
precio1: new FormControl(null, Validators.required),
|
|
precio2: new FormControl(null, Validators.required),
|
|
descripcion: new FormControl(null, Validators.required),
|
|
});
|
|
thisForm.patchValue(evento);
|
|
this.eventoForms.push(thisForm);
|
|
})
|
|
}
|
|
}
|
|
|
|
getEventobyIndex(eventoIndex: number){
|
|
return this.eventos[eventoIndex];
|
|
}
|
|
|
|
getDiscoteca(discotecaId: number){
|
|
if (discotecaId != 0){
|
|
this.apiService.getUserDiscoteca(discotecaId)
|
|
.subscribe(discoteca => {
|
|
this.discotecaI = discoteca[0];
|
|
console.log(this.discotecaI);
|
|
this.initValues();
|
|
})
|
|
}
|
|
|
|
}
|
|
|
|
postEvento(evento: Eventoi){
|
|
this.apiService.postEvento(evento)
|
|
.subscribe(evento => {
|
|
this.initEventos();
|
|
})
|
|
|
|
}
|
|
|
|
updateEvento(evento: Eventoi){
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|