Compare commits
No commits in common. "139e3fcb8b5731dfd5c58603810542e17ccfd2fd" and "3e7968ab7fe8703dcb40522d6475b11c1d85b12a" have entirely different histories.
139e3fcb8b
...
3e7968ab7f
File diff suppressed because it is too large
Load Diff
24
package.json
24
package.json
|
@ -23,16 +23,16 @@
|
|||
"@angular/platform-browser-dynamic": "~10.0.0",
|
||||
"@angular/router": "~10.0.0",
|
||||
"@capacitor/core": "2.4.3",
|
||||
"@ionic-native/core": "^5.31.1",
|
||||
"@ionic-native/splash-screen": "^5.31.1",
|
||||
"@ionic-native/status-bar": "^5.31.1",
|
||||
"@ionic/angular": "^5.5.4",
|
||||
"@ionic-native/core": "^5.0.0",
|
||||
"@ionic-native/splash-screen": "^5.0.0",
|
||||
"@ionic-native/status-bar": "^5.0.0",
|
||||
"@ionic/angular": "^5.0.0",
|
||||
"rxjs": "~6.5.5",
|
||||
"tslib": "^2.1.0",
|
||||
"tslib": "^2.0.0",
|
||||
"zone.js": "~0.10.3"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@angular-devkit/build-angular": "^0.1000.8",
|
||||
"@angular-devkit/build-angular": "~0.1000.0",
|
||||
"@angular/cli": "10.0.8",
|
||||
"@angular/compiler": "~10.0.0",
|
||||
"@angular/compiler-cli": "~10.0.0",
|
||||
|
@ -41,15 +41,15 @@
|
|||
"@ionic/angular-toolkit": "^2.3.0",
|
||||
"@types/jasmine": "~3.5.0",
|
||||
"@types/jasminewd2": "~2.0.3",
|
||||
"@types/node": "^12.20.4",
|
||||
"@types/node": "^12.11.1",
|
||||
"codelyzer": "^6.0.0",
|
||||
"cordova-android": "^9.0.0",
|
||||
"cordova-plugin-device": "^2.0.3",
|
||||
"cordova-plugin-device": "^2.0.2",
|
||||
"cordova-plugin-ionic-keyboard": "^2.2.0",
|
||||
"cordova-plugin-ionic-webview": "^4.2.1",
|
||||
"cordova-plugin-splashscreen": "^5.0.4",
|
||||
"cordova-plugin-statusbar": "^2.4.3",
|
||||
"cordova-plugin-whitelist": "^1.3.4",
|
||||
"cordova-plugin-splashscreen": "^5.0.2",
|
||||
"cordova-plugin-statusbar": "^2.4.2",
|
||||
"cordova-plugin-whitelist": "^1.3.3",
|
||||
"jasmine-core": "~3.5.0",
|
||||
"jasmine-spec-reporter": "~5.0.0",
|
||||
"karma": "~5.0.0",
|
||||
|
@ -60,7 +60,7 @@
|
|||
"protractor": "~7.0.0",
|
||||
"ts-node": "~8.3.0",
|
||||
"tslint": "~6.1.0",
|
||||
"typescript": "^3.9.9"
|
||||
"typescript": "~3.9.5"
|
||||
},
|
||||
"description": "An Ionic project",
|
||||
"cordova": {
|
||||
|
|
|
@ -0,0 +1,33 @@
|
|||
import { Injectable } from '@angular/core';
|
||||
import { HttpClient } from '@angular/common/http';
|
||||
import { Observable, throwError } from 'rxjs';
|
||||
import { catchError, retry } from 'rxjs/operators';
|
||||
import { User } from './user';
|
||||
import { Discoteca } from './discoteca';
|
||||
|
||||
@Injectable({
|
||||
providedIn: 'root'
|
||||
})
|
||||
export class ApiService {
|
||||
|
||||
constructor(private http: HttpClient) {
|
||||
|
||||
}
|
||||
|
||||
|
||||
validateUser(loginUser: string, loginPassword: string): boolean{
|
||||
return (loginUser=='');
|
||||
}
|
||||
|
||||
getUser (loginUser: string): void{
|
||||
|
||||
}
|
||||
|
||||
postNewUser(user: User): void{
|
||||
|
||||
}
|
||||
|
||||
postNewDiscoteca(discoteca: Discoteca): void{
|
||||
|
||||
}
|
||||
}
|
|
@ -23,7 +23,7 @@ const routes: Routes = [
|
|||
},
|
||||
{
|
||||
path:'',
|
||||
redirectTo: 'login',
|
||||
redirectTo: 'tabs',
|
||||
pathMatch: 'full'
|
||||
},
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
|
||||
import {Eventoi} from './interfaces/eventoi';
|
||||
import {Evento} from './evento';
|
||||
|
||||
export class Discoteca {
|
||||
|
||||
|
@ -7,16 +7,9 @@ export class Discoteca {
|
|||
private nombre: string;
|
||||
private telefono: number;
|
||||
private localizacion: string;
|
||||
private eventos: Eventoi[];
|
||||
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;
|
||||
|
@ -42,7 +35,7 @@ export class Discoteca {
|
|||
return this.localizacion
|
||||
}
|
||||
|
||||
getEventos(): Eventoi[]{
|
||||
getEventos(): Evento[]{
|
||||
return this.eventos;
|
||||
}
|
||||
|
||||
|
|
|
@ -0,0 +1,7 @@
|
|||
import { Evento } from './evento';
|
||||
|
||||
describe('Evento', () => {
|
||||
it('should create an instance', () => {
|
||||
expect(new Evento()).toBeTruthy();
|
||||
});
|
||||
});
|
|
@ -0,0 +1,75 @@
|
|||
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;
|
||||
}
|
||||
}
|
|
@ -1,3 +0,0 @@
|
|||
<p>
|
||||
feed works!
|
||||
</p>
|
|
@ -1,24 +0,0 @@
|
|||
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
||||
import { IonicModule } from '@ionic/angular';
|
||||
|
||||
import { FeedComponent } from './feed.component';
|
||||
|
||||
describe('FeedComponent', () => {
|
||||
let component: FeedComponent;
|
||||
let fixture: ComponentFixture<FeedComponent>;
|
||||
|
||||
beforeEach(async(() => {
|
||||
TestBed.configureTestingModule({
|
||||
declarations: [ FeedComponent ],
|
||||
imports: [IonicModule.forRoot()]
|
||||
}).compileComponents();
|
||||
|
||||
fixture = TestBed.createComponent(FeedComponent);
|
||||
component = fixture.componentInstance;
|
||||
fixture.detectChanges();
|
||||
}));
|
||||
|
||||
it('should create', () => {
|
||||
expect(component).toBeTruthy();
|
||||
});
|
||||
});
|
|
@ -1,14 +0,0 @@
|
|||
import { Component, OnInit } from '@angular/core';
|
||||
|
||||
@Component({
|
||||
selector: 'app-feed',
|
||||
templateUrl: './feed.component.html',
|
||||
styleUrls: ['./feed.component.scss'],
|
||||
})
|
||||
export class FeedComponent implements OnInit {
|
||||
|
||||
constructor() { }
|
||||
|
||||
ngOnInit() {}
|
||||
|
||||
}
|
|
@ -1,6 +0,0 @@
|
|||
export interface DiscotecaI {
|
||||
discotecaID: number,
|
||||
nombre: string,
|
||||
telefono: number,
|
||||
localizacion: string
|
||||
}
|
|
@ -1,14 +0,0 @@
|
|||
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,
|
||||
|
||||
}
|
|
@ -1,4 +0,0 @@
|
|||
export interface UserLogin {
|
||||
loginUser: string;
|
||||
loginPassword: string;
|
||||
}
|
|
@ -1,6 +0,0 @@
|
|||
export interface User {
|
||||
id: number;
|
||||
discotecaID: number;
|
||||
userType: number;
|
||||
username: string;
|
||||
}
|
|
@ -0,0 +1,30 @@
|
|||
import { Injectable } from '@angular/core';
|
||||
import { ApiService } from './api.service';
|
||||
import { User } from './user';
|
||||
|
||||
@Injectable({
|
||||
providedIn: 'root'
|
||||
})
|
||||
export class LoginService {
|
||||
|
||||
private userId: number;
|
||||
private sessionType: number;
|
||||
private loginUser: string;
|
||||
private loginPassword: string;
|
||||
|
||||
constructor(private apiService: ApiService) {
|
||||
|
||||
}
|
||||
|
||||
validateUser(loginUser: string, loginPassword: string): boolean{
|
||||
return (loginUser=='');
|
||||
}
|
||||
|
||||
getUser (loginUser: string): void{
|
||||
|
||||
}
|
||||
|
||||
postNewUser(user: User): void{
|
||||
|
||||
}
|
||||
}
|
|
@ -5,14 +5,7 @@
|
|||
</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>
|
||||
|
|
|
@ -1,3 +0,0 @@
|
|||
input{
|
||||
color: black;
|
||||
}
|
|
@ -1,7 +1,5 @@
|
|||
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',
|
||||
|
@ -10,23 +8,13 @@ import { User } from '../interfaces/user';
|
|||
})
|
||||
export class LoginPage implements OnInit {
|
||||
|
||||
username: string;
|
||||
password: string;
|
||||
user: User;
|
||||
|
||||
constructor(private router: Router, private loginService: LoginService) { }
|
||||
constructor(private router: Router) { }
|
||||
|
||||
ngOnInit() {
|
||||
this.user = this.loginService.user;
|
||||
}
|
||||
|
||||
login() {
|
||||
|
||||
this.username = (<HTMLInputElement>document.getElementById("username")).value;
|
||||
this.password = (<HTMLInputElement>document.getElementById("password")).value;
|
||||
this.loginService.validateUser(this.username, this.password)
|
||||
|
||||
|
||||
login(){
|
||||
this.router.navigate(['/tabs']);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -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 { Eventoi } from '../interfaces/eventoi';
|
||||
import { Evento } from '../evento';
|
||||
import { Router } from '@angular/router';
|
||||
import { THIS_EXPR } from '@angular/compiler/src/output/output_ast';
|
||||
import { GaleriamodalPage } from '../galeriamodal/galeriamodal.page';
|
||||
|
@ -28,7 +28,7 @@ export class PerfilDiscotecaPage implements OnInit {
|
|||
editEnabled: string;
|
||||
galeriaFotos: string[];
|
||||
currentIndex: number;
|
||||
eventos: Eventoi[];
|
||||
eventos: Evento[];
|
||||
alertCtrl: AlertController;
|
||||
sliderOpts = {
|
||||
slidesPerView: 1.5,
|
||||
|
@ -70,16 +70,14 @@ export class PerfilDiscotecaPage implements OnInit {
|
|||
this.localizacion = this.tab1Service.getLocalizacion();
|
||||
}
|
||||
|
||||
getEventos(): void{
|
||||
this.eventos = this.tab1Service.getEventos();
|
||||
}
|
||||
|
||||
getDescripcion(): void{
|
||||
this.descripcion = this.tab1Service.getDescripcion();
|
||||
}
|
||||
|
||||
getEventos(): void{
|
||||
this.eventos = this.tab1Service.eventos;
|
||||
}
|
||||
|
||||
|
||||
cargarImagen(){
|
||||
this.fotoSrc = this.someURL;
|
||||
}
|
||||
|
@ -181,15 +179,14 @@ export class PerfilDiscotecaPage implements OnInit {
|
|||
this.router.navigate(['/tabs/tab1/prompt-evento']);
|
||||
}
|
||||
|
||||
mostrarEvento(evento: Eventoi){
|
||||
mostrarEvento(evento: Evento){
|
||||
this.tab1Service.eventoIndex = this.eventos.indexOf(evento);
|
||||
this.router.navigate(['/tabs/tab1/view-evento']);
|
||||
}
|
||||
|
||||
editarEvento(evento: Eventoi){
|
||||
editarEvento(evento: Evento){
|
||||
this.tab1Service.eventoIndex = this.eventos.indexOf(evento);
|
||||
this.tab1Service.editarEvento = true;
|
||||
this.tab1Service.initEventoForms();
|
||||
this.router.navigate(['/tabs/tab1/prompt-evento']);
|
||||
}
|
||||
|
||||
|
|
|
@ -21,7 +21,7 @@
|
|||
<ion-item>
|
||||
<label>
|
||||
Fecha:
|
||||
<ion-datetime displayFormat="YYYY/DD/MM"placeholder="Elegir Fecha" formControlName="fecha"></ion-datetime>
|
||||
<ion-datetime displayFormat="DD/MM, HH:mm"placeholder="Elegir Fecha" formControlName="fecha"></ion-datetime>
|
||||
</label>
|
||||
<span
|
||||
*ngIf="fecha?.errors?.required && submitted">
|
||||
|
@ -29,17 +29,6 @@
|
|||
</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,10 +1,8 @@
|
|||
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',
|
||||
|
@ -12,18 +10,18 @@ import { ViewEventoPageRoutingModule } from '../view-evento/view-evento-routing.
|
|||
styleUrls: ['./prompt-evento.page.scss'],
|
||||
})
|
||||
export class PromptEventoPage implements OnInit{
|
||||
|
||||
submitted = false;
|
||||
editarEvento = false;
|
||||
eventoForm = 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),
|
||||
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),
|
||||
});
|
||||
|
||||
eventos: Eventoi[];
|
||||
eventos: Evento[];
|
||||
|
||||
constructor(private tab1Service: Tab1Service, private router: Router) {
|
||||
|
||||
|
@ -37,50 +35,30 @@ export class PromptEventoPage implements OnInit{
|
|||
onSubmit(){
|
||||
this.submitted = true;
|
||||
if (this.eventoForm.valid){
|
||||
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
|
||||
|
||||
|
||||
};
|
||||
let evento = new Evento();
|
||||
this.asignarEvento(evento);
|
||||
|
||||
this.router.navigate(['/tabs']);
|
||||
}
|
||||
}
|
||||
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;
|
||||
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);
|
||||
//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.updateEvento(evento);
|
||||
//this.tab1Service.eventos[this.tab1Service.eventoIndex] = evento;
|
||||
//this.tab1Service.eventoForms[this.tab1Service.eventoIndex] = this.eventoForm;
|
||||
this.tab1Service.eventos[this.tab1Service.eventoIndex] = evento;
|
||||
this.tab1Service.eventoForms[this.tab1Service.eventoIndex] = this.eventoForm;
|
||||
}
|
||||
else{
|
||||
this.tab1Service.postEvento(evento);
|
||||
//this.tab1Service.eventos.push(evento);
|
||||
//this.tab1Service.eventoForms.push(this.eventoForm);
|
||||
}
|
||||
this.tab1Service.eventos.push(evento);
|
||||
this.tab1Service.eventoForms.push(this.eventoForm);}
|
||||
|
||||
}
|
||||
|
||||
|
@ -107,6 +85,6 @@ export class PromptEventoPage implements OnInit{
|
|||
get descripcion(){
|
||||
return this.eventoForm.get('descripcion');
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
|
|
@ -1,57 +0,0 @@
|
|||
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(): Observable<Eventoi[]>{
|
||||
|
||||
return this.http.get<Eventoi[]>(this.baseUrl+"/evento");
|
||||
}
|
||||
|
||||
getEventosDiscoteca(discotecaID: number): Observable<Eventoi[]>{
|
||||
|
||||
return this.http.post<Eventoi[]>(this.baseUrl+"/eventosDiscoteca", {"id": discotecaID});
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
|
@ -1,16 +0,0 @@
|
|||
import { TestBed } from '@angular/core/testing';
|
||||
|
||||
import { FeedService } from './feed.service';
|
||||
|
||||
describe('FeedService', () => {
|
||||
let service: FeedService;
|
||||
|
||||
beforeEach(() => {
|
||||
TestBed.configureTestingModule({});
|
||||
service = TestBed.inject(FeedService);
|
||||
});
|
||||
|
||||
it('should be created', () => {
|
||||
expect(service).toBeTruthy();
|
||||
});
|
||||
});
|
|
@ -1,22 +0,0 @@
|
|||
import { Injectable } from '@angular/core';
|
||||
import { Router } from '@angular/router';
|
||||
import { Eventoi } from '../interfaces/eventoi';
|
||||
import { ApiService } from './api.service';
|
||||
|
||||
@Injectable({
|
||||
providedIn: 'root'
|
||||
})
|
||||
export class FeedService {
|
||||
|
||||
eventos: Eventoi[];
|
||||
|
||||
constructor(private apiService: ApiService, private router: Router) { }
|
||||
|
||||
initFeed(): void{
|
||||
this.apiService.getEventos()
|
||||
.subscribe(eventos => {
|
||||
this.eventos = eventos;
|
||||
|
||||
})
|
||||
}
|
||||
}
|
|
@ -1,47 +0,0 @@
|
|||
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';
|
||||
import { FeedService } from './feed.service';
|
||||
|
||||
|
||||
@Injectable({
|
||||
providedIn: 'root'
|
||||
})
|
||||
export class LoginService {
|
||||
|
||||
user: User;
|
||||
|
||||
constructor(private apiService: ApiService, private router: Router, private tab1service: Tab1Service, private feedService: FeedService) {
|
||||
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];
|
||||
if (this.user.userType==0)
|
||||
this.tab1service.getDiscoteca(this.user.discotecaID);
|
||||
else if (this.user.userType==1)
|
||||
this.feedService.initFeed();
|
||||
|
||||
})
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
|
@ -6,6 +6,7 @@ import { PerfilDiscotecaPage } from '../perfil-discoteca/perfil-discoteca.page'
|
|||
import { IonSlides} from '@ionic/angular';
|
||||
import { AlertController } from '@ionic/angular';
|
||||
import { ViewChild } from '@angular/core';
|
||||
import { Evento } from '../evento';
|
||||
import { Router } from '@angular/router';
|
||||
import { from } from 'rxjs';
|
||||
|
||||
|
|
|
@ -2,13 +2,9 @@ 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 { Evento } from '../evento';
|
||||
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({
|
||||
|
@ -17,114 +13,64 @@ import { Eventoi } from '../interfaces/eventoi';
|
|||
export class Tab1Service implements OnInit{
|
||||
|
||||
discoteca: Discoteca;
|
||||
discotecaI: DiscotecaI;
|
||||
galeria: string[];
|
||||
eventos: Eventoi[];
|
||||
eventos: Evento[];
|
||||
eventoForms: FormGroup[];
|
||||
eventoIndex: number;
|
||||
editarEvento: boolean;
|
||||
|
||||
constructor(private apiService: ApiService, private router: Router) {
|
||||
constructor() {
|
||||
|
||||
}
|
||||
|
||||
ngOnInit(){
|
||||
|
||||
this.initValues();
|
||||
}
|
||||
|
||||
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.discoteca.setNombre('Barraca');
|
||||
this.discoteca.setTelefono(666666666);
|
||||
this.discoteca.setLocalizacion('Calle del Barquillo');
|
||||
this.discoteca.setDescripcion('Barraca es una discoteca inaugurada en 1965 que tuvo su gran auge en los años 80, cuando se consolidó como la discoteca de mayor importancia de la movida valenciana, durante la conocida Ruta Destroy.');
|
||||
this.galeria = [];
|
||||
this.initEventos();
|
||||
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(): Eventoi[]{
|
||||
return this.eventos;
|
||||
}
|
||||
|
||||
getDescripcion(): string{
|
||||
return this.discoteca.getDescripcion();
|
||||
}
|
||||
|
||||
getEventos(): Evento[]{
|
||||
return this.eventos;
|
||||
}
|
||||
|
||||
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.controls['nombre'].setValue(evento.nombre);
|
||||
thisForm.controls['fecha'].setValue(evento.fecha);
|
||||
thisForm.controls['hora'].setValue(evento.hora);
|
||||
thisForm.controls['precio1'].setValue(evento.precio1);
|
||||
thisForm.controls['precio2'].setValue(evento.precio2);
|
||||
thisForm.controls['descripcion'].setValue(evento.descripcion);
|
||||
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){
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
|
|
@ -0,0 +1,6 @@
|
|||
export interface User {
|
||||
userId: number;
|
||||
userType: number;
|
||||
loginUser: string;
|
||||
loginPassword: string;
|
||||
}
|
|
@ -1,5 +1,5 @@
|
|||
import { Component, OnInit } from '@angular/core';
|
||||
import { Eventoi } from '../interfaces/eventoi';
|
||||
import { Evento } from '../evento';
|
||||
import { Tab1Service } from '../tab1/tab1.service';
|
||||
|
||||
@Component({
|
||||
|
@ -9,7 +9,7 @@ import { Tab1Service } from '../tab1/tab1.service';
|
|||
})
|
||||
export class ViewEventoPage implements OnInit {
|
||||
|
||||
evento: Eventoi;
|
||||
evento: Evento;
|
||||
|
||||
constructor(private tab1Service: Tab1Service) { }
|
||||
|
||||
|
|
Loading…
Reference in New Issue