From 579b54f1f4cc878a33229ebe8754e97025b91923 Mon Sep 17 00:00:00 2001 From: Priyanshu Khandelwal Date: Wed, 15 Aug 2018 00:51:05 +0530 Subject: [PATCH] feat: Show Ticket Sales in Events List (#1315) --- .../data/db/configuration/OrgaDatabase.java | 22 ++++- .../eventyay/organizer/data/event/Event.java | 11 ++- app/src/main/res/layout/event_layout.xml | 85 +++++++++++++++++-- app/src/main/res/values/dimens.xml | 1 + 4 files changed, 106 insertions(+), 13 deletions(-) diff --git a/app/src/main/java/com/eventyay/organizer/data/db/configuration/OrgaDatabase.java b/app/src/main/java/com/eventyay/organizer/data/db/configuration/OrgaDatabase.java index e86dabdb4..cdb33a20a 100644 --- a/app/src/main/java/com/eventyay/organizer/data/db/configuration/OrgaDatabase.java +++ b/app/src/main/java/com/eventyay/organizer/data/db/configuration/OrgaDatabase.java @@ -44,7 +44,7 @@ public final class OrgaDatabase { public static final String NAME = "orga_database"; private static final String DROP_TABLE = "DROP TABLE IF EXISTS "; // To be bumped after each schema change and migration addition - public static final int VERSION = 17; + public static final int VERSION = 18; private OrgaDatabase() { @@ -259,6 +259,7 @@ public void migrate(@NonNull DatabaseWrapper databaseWrapper) { } } + @Migration(version = 16, database = OrgaDatabase.class) public static class MigrationTo16 extends BaseMigration { @Override @@ -290,4 +291,23 @@ public void onPreMigrate() { addColumn(SQLiteType.TEXT, column); } } + + @Migration(version = 18, database = OrgaDatabase.class) + public static class MigrationTo18 extends AlterTableMigration { + + public MigrationTo18(Class table) { + super(table); + } + + @Override + public void onPreMigrate() { + super.onPreMigrate(); + + List addedColumns = Arrays.asList("ticketsSold", "ticketsAvailable", "revenue"); + + for (String column : addedColumns) + addColumn(SQLiteType.TEXT, column); + } + } + } diff --git a/app/src/main/java/com/eventyay/organizer/data/event/Event.java b/app/src/main/java/com/eventyay/organizer/data/event/Event.java index c2d800a89..fc6ce43b5 100644 --- a/app/src/main/java/com/eventyay/organizer/data/event/Event.java +++ b/app/src/main/java/com/eventyay/organizer/data/event/Event.java @@ -1,5 +1,8 @@ package com.eventyay.organizer.data.event; +import com.eventyay.organizer.common.model.HeaderProvider; +import com.eventyay.organizer.data.db.configuration.OrgaDatabase; +import com.eventyay.organizer.data.ticket.Ticket; import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.databind.PropertyNamingStrategy; @@ -12,10 +15,6 @@ import com.raizlabs.android.dbflow.annotation.PrimaryKey; import com.raizlabs.android.dbflow.annotation.Table; -import com.eventyay.organizer.common.model.HeaderProvider; -import com.eventyay.organizer.data.db.configuration.OrgaDatabase; -import com.eventyay.organizer.data.ticket.Ticket; - import java.util.List; import lombok.AllArgsConstructor; @@ -96,6 +95,10 @@ public class Event implements Comparable, HeaderProvider { public boolean isTaxEnabled; public boolean isMapShown; + public Long ticketsSold; + public Long ticketsAvailable; + public Long revenue; + @ColumnIgnore @Relationship("tickets") @JsonProperty(access = JsonProperty.Access.READ_ONLY) diff --git a/app/src/main/res/layout/event_layout.xml b/app/src/main/res/layout/event_layout.xml index fbfeec76e..8888a591d 100644 --- a/app/src/main/res/layout/event_layout.xml +++ b/app/src/main/res/layout/event_layout.xml @@ -3,13 +3,19 @@ xmlns:app="http://schemas.android.com/apk/res-auto"> + + + + + + @@ -38,12 +44,27 @@ android:paddingStart="@dimen/spacing_small" android:paddingTop="@dimen/spacing_small"> - + + + + + + + + android:textSize="@dimen/text_size_extra_small" /> + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/values/dimens.xml b/app/src/main/res/values/dimens.xml index db8f4d2bd..baca15d23 100644 --- a/app/src/main/res/values/dimens.xml +++ b/app/src/main/res/values/dimens.xml @@ -35,6 +35,7 @@ 44dp 160dp 80dp + 60dp 160dp 200dp 150dp