creacion de reservas con su codigo unico

This commit is contained in:
onsaliyo 2021-05-22 16:13:00 +02:00
parent 9817883235
commit e31ded9eb9
6 changed files with 53 additions and 13 deletions

View File

@ -2,6 +2,7 @@ export interface Reservai {
UserID: number,
EventoID: number,
codigoDescuento: string,
codigoUnico: string,
codigoUnicoID: number,
descuentoPorciento: number
}

View File

@ -1,5 +1,5 @@
export interface User {
id: number;
userID: number;
discotecaID: number;
userType: number;
username: string;

View File

@ -7,6 +7,7 @@ import { Discoteca } from '../discoteca';
import { UserLogin } from '../interfaces/user-login';
import { DiscotecaI } from '../interfaces/discoteca-i';
import { Eventoi } from '../interfaces/eventoi';
import { Reservai } from '../interfaces/reservai';
@Injectable({
@ -51,6 +52,10 @@ export class ApiService {
}
creaReserva(reserva: Reservai): Observable<Reservai>{
return this.http.post<Reservai>(this.baseUrl+"/reserva", reserva);
}

View File

@ -17,7 +17,7 @@ export class LoginService {
constructor(private apiService: ApiService, private router: Router, private tab1service: Tab1Service, private feedService: FeedService) {
this.user = {
id: 0,
userID: 0,
discotecaID: 0,
userType: 0,
username: '',

View File

@ -27,10 +27,13 @@
</div>
</ion-row>
<ion-row>
<ion-button (click)="generarCodigo(); openReserva()">
<ion-button (click)="openReserva()">
Reserva
</ion-button>
</ion-row>
<ion-row>
<span>Código de descuento: </span><input type="text" id="codigoDescuento">
</ion-row>
</div>
</ion-grid>
</ion-content>

View File

@ -5,8 +5,10 @@ import { DiscotecaI } from '../interfaces/discoteca-i';
import { Eventoi } from '../interfaces/eventoi';
import { Reservai } from '../interfaces/reservai';
import { ReservamodalPage } from '../reservamodal/reservamodal.page';
import { ApiService } from '../services/api.service';
import { CodigoreservaService } from '../services/codigoreserva.service';
import { FeedService } from '../services/feed.service';
import { LoginService } from '../services/login.service';
@Component({
selector: 'app-view-evento-cliente',
@ -19,29 +21,58 @@ export class ViewEventoClientePage implements OnInit {
discoteca: DiscotecaI;
reserva: Reservai;
codigoReserva: string;
reservaRealizada: boolean;
constructor(private feedService: FeedService, private modalController: ModalController,
private codigoReservaService: CodigoreservaService) { }
private codigoReservaService: CodigoreservaService, private loginService: LoginService, private apiService: ApiService) { }
ngOnInit() {
this.reservaRealizada = false;
this.evento = this.feedService.getEventoByIndex(this.feedService.eventoIndex);
this.discoteca = this.feedService.discotecaEvento;
}
generarCodigo(){
this.codigoReserva = stringify(this.codigoReservaService.generarAleatorio());
console.log(this.codigoReserva);
return stringify(this.codigoReservaService.generarAleatorio());
}
initReserva(){
this.reserva = {
UserID: this.loginService.user.userID,
EventoID: this.evento.id,
codigoDescuento: null,
codigoUnico: '',
codigoUnicoID: null,
descuentoPorciento: null
}
}
openReserva(){
this.modalController.create({
component: ReservamodalPage,
componentProps : {
codigo: this.codigoReserva
this.initReserva();
this.reserva.codigoDescuento = (<HTMLInputElement>document.getElementById("codigoDescuento")).value;
this.reserva.codigoUnico = this.generarCodigo();
this.creaReserva(this.reserva);
}
creaReserva(reserva){
this.apiService.creaReserva(reserva)
.subscribe(
data => {
console.log(data);
this.reserva = data;
this.reservaRealizada = true;
this.modalController.create({
component: ReservamodalPage,
componentProps : {
codigo: this.reserva.codigoUnico
}
}).then(modal => modal.present());
},
error => {
console.log(error);
}
}).then(modal => modal.present());
)
}
}