Slight changes seat rows on locations

This commit is contained in:
2024-10-22 12:19:15 +02:00
parent 40161a136a
commit 3e53a606a6
7 changed files with 177 additions and 169 deletions

View File

@@ -10,47 +10,37 @@
"imageIndoor": "locations/swiss-life-hall-indoor.jpg",
"imageOutdoor": "locations/swiss-life-hall-outdoor.jpg",
"layout": 2,
"rows": 5,
"seatGroups": [
{
"name": "A",
"surcharge": 20,
"standingArea": true,
"capacity": 40
},
{
"name": "B",
"surcharge": 10,
"standingArea": false,
"rows": 5,
"capacity": 25
},
{
"name": "C",
"surcharge": 10,
"standingArea": false,
"rows": 5,
"capacity": 25
},
{
"name": "D",
"surcharge": 10,
"standingArea": false,
"rows": 3,
"capacity": 30
"capacity": 40
},
{
"name": "E",
"surcharge": 10,
"standingArea": false,
"rows": 3,
"capacity": 12
"capacity": 25
},
{
"name": "F",
"surcharge": 10,
"standingArea": false,
"rows": 3,
"capacity": 12
"capacity": 25
}
]
},
@@ -60,10 +50,10 @@
"imageIndoor": "locations/capitol-indoor.jpg",
"imageOutdoor": "locations/capitol-outdoor.jpg",
"layout": 1,
"rows": 1,
"seatGroups": [
{
"name": "A",
"surcharge": 20,
"standingArea": true,
"capacity": 50
}
@@ -75,68 +65,37 @@
"imageIndoor": "locations/zag-arena-indoor.jpg",
"imageOutdoor": "locations/zag-arena-outdoor.jpg",
"layout": 2,
"rows": 5,
"seatGroups": [
{
"name": "A",
"surcharge": 20,
"standingArea": true,
"capacity": 40
},
{
"name": "B",
"surcharge": 10,
"standingArea": false,
"rows": 5,
"capacity": 25
},
{
"name": "C",
"surcharge": 10,
"standingArea": false,
"rows": 5,
"capacity": 25
},
{
"name": "D",
"surcharge": 10,
"standingArea": false,
"rows": 3,
"capacity": 30
},
{
"name": "E",
"surcharge": 10,
"standingArea": false,
"rows": 3,
"capacity": 12
"capacity": 25
},
{
"name": "F",
"surcharge": 10,
"standingArea": false,
"rows": 3,
"capacity": 12
},
{
"name": "G",
"surcharge": 10,
"standingArea": false,
"rows": 3,
"capacity": 30
},
{
"name": "H",
"surcharge": 10,
"standingArea": false,
"rows": 3,
"capacity": 12
},
{
"name": "I",
"surcharge": 10,
"standingArea": false,
"rows": 3,
"capacity": 12
"capacity": 25
}
]
},
@@ -146,10 +105,10 @@
"imageIndoor": "locations/faust-hannover-indoor.jpg",
"imageOutdoor": "locations/faust-hannover-outdoor.jpg",
"layout": 1,
"rows": 1,
"seatGroups": [
{
"name": "A",
"surcharge": 20,
"standingArea": true,
"capacity": 25
}
@@ -167,47 +126,37 @@
"imageIndoor": "locations/olympiahalle-munich-indoor.jpg",
"imageOutdoor": "locations/olympiahalle-munich-outdoor.jpg",
"layout": 2,
"rows": 5,
"seatGroups": [
{
"name": "A",
"surcharge": 20,
"standingArea": true,
"capacity": 60
},
{
"name": "B",
"surcharge": 10,
"standingArea": false,
"rows": 5,
"capacity": 20
"capacity": 30
},
{
"name": "C",
"surcharge": 10,
"standingArea": false,
"rows": 5,
"capacity": 20
"capacity": 25
},
{
"name": "D",
"surcharge": 10,
"standingArea": false,
"rows": 3,
"capacity": 20
"capacity": 25
},
{
"name": "E",
"surcharge": 10,
"standingArea": false,
"rows": 3,
"capacity": 12
"capacity": 25
},
{
"name": "F",
"surcharge": 10,
"standingArea": false,
"rows": 3,
"capacity": 12
"capacity": 30
}
]
},
@@ -217,10 +166,10 @@
"imageIndoor": "locations/schlachthof-munich-indoor.jpg",
"imageOutdoor": "locations/schlachthof-munich-outdoor.jpg",
"layout": 1,
"rows": 1,
"seatGroups": [
{
"name": "A",
"surcharge": 20,
"standingArea": true,
"capacity": 40
}
@@ -232,10 +181,10 @@
"imageIndoor": "locations/muffatwerk-indoor.jpg",
"imageOutdoor": "locations/muffatwerk-outdoor.jpg",
"layout": 1,
"rows": 1,
"seatGroups": [
{
"name": "A",
"surcharge": 20,
"standingArea": true,
"capacity": 60
}
@@ -253,67 +202,51 @@
"imageIndoor": "locations/volksparkstadion-hamburg-indoor.jpg",
"imageOutdoor": "locations/volksparkstadion-hamburg-outdoor.jpg",
"layout": 3,
"rows": 5,
"seatGroups": [
{
"name": "A",
"surcharge": 30,
"standingArea": true,
"capacity": 50
},
{
"name": "B",
"surcharge": 20,
"standingArea": false,
"rows": 5,
"capacity": 50
"capacity": 35
},
{
"name": "C",
"surcharge": 10,
"standingArea": false,
"rows": 5,
"capacity": 25
},
{
"name": "D",
"surcharge": 20,
"standingArea": false,
"rows": 5,
"capacity": 30
},
{
"name": "E",
"surcharge": 10,
"standingArea": false,
"rows": 5,
"capacity": 25
},
{
"name": "F",
"surcharge": 20,
"standingArea": false,
"rows": 5,
"capacity": 50
"capacity": 35
},
{
"name": "G",
"surcharge": 10,
"standingArea": false,
"rows": 5,
"capacity": 25
},
{
"name": "H",
"surcharge": 20,
"standingArea": false,
"rows": 5,
"capacity": 30
},
{
"name": "I",
"surcharge": 10,
"standingArea": false,
"rows": 5,
"capacity": 25
}
]
@@ -323,27 +256,53 @@
"address": "Sylvesterallee 10",
"imageIndoor": "locations/barclays-arena-indoor.jpg",
"imageOutdoor": "locations/barclays-arena-outdoor.jpg",
"layout": 2,
"layout": 3,
"rows": 3,
"seatGroups": [
{
"name": "A",
"surcharge": 20,
"standingArea": false,
"standingArea": true,
"capacity": 40
},
{
"name": "B",
"surcharge": 10,
"standingArea": false,
"rows": 5,
"capacity": 25
"capacity": 18
},
{
"name": "C",
"surcharge": 10,
"standingArea": false,
"rows": 5,
"capacity": 25
"capacity": 9
},
{
"name": "D",
"standingArea": false,
"capacity": 18
},
{
"name": "E",
"standingArea": false,
"capacity": 9
},
{
"name": "F",
"standingArea": false,
"capacity": 18
},
{
"name": "G",
"standingArea": false,
"capacity": 9
},
{
"name": "H",
"standingArea": false,
"capacity": 18
},
{
"name": "I",
"standingArea": false,
"capacity": 9
}
]
}
@@ -359,25 +318,36 @@
"imageIndoor": "locations/waldbuehne-berlin-indoor.jpg",
"imageOutdoor": "locations/waldbuehne-berlin-outdoor.jpg",
"layout": 2,
"rows": 5,
"seatGroups": [
{
"name": "A",
"surcharge": 20,
"standingArea": false,
"capacity": 10
"capacity": 15
},
{
"name": "B",
"surcharge": 10,
"standingArea": false,
"rows": 5,
"capacity": 25
},
{
"name": "C",
"surcharge": 10,
"standingArea": false,
"rows": 5,
"capacity": 25
},
{
"name": "D",
"standingArea": false,
"capacity": 25
},
{
"name": "E",
"standingArea": false,
"capacity": 25
},
{
"name": "F",
"standingArea": false,
"capacity": 25
}
]
@@ -388,46 +358,51 @@
"imageIndoor": "locations/olympiastadion-berlin-indoor.jpg",
"imageOutdoor": "locations/olympiastadion-berlin-outdoor.jpg",
"layout": 3,
"rows": 5,
"seatGroups": [
{
"name": "A",
"surcharge": 20,
"standingArea": true,
"capacity": 60
},
{
"name": "B",
"surcharge": 10,
"standingArea": false,
"rows": 5,
"capacity": 20
},
{
"name": "C",
"surcharge": 10,
"standingArea": false,
"rows": 5,
"capacity": 20
},
{
"name": "D",
"surcharge": 10,
"standingArea": false,
"rows": 3,
"capacity": 20
},
{
"name": "E",
"surcharge": 10,
"standingArea": false,
"rows": 3,
"capacity": 12
},
{
"name": "F",
"surcharge": 10,
"standingArea": false,
"rows": 3,
"capacity": 12
},
{
"name": "G",
"standingArea": false,
"capacity": 12
},
{
"name": "H",
"standingArea": false,
"capacity": 12
},
{
"name": "I",
"standingArea": false,
"capacity": 12
}
]
@@ -438,46 +413,36 @@
"imageIndoor": "locations/uber-arena-berlin-indoor.jpg",
"imageOutdoor": "locations/uber-arena-berlin-outdoor.jpg",
"layout": 2,
"rows": 4,
"seatGroups": [
{
"name": "A",
"surcharge": 20,
"standingArea": true,
"capacity": 50
},
{
"name": "B",
"surcharge": 10,
"standingArea": false,
"rows": 5,
"capacity": 30
},
{
"name": "C",
"surcharge": 10,
"standingArea": false,
"rows": 5,
"capacity": 30
},
{
"name": "D",
"surcharge": 10,
"standingArea": false,
"rows": 3,
"capacity": 20
},
{
"name": "E",
"surcharge": 10,
"standingArea": false,
"rows": 3,
"capacity": 12
},
{
"name": "F",
"surcharge": 10,
"standingArea": false,
"rows": 3,
"capacity": 12
}
]
@@ -488,25 +453,36 @@
"imageIndoor": "locations/columbiahalle-indoor.jpg",
"imageOutdoor": "locations/columbiahalle-outdoor.jpg",
"layout": 2,
"rows": 3,
"seatGroups": [
{
"name": "A",
"surcharge": 20,
"standingArea": true,
"capacity": 50
},
{
"name": "B",
"surcharge": 10,
"standingArea": false,
"rows": 5,
"capacity": 30
},
{
"name": "C",
"surcharge": 10,
"standingArea": false,
"rows": 5,
"capacity": 9
},
{
"name": "D",
"standingArea": false,
"capacity": 21
},
{
"name": "E",
"standingArea": false,
"capacity": 9
},
{
"name": "F",
"standingArea": false,
"capacity": 30
}
]
@@ -517,10 +493,10 @@
"imageIndoor": "locations/astra-kulturhaus-indoor.jpg",
"imageOutdoor": "locations/astra-kulturhaus-outdoor.jpg",
"layout": 1,
"rows": 1,
"seatGroups": [
{
"name": "A",
"surcharge": 0,
"standingArea": true,
"capacity": 40
}
@@ -538,47 +514,52 @@
"imageIndoor": "locations/lanxess-arena-indoor.jpg",
"imageOutdoor": "locations/lanxess-arena-outdoor.jpg",
"layout": 3,
"rows": 5,
"seatGroups": [
{
"name": "A",
"surcharge": 20,
"standingArea": true,
"capacity": 50
},
{
"name": "B",
"surcharge": 10,
"standingArea": false,
"rows": 5,
"capacity": 30
},
{
"name": "C",
"surcharge": 10,
"standingArea": false,
"rows": 5,
"capacity": 30
"capacity": 25
},
{
"name": "D",
"surcharge": 10,
"standingArea": false,
"rows": 3,
"capacity": 20
},
{
"name": "E",
"surcharge": 10,
"standingArea": false,
"rows": 3,
"capacity": 12
"capacity": 25
},
{
"name": "F",
"surcharge": 10,
"standingArea": false,
"rows": 3,
"capacity": 12
"capacity": 30
},
{
"name": "G",
"standingArea": false,
"capacity": 25
},
{
"name": "H",
"standingArea": false,
"capacity": 20
},
{
"name": "I",
"standingArea": false,
"capacity": 25
}
]
},
@@ -588,10 +569,10 @@
"imageIndoor": "locations/palladium-indoor.jpg",
"imageOutdoor": "locations/palladium-outdoor.jpg",
"layout": 1,
"rows": 1,
"seatGroups": [
{
"name": "A",
"surcharge": 0,
"standingArea": true,
"capacity": 50
}
@@ -603,10 +584,10 @@
"imageIndoor": "locations/e-werk-indoor.jpg",
"imageOutdoor": "locations/e-werk-outdoor.jpg",
"layout": 1,
"rows": 1,
"seatGroups": [
{
"name": "A",
"surcharge": 0,
"standingArea": true,
"capacity": 40
}

View File

@@ -95,6 +95,28 @@ export async function prepopulateDatabase() {
{
seatGroup["locationId"] = locationDataset.id
let surcharge = 0
switch (seatGroup.name) {
case 'A': {
if (location.rows != 0) {
surcharge = 30
}
break;
}
case 'B':
case 'D':
case 'F':
case 'H': surcharge = 20; break;
case 'C':
case 'E':
case 'G':
case 'I': surcharge = 10; break;
}
seatGroup["surcharge"] = surcharge
await SeatGroup.create(seatGroup)
.then(async seatGroupRes => {
if (seatGroup.standingArea) {
@@ -114,13 +136,13 @@ export async function prepopulateDatabase() {
}
else
{
for (let row = 0; row < seatGroup.rows; row++) {
for (let row = 0; row < location.rows; row++) {
await SeatRow.create({
row: row + 1,
seatGroupId: seatGroupRes.id
})
.then(async seatRowRes => {
for (let col = 0; col < seatGroup.capacity / seatGroup.rows; col++) {
for (let col = 0; col < seatGroup.capacity / location.rows; col++) {
await Seat.create({
seatNr: col,
seatRowId: seatRowRes.id

View File

@@ -23,13 +23,7 @@ function confirmPressed() {
max-width="400"
v-model="showDialog"
>
<v-container>
<v-row>
<v-col>
{{ description }}
</v-col>
</v-row>
</v-container>
<template #actions>
<outlined-button

View File

@@ -3,7 +3,7 @@ import { ref, watch } from 'vue';
import { useRouter } from 'vue-router';
const router = useRouter()
const path = ref(router.currentRoute.value.fullPath)
const path = ref("https://www.eventmaster.com" + router.currentRoute.value.fullPath)
function navigate() {
router.replace({ path: path.value.substring(path.value.indexOf('.com') + 4) })

View File

@@ -57,7 +57,7 @@ function getNameLocation() {
<v-sheet
v-else-if="seatGroup != undefined"
class="pa-3"
class="pa-2"
:class="getCornerClass()"
border
style="height: 100%;"
@@ -71,9 +71,9 @@ function getNameLocation() {
</v-row>
<v-row>
<v-spacer v-if="seatGroup.name == 'C'" />
<v-spacer v-if="seatGroup.name == 'B' || seatGroup.name == 'C'" />
<v-col class="d-flex justify-center align-center">
<v-col cols="auto">
<seat-group-table
:seat-rows="seatGroup.seatRows"
:seat-group="seatGroup"
@@ -82,7 +82,7 @@ function getNameLocation() {
/>
</v-col>
<v-spacer v-if="seatGroup.name == 'I'" />
<v-spacer v-if="seatGroup.name == 'B' || seatGroup.name == 'I'" />
</v-row>
</div>

View File

@@ -36,7 +36,8 @@ const seatGroupI = findSeatCategory("I")
<template>
<v-sheet border class="pa-5">
<v-row>
<v-col cols="4">
<!-- Seat Group C -->
<v-col cols="4" class="pa-0">
<seat-group-sheet
:seat-group="seatGroupC"
:concert="concert"
@@ -44,7 +45,8 @@ const seatGroupI = findSeatCategory("I")
/>
</v-col>
<v-col cols="4">
<!-- Seat Group B -->
<v-col cols="4" class="pa-0">
<seat-group-sheet
:seat-group="seatGroupB"
:concert="concert"
@@ -52,7 +54,8 @@ const seatGroupI = findSeatCategory("I")
/>
</v-col>
<v-col cols="4">
<!-- Seat Group I -->
<v-col cols="4" class="pa-0">
<seat-group-sheet
:seat-group="seatGroupI"
:concert="concert"
@@ -62,7 +65,8 @@ const seatGroupI = findSeatCategory("I")
</v-row>
<v-row>
<v-col cols="4">
<!-- Seat Group D -->
<v-col cols="4" class="pa-0">
<seat-group-sheet
v-if="location.layout != 1"
:seat-group="seatGroupD"
@@ -71,7 +75,8 @@ const seatGroupI = findSeatCategory("I")
/>
</v-col>
<v-col :cols="location.layout == 1 ? 10 : 4">
<!-- Seat Group A -->
<v-col :cols="location.layout == 1 ? 10 : 4" class="pa-0">
<seat-group-sheet
:seat-group="seatGroupA"
:concert="concert"
@@ -80,6 +85,7 @@ const seatGroupI = findSeatCategory("I")
/>
</v-col>
<!-- Seat Group H or stage -->
<v-col v-if="location.layout != 3">
<v-sheet
color="grey-darken-3"
@@ -91,7 +97,7 @@ const seatGroupI = findSeatCategory("I")
</v-sheet>
</v-col>
<v-col v-else cols="4">
<v-col v-else cols="4" class="pa-0">
<seat-group-sheet
:seat-group="seatGroupH"
:concert="concert"
@@ -102,7 +108,8 @@ const seatGroupI = findSeatCategory("I")
<v-row v-if="location.layout != 1">
<v-col cols="4">
<!-- Seat Group E -->
<v-col cols="4" class="pa-0">
<seat-group-sheet
:seat-group="seatGroupE"
:concert="concert"
@@ -110,7 +117,8 @@ const seatGroupI = findSeatCategory("I")
/>
</v-col>
<v-col cols="4">
<!-- Seat Group F -->
<v-col cols="4" class="pa-0">
<seat-group-sheet
:seat-group="seatGroupF"
:concert="concert"
@@ -118,7 +126,8 @@ const seatGroupI = findSeatCategory("I")
/>
</v-col>
<v-col cols="4">
<!-- Seat Group G -->
<v-col cols="4" class="pa-0">
<seat-group-sheet
:seat-group="seatGroupG"
:concert="concert"

View File

@@ -1,11 +1,13 @@
import { BandModel } from "./bandModel";
import { ConcertModel } from "./concertModel";
import { GenreModel } from "./genreModel"
import { MemberModel } from "./memberModel";
/**
* Replica of the API endpoint /bands
*/
export class BandApiModel extends BandModel {
members: Array<MemberModel>
genres: Array<GenreModel> = []
rating: number = 0
concerts: Array<ConcertModel> = []