Merge branch 'master' of https://git.coolneng.duckdns.org/onsaliyo/Discofy
This commit is contained in:
		
						commit
						099180f8d2
					
				| @ -23,7 +23,7 @@ const routes: Routes = [ | ||||
|   }, | ||||
|   { | ||||
|     path:'', | ||||
|     redirectTo: 'tabs', | ||||
|     redirectTo: 'login', | ||||
|     pathMatch: 'full' | ||||
|   }, | ||||
| 
 | ||||
|  | ||||
| @ -1,5 +1,6 @@ | ||||
| import { NgModule } from '@angular/core'; | ||||
| import { BrowserModule } from '@angular/platform-browser'; | ||||
| import { HttpClientModule } from '@angular/common/http'; | ||||
| import { RouteReuseStrategy } from '@angular/router'; | ||||
| import { ReactiveFormsModule } from '@angular/forms'; | ||||
| import { IonicModule, IonicRouteStrategy } from '@ionic/angular'; | ||||
| @ -15,7 +16,7 @@ import { LoginPage } from './login/login.page'; | ||||
| @NgModule({ | ||||
|   declarations: [AppComponent, PerfilDiscotecaPage, PromptEventoPage, LoginPage], | ||||
|   entryComponents: [], | ||||
|   imports: [BrowserModule, IonicModule.forRoot(), AppRoutingModule, ReactiveFormsModule, GaleriamodalPageModule], | ||||
|   imports: [BrowserModule, HttpClientModule, IonicModule.forRoot(), AppRoutingModule, ReactiveFormsModule, GaleriamodalPageModule], | ||||
|   providers: [ | ||||
|     StatusBar, | ||||
|     SplashScreen, | ||||
|  | ||||
| @ -8,7 +8,15 @@ export class Discoteca { | ||||
|     private telefono: number; | ||||
|     private localizacion: string; | ||||
|     private eventos: Evento[]; | ||||
|     private descripcion: string; | ||||
| 
 | ||||
|     setId(id: number): void{ | ||||
|         this.id = id; | ||||
|     } | ||||
| 
 | ||||
|     getId(): number{ | ||||
|         return this.id; | ||||
|     } | ||||
| 
 | ||||
|     setNombre(nombre: string): void{ | ||||
|         this.nombre = nombre; | ||||
| @ -37,4 +45,12 @@ export class Discoteca { | ||||
|     getEventos(): Evento[]{ | ||||
|         return this.eventos; | ||||
|     } | ||||
| 
 | ||||
|     setDescripcion(desc: string): void{ | ||||
|         this.descripcion = desc; | ||||
|     } | ||||
| 
 | ||||
|     getDescripcion(): string{ | ||||
|         return this.descripcion; | ||||
|     } | ||||
| } | ||||
|  | ||||
| @ -1,7 +0,0 @@ | ||||
| import { Evento } from './evento'; | ||||
| 
 | ||||
| describe('Evento', () => { | ||||
|   it('should create an instance', () => { | ||||
|     expect(new Evento()).toBeTruthy(); | ||||
|   }); | ||||
| }); | ||||
| @ -1,75 +0,0 @@ | ||||
| export class Evento { | ||||
|     private id: number; | ||||
|     nombre: string; | ||||
|     localizacion: string; | ||||
|     fecha: Date; | ||||
|     dia: string; | ||||
|     hora: string; | ||||
|     descripcion: string; | ||||
|     precio1: number; | ||||
|     precio2: number; | ||||
| 
 | ||||
|     setNombre(nombre: string): void{ | ||||
|         this.nombre = nombre; | ||||
|       } | ||||
| 
 | ||||
|     getNombre(): string{ | ||||
|         return this.nombre; | ||||
|       } | ||||
| 
 | ||||
|     setLocalizacion(localizacion: string): void{ | ||||
|         this.localizacion = localizacion; | ||||
|     } | ||||
| 
 | ||||
|     getLocalizacion(): string{ | ||||
|         return this.localizacion | ||||
|     } | ||||
| 
 | ||||
|     setFecha(fecha: Date): void{ | ||||
|         this.fecha = fecha; | ||||
|     } | ||||
| 
 | ||||
|     getFecha(): Date{ | ||||
|         return this.fecha; | ||||
|     } | ||||
| 
 | ||||
|     setDesc(desc: string): void{ | ||||
|         this.descripcion = desc; | ||||
|     } | ||||
| 
 | ||||
|     getDesc(): string{ | ||||
|         return this.descripcion; | ||||
|     } | ||||
| 
 | ||||
|     setDia(fecha: Date): void{ | ||||
|         this.dia = fecha.getDate()+"/"+fecha.getMonth(); | ||||
|     } | ||||
| 
 | ||||
|     getDia(): string{ | ||||
|         return this.dia; | ||||
|     } | ||||
| 
 | ||||
|     setHora(fecha: Date): void{ | ||||
|         this.hora = fecha.getHours()+":"+fecha.getMinutes(); | ||||
|     } | ||||
| 
 | ||||
|     getHora(): string{ | ||||
|         return this.hora; | ||||
|     } | ||||
| 
 | ||||
|     setPrecio1(precio: number): void{ | ||||
|         this.precio1 = precio; | ||||
|     } | ||||
| 
 | ||||
|     getPrecio1(): number{ | ||||
|         return this.precio1; | ||||
|     } | ||||
| 
 | ||||
|     setPrecio2(precio: number): void{ | ||||
|         this.precio2 = precio; | ||||
|     } | ||||
| 
 | ||||
|     getPrecio2(): number{ | ||||
|         return this.precio2; | ||||
|     } | ||||
| } | ||||
							
								
								
									
										6
									
								
								src/app/interfaces/discoteca-i.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								src/app/interfaces/discoteca-i.ts
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,6 @@ | ||||
| export interface DiscotecaI { | ||||
|     discotecaID: number, | ||||
|     nombre: string, | ||||
|     telefono: number, | ||||
|     localizacion: string | ||||
| } | ||||
							
								
								
									
										14
									
								
								src/app/interfaces/eventoi.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										14
									
								
								src/app/interfaces/eventoi.ts
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,14 @@ | ||||
| import { Time } from "@angular/common"; | ||||
| 
 | ||||
| export interface Eventoi { | ||||
|     id: number, | ||||
|     discotecaID: number, | ||||
|     nombre: string, | ||||
|     localizacion: string,  | ||||
|     fecha: Date,  | ||||
|     hora: Time, | ||||
|     descripcion: string, | ||||
|     precio1: number, | ||||
|     precio2: number, | ||||
| 
 | ||||
| } | ||||
							
								
								
									
										4
									
								
								src/app/interfaces/user-login.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								src/app/interfaces/user-login.ts
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,4 @@ | ||||
| export interface UserLogin { | ||||
|     loginUser: string; | ||||
|     loginPassword: string;  | ||||
| } | ||||
							
								
								
									
										6
									
								
								src/app/interfaces/user.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								src/app/interfaces/user.ts
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,6 @@ | ||||
| export interface User { | ||||
|   id: number; | ||||
|   discotecaID: number; | ||||
|   userType: number;  | ||||
|   username: string; | ||||
| } | ||||
| @ -1,9 +0,0 @@ | ||||
| import { Injectable } from '@angular/core'; | ||||
| 
 | ||||
| @Injectable({ | ||||
|   providedIn: 'root' | ||||
| }) | ||||
| export class LoginService { | ||||
| 
 | ||||
|   constructor() { } | ||||
| } | ||||
| @ -5,7 +5,14 @@ | ||||
| </ion-header> | ||||
| 
 | ||||
| <ion-content> | ||||
|   <span>Usuario: </span><input type="text" id="username"> | ||||
|   <span>Contraseña: </span><input type="text" id="password"> | ||||
|   <ion-button (click)="login()"> | ||||
|     Login | ||||
|   </ion-button> | ||||
|   <div> | ||||
|     <div *ngIf="user"> | ||||
|       {{user.username}} | ||||
|     </div> | ||||
|   </div> | ||||
| </ion-content> | ||||
|  | ||||
| @ -0,0 +1,3 @@ | ||||
| input{ | ||||
|     color: black; | ||||
| } | ||||
| @ -1,5 +1,7 @@ | ||||
| import { Component, OnInit } from '@angular/core'; | ||||
| import { Router } from '@angular/router'; | ||||
| import { LoginService } from '../services/login.service'; | ||||
| import { User } from '../interfaces/user'; | ||||
| 
 | ||||
| @Component({ | ||||
|   selector: 'app-login', | ||||
| @ -8,13 +10,23 @@ import { Router } from '@angular/router'; | ||||
| }) | ||||
| export class LoginPage implements OnInit { | ||||
| 
 | ||||
|   constructor(private router: Router) { } | ||||
|   username: string; | ||||
|   password: string; | ||||
|   user: User; | ||||
| 
 | ||||
|   constructor(private router: Router, private loginService: LoginService) { } | ||||
| 
 | ||||
|   ngOnInit() { | ||||
|     this.user = this.loginService.user; | ||||
|   } | ||||
| 
 | ||||
|   login(){ | ||||
|     this.router.navigate(['/tabs']); | ||||
|   login() { | ||||
| 
 | ||||
|     this.username = (<HTMLInputElement>document.getElementById("username")).value; | ||||
|     this.password = (<HTMLInputElement>document.getElementById("password")).value; | ||||
|     this.loginService.validateUser(this.username, this.password) | ||||
| 
 | ||||
| 
 | ||||
|   } | ||||
| 
 | ||||
| } | ||||
|  | ||||
| @ -3,7 +3,7 @@ import { Tab1Service } from '../tab1/tab1.service'; | ||||
| import { IonSlides, ModalController} from '@ionic/angular'; | ||||
| import { AlertController } from '@ionic/angular'; | ||||
| import { ViewChild } from '@angular/core'; | ||||
| import { Evento } from '../evento'; | ||||
| import { Eventoi } from '../interfaces/eventoi'; | ||||
| import { Router } from '@angular/router'; | ||||
| import { THIS_EXPR } from '@angular/compiler/src/output/output_ast'; | ||||
| import { GaleriamodalPage } from '../galeriamodal/galeriamodal.page'; | ||||
| @ -20,6 +20,7 @@ export class PerfilDiscotecaPage implements OnInit { | ||||
|   nombre: string; | ||||
|   telefono: number; | ||||
|   localizacion: string; | ||||
|   descripcion: string; | ||||
|   fotoSrc: string; | ||||
|   fotoLoaded: string; | ||||
|   someURL: string; | ||||
| @ -27,7 +28,7 @@ export class PerfilDiscotecaPage implements OnInit { | ||||
|   editEnabled: string; | ||||
|   galeriaFotos: string[]; | ||||
|   currentIndex: number; | ||||
|   eventos: Evento[]; | ||||
|   eventos: Eventoi[]; | ||||
|   alertCtrl: AlertController; | ||||
|   sliderOpts = { | ||||
|       slidesPerView: 1.5, | ||||
| @ -69,8 +70,13 @@ export class PerfilDiscotecaPage implements OnInit { | ||||
|     this.localizacion = this.tab1Service.getLocalizacion(); | ||||
|   } | ||||
| 
 | ||||
| 
 | ||||
|   getDescripcion(): void{ | ||||
|     this.descripcion = this.tab1Service.getDescripcion(); | ||||
|   } | ||||
| 
 | ||||
|   getEventos(): void{ | ||||
|     this.eventos = this.tab1Service.getEventos(); | ||||
|     this.eventos = this.tab1Service.eventos; | ||||
|   } | ||||
| 
 | ||||
|   cargarImagen(){ | ||||
| @ -169,12 +175,12 @@ export class PerfilDiscotecaPage implements OnInit { | ||||
|     this.router.navigate(['/tabs/tab1/prompt-evento']); | ||||
| } | ||||
| 
 | ||||
|   mostrarEvento(evento: Evento){ | ||||
|   mostrarEvento(evento: Eventoi){ | ||||
|     this.tab1Service.eventoIndex = this.eventos.indexOf(evento); | ||||
|     this.router.navigate(['/tabs/tab1/view-evento']); | ||||
| } | ||||
| 
 | ||||
|   editarEvento(evento: Evento){ | ||||
|   editarEvento(evento: Eventoi){ | ||||
|     this.tab1Service.eventoIndex = this.eventos.indexOf(evento); | ||||
|     this.tab1Service.editarEvento = true; | ||||
|     this.router.navigate(['/tabs/tab1/prompt-evento']); | ||||
|  | ||||
| @ -21,7 +21,7 @@ | ||||
|   <ion-item> | ||||
|     <label> | ||||
|       Fecha: | ||||
|       <ion-datetime displayFormat="DD/MM, HH:mm"placeholder="Elegir Fecha" formControlName="fecha"></ion-datetime> | ||||
|       <ion-datetime displayFormat="YYYY/DD/MM"placeholder="Elegir Fecha" formControlName="fecha"></ion-datetime> | ||||
|     </label> | ||||
|     <span | ||||
|       *ngIf="fecha.errors.required && submitted"> | ||||
| @ -29,6 +29,17 @@ | ||||
|     </span> | ||||
|   </ion-item> | ||||
| 
 | ||||
|   <ion-item> | ||||
|     <label> | ||||
|       Hora | ||||
|       <ion-datetime displayFormat="HH:MM"placeholder="Elegir Hora" formControlName="hora"></ion-datetime> | ||||
|     </label> | ||||
|     <span | ||||
|       *ngIf="hora.errors.required && submitted"> | ||||
|       Tu evento necesita una hora | ||||
|     </span> | ||||
|   </ion-item> | ||||
| 
 | ||||
| 
 | ||||
|   <ion-item> | ||||
|     <label> | ||||
|  | ||||
| @ -1,8 +1,10 @@ | ||||
| import { Component, OnInit } from '@angular/core'; | ||||
| import { FormControl, FormGroup, Validators } from '@angular/forms'; | ||||
| import { Tab1Service } from '../tab1/tab1.service'; | ||||
| import { Evento } from '../evento'; | ||||
| import { Router } from '@angular/router'; | ||||
| import { Eventoi } from '../interfaces/eventoi'; | ||||
| import { DatePipe } from '@angular/common' | ||||
| import { ViewEventoPageRoutingModule } from '../view-evento/view-evento-routing.module'; | ||||
| 
 | ||||
| @Component({ | ||||
|   selector: 'app-prompt-evento', | ||||
| @ -10,17 +12,17 @@ import { Router } from '@angular/router'; | ||||
|   styleUrls: ['./prompt-evento.page.scss'], | ||||
| }) | ||||
| export class PromptEventoPage implements OnInit{ | ||||
| 
 | ||||
|   submitted = false; | ||||
|   eventoForm = new FormGroup({ | ||||
|       nombre: new FormControl('', Validators.required), | ||||
|       fecha: new FormControl('', Validators.required), | ||||
|       precio1: new FormControl('', Validators.required), | ||||
|       precio2: new FormControl('', Validators.required), | ||||
|       descripcion: new FormControl('', Validators.required), | ||||
|       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), | ||||
|   }); | ||||
| 
 | ||||
|   eventos: Evento[]; | ||||
|   eventos: Eventoi[]; | ||||
| 
 | ||||
|   constructor(private tab1Service: Tab1Service, private router: Router) { | ||||
| 
 | ||||
| @ -34,30 +36,50 @@ export class PromptEventoPage implements OnInit{ | ||||
|   onSubmit(){ | ||||
|     this.submitted = true; | ||||
|     if (this.eventoForm.valid){ | ||||
|       let evento = new Evento(); | ||||
|       let evento: Eventoi = { | ||||
|         id: null, | ||||
|         discotecaID: this.tab1Service.discotecaI.discotecaID, | ||||
|         nombre: '', | ||||
|         localizacion: this.tab1Service.discotecaI.localizacion, | ||||
|         fecha: null, | ||||
|         hora: null, | ||||
|         descripcion: '', | ||||
|         precio1: null, | ||||
|         precio2: null | ||||
| 
 | ||||
| 
 | ||||
|       }; | ||||
|       this.asignarEvento(evento); | ||||
|       this.router.navigate(['/tabs']); | ||||
| 
 | ||||
|     } | ||||
|   } | ||||
|   asignarEvento(evento: Evento){ | ||||
|     evento.setNombre(this.eventoForm.get('nombre').value); | ||||
|     evento.setDesc(this.eventoForm.get('descripcion').value); | ||||
|     evento.setFecha(this.eventoForm.get('fecha').value); | ||||
|     evento.setPrecio1(this.eventoForm.get('precio1').value); | ||||
|     evento.setPrecio2(this.eventoForm.get('precio2').value); | ||||
|   asignarEvento(evento: Eventoi){ | ||||
|     evento.nombre = this.eventoForm.get('nombre').value; | ||||
|     evento.descripcion = this.eventoForm.get('descripcion').value; | ||||
|     var fecha = this.eventoForm.get('fecha').value; | ||||
|     fecha = fecha.split("T")[0]; | ||||
|     evento.fecha = fecha; | ||||
|     let hora = this.eventoForm.get('hora').value; | ||||
|     hora = hora.split("T")[1]; | ||||
|     hora = hora.split(":")[0]+(":")+hora.split(":")[1]; | ||||
|     evento.hora = hora; | ||||
|     evento.precio1 = this.eventoForm.get('precio1').value; | ||||
|     evento.precio2 = this.eventoForm.get('precio2').value; | ||||
|     //evento.setDia(evento.getFecha()); el datetime de Ion devuelve un String, no se puede 
 | ||||
|     //evento.setHora(evento.getFecha()); transformar en dia y hora
 | ||||
|     if (!this.tab1Service.eventos){ | ||||
|       this.tab1Service.initEventos();} | ||||
|     if(!this.tab1Service.eventoForms){ | ||||
|       this.tab1Service.initEventoForms();} | ||||
|     if(this.tab1Service.editarEvento==true){ | ||||
|       this.tab1Service.eventos[this.tab1Service.eventoIndex] = evento; | ||||
|       this.tab1Service.eventoForms[this.tab1Service.eventoIndex] = this.eventoForm; | ||||
|       this.tab1Service.updateEvento(evento); | ||||
|       //this.tab1Service.eventos[this.tab1Service.eventoIndex] = evento;
 | ||||
|       //this.tab1Service.eventoForms[this.tab1Service.eventoIndex] = this.eventoForm;
 | ||||
|     } | ||||
|     else{ | ||||
|       this.tab1Service.eventos.push(evento); | ||||
|       this.tab1Service.eventoForms.push(this.eventoForm);} | ||||
|       this.tab1Service.postEvento(evento); | ||||
|       //this.tab1Service.eventos.push(evento);
 | ||||
|       //this.tab1Service.eventoForms.push(this.eventoForm);
 | ||||
|     } | ||||
|      | ||||
|   } | ||||
| 
 | ||||
| @ -84,6 +106,6 @@ export class PromptEventoPage implements OnInit{ | ||||
|   get descripcion(){ | ||||
|     return this.eventoForm.get('descripcion'); | ||||
|   } | ||||
|    | ||||
| 
 | ||||
| 
 | ||||
| } | ||||
|  | ||||
							
								
								
									
										16
									
								
								src/app/services/api.service.spec.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								src/app/services/api.service.spec.ts
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,16 @@ | ||||
| import { TestBed } from '@angular/core/testing'; | ||||
| 
 | ||||
| import { ApiService } from './api.service'; | ||||
| 
 | ||||
| describe('ApiService', () => { | ||||
|   let service: ApiService; | ||||
| 
 | ||||
|   beforeEach(() => { | ||||
|     TestBed.configureTestingModule({}); | ||||
|     service = TestBed.inject(ApiService); | ||||
|   }); | ||||
| 
 | ||||
|   it('should be created', () => { | ||||
|     expect(service).toBeTruthy(); | ||||
|   }); | ||||
| }); | ||||
							
								
								
									
										51
									
								
								src/app/services/api.service.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										51
									
								
								src/app/services/api.service.ts
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,51 @@ | ||||
| import { Injectable } from '@angular/core'; | ||||
| import { HttpClient } from '@angular/common/http'; | ||||
| import { Observable, throwError, BehaviorSubject } from 'rxjs'; | ||||
| import { catchError, retry, map, tap } from 'rxjs/operators'; | ||||
| import { User } from '../interfaces/user'; | ||||
| import { Discoteca } from '../discoteca'; | ||||
| import { UserLogin } from '../interfaces/user-login'; | ||||
| import { DiscotecaI } from '../interfaces/discoteca-i'; | ||||
| import { Eventoi } from '../interfaces/eventoi'; | ||||
| 
 | ||||
| 
 | ||||
| @Injectable({ | ||||
|   providedIn: 'root' | ||||
| }) | ||||
| export class ApiService { | ||||
| 
 | ||||
|   baseUrl = "http://localhost:3307/api/consultas"; | ||||
| 
 | ||||
|   constructor(private http: HttpClient) { | ||||
| 
 | ||||
|    } | ||||
| 
 | ||||
| 
 | ||||
|   validateUser(user: UserLogin): Observable<User>{ | ||||
| 
 | ||||
|     return this.http.post<User>(this.baseUrl+"/users", user) | ||||
|        | ||||
|   } | ||||
| 
 | ||||
|   getUserDiscoteca(discotecaId: number): Observable<DiscotecaI>{ | ||||
| 
 | ||||
|     return this.http.post<DiscotecaI>(this.baseUrl+"/discoteca", { "id": discotecaId}); | ||||
| 
 | ||||
|   } | ||||
| 
 | ||||
|   postEvento(eventoInterface: Eventoi): Observable<Eventoi>{ | ||||
| 
 | ||||
|     return this.http.post<Eventoi>(this.baseUrl+"/evento", eventoInterface); | ||||
|      | ||||
|   } | ||||
| 
 | ||||
|   getEventos(discotecaID: number): Observable<Eventoi[]>{ | ||||
|       return this.http.post<Eventoi[]>(this.baseUrl+"/eventosDiscoteca", {"id": discotecaID}); | ||||
| 
 | ||||
| 
 | ||||
|   } | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| } | ||||
							
								
								
									
										45
									
								
								src/app/services/login.service.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										45
									
								
								src/app/services/login.service.ts
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,45 @@ | ||||
| import { Injectable } from '@angular/core'; | ||||
| import { Router } from '@angular/router'; | ||||
| import { VirtualTimeScheduler } from 'rxjs'; | ||||
| import { ApiService } from './api.service'; | ||||
| import { Tab1Service } from '../tab1/tab1.service'; | ||||
| import { User } from '../interfaces/user'; | ||||
| import { UserLogin } from '../interfaces/user-login'; | ||||
| 
 | ||||
| 
 | ||||
| @Injectable({ | ||||
|   providedIn: 'root' | ||||
| }) | ||||
| export class LoginService { | ||||
| 
 | ||||
|   user: User; | ||||
| 
 | ||||
|   constructor(private apiService: ApiService, private router: Router, private tab1service: Tab1Service) { | ||||
|     this.user = { | ||||
|       id: 0, | ||||
|       discotecaID: 0, | ||||
|       userType: 0, | ||||
|       username: '', | ||||
|     }; | ||||
|   } | ||||
| 
 | ||||
|   validateUser(login: string, password: string): void{ | ||||
| 
 | ||||
|     let userlogin: UserLogin = { | ||||
|       loginUser: login, | ||||
|       loginPassword: password, | ||||
|     } | ||||
| 
 | ||||
|     this.apiService.validateUser(userlogin) | ||||
|       .subscribe(user => { | ||||
|         this.user = user[0]; | ||||
|         console.log(this.user); | ||||
|         console.log(this.user.discotecaID); | ||||
|         this.tab1service.getDiscoteca(this.user.discotecaID); | ||||
| 
 | ||||
|       }) | ||||
| 
 | ||||
|   } | ||||
| 
 | ||||
| 
 | ||||
| } | ||||
| @ -2,9 +2,13 @@ import { Injectable, OnInit } from '@angular/core'; | ||||
| import { stringify } from 'querystring'; | ||||
| import { Tab1Page } from './tab1.page' | ||||
| import { Discoteca } from '../discoteca' | ||||
| import { Evento } from '../evento'; | ||||
| import { Observable, of } from 'rxjs'; | ||||
| import { FormControl, FormGroup } 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({ | ||||
| @ -13,51 +17,61 @@ import { NumericValueAccessor } from '@ionic/angular'; | ||||
| export class Tab1Service implements OnInit{ | ||||
| 
 | ||||
|   discoteca: Discoteca; | ||||
|   discotecaI: DiscotecaI; | ||||
|   galeria: string[]; | ||||
|   eventos: Evento[]; | ||||
|   eventos: Eventoi[]; | ||||
|   eventoForms: FormGroup[]; | ||||
|   eventoIndex: number; | ||||
|   editarEvento: boolean; | ||||
| 
 | ||||
|   constructor() {  | ||||
|   constructor(private apiService: ApiService, private router: Router) {  | ||||
|      | ||||
|   } | ||||
| 
 | ||||
|   ngOnInit(){ | ||||
|     this.initValues(); | ||||
| 
 | ||||
|   } | ||||
| 
 | ||||
|   initValues(): void{ | ||||
|     this.discoteca = new Discoteca(); | ||||
|     this.discoteca.setNombre('Barraca'); | ||||
|     this.discoteca.setTelefono(666666666); | ||||
|     this.discoteca.setLocalizacion('Calle del Barquillo'); | ||||
|     this.galeria = []; | ||||
|     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{ | ||||
|     this.initValues(); | ||||
|     return this.discoteca.getNombre(); | ||||
|   } | ||||
| 
 | ||||
|   getTelefono(): number{ | ||||
|     this.initValues(); | ||||
|     return this.discoteca.getTelefono(); | ||||
|   } | ||||
| 
 | ||||
|   getLocalizacion(): string{ | ||||
|     this.initValues(); | ||||
|     return this.discoteca.getLocalizacion(); | ||||
|   } | ||||
| 
 | ||||
|   getEventos(): Evento[]{ | ||||
|   getEventos(): Eventoi[]{ | ||||
|     return this.eventos; | ||||
|   } | ||||
| 
 | ||||
|   getDescripcion(): string{ | ||||
|     return this.discoteca.getDescripcion(); | ||||
|   } | ||||
| 
 | ||||
|   initEventos(): void{ | ||||
|     this.eventos = []; | ||||
|     this.apiService.getEventos(this.discoteca.getId()) | ||||
|     .subscribe(eventos => { | ||||
|       this.eventos = eventos; | ||||
|       this.router.navigate(['/tabs/tab1/perfil-discoteca']); | ||||
|     }) | ||||
|      | ||||
|      | ||||
|   } | ||||
| 
 | ||||
|   initEventoForms(): void{ | ||||
| @ -68,4 +82,27 @@ export class Tab1Service implements OnInit{ | ||||
|     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){ | ||||
| 
 | ||||
|   } | ||||
| 
 | ||||
| } | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user