diff --git a/app/src/main/java/net/pokeranalytics/android/model/interfaces/Manageable.kt b/app/src/main/java/net/pokeranalytics/android/model/interfaces/Manageable.kt index 8531efc4..f2dbe4f9 100644 --- a/app/src/main/java/net/pokeranalytics/android/model/interfaces/Manageable.kt +++ b/app/src/main/java/net/pokeranalytics/android/model/interfaces/Manageable.kt @@ -4,6 +4,7 @@ import io.realm.RealmModel import io.realm.RealmObject import net.pokeranalytics.android.R import net.pokeranalytics.android.exceptions.ModelException +import net.pokeranalytics.android.model.realm.Bankroll import net.pokeranalytics.android.ui.view.RowRepresentable enum class ManageableStatus { @@ -32,12 +33,12 @@ interface NameManageable: Manageable { } override fun getFailedSaveMessage(status: ManageableStatus): Int { - return when (status) { - ManageableStatus.ALREADY_EXISTS -> R.string.duplicate_bankroll_name_error - ManageableStatus.DATA_INVALID -> R.string.empty_name_for_br_error - else -> throw ModelException("object should be savable") - } + throw ModelException("${this::class.java} getFailedSaveMessage for $status not handled") } + + override fun getFailedDeleteMessage(): Int { + return R.string.relationship_error + } } diff --git a/app/src/main/java/net/pokeranalytics/android/model/realm/Bankroll.kt b/app/src/main/java/net/pokeranalytics/android/model/realm/Bankroll.kt index 72534702..081e5d78 100644 --- a/app/src/main/java/net/pokeranalytics/android/model/realm/Bankroll.kt +++ b/app/src/main/java/net/pokeranalytics/android/model/realm/Bankroll.kt @@ -96,7 +96,7 @@ open class Bankroll() : RealmObject(), NameManageable, StaticRowRepresentableDat } override fun getFailedDeleteMessage(): Int { - TODO("not implemented") //To change body of created functions use File | Settings | File Templates. + return R.string.bankroll_relationship_error } override fun getFailedSaveMessage(status: ManageableStatus): Int { diff --git a/app/src/main/java/net/pokeranalytics/android/model/realm/Game.kt b/app/src/main/java/net/pokeranalytics/android/model/realm/Game.kt index fc9fe15d..021ae841 100644 --- a/app/src/main/java/net/pokeranalytics/android/model/realm/Game.kt +++ b/app/src/main/java/net/pokeranalytics/android/model/realm/Game.kt @@ -89,9 +89,4 @@ open class Game : RealmObject(), NameManageable, StaticRowRepresentableDataSourc override fun isValidForDelete(): Boolean { return this.realm.where().equalTo("game.id", id).findAll().isEmpty() } - - - override fun getFailedDeleteMessage(): Int { - TODO("not implemented") //To change body of created functions use File | Settings | File Templates. - } } diff --git a/app/src/main/java/net/pokeranalytics/android/model/realm/Location.kt b/app/src/main/java/net/pokeranalytics/android/model/realm/Location.kt index 1fd25d5e..b118d044 100644 --- a/app/src/main/java/net/pokeranalytics/android/model/realm/Location.kt +++ b/app/src/main/java/net/pokeranalytics/android/model/realm/Location.kt @@ -21,7 +21,7 @@ open class Location : RealmObject(), NameManageable, RowRepresentable { override var name: String = "" // The readable address of the location - private var address: String = "" + private var address: String? = null // the longitude of the location var longitude: Double? = null @@ -58,8 +58,4 @@ open class Location : RealmObject(), NameManageable, RowRepresentable { override fun isValidForDelete(): Boolean { return this.realm.where().equalTo("location.id", id).findAll().isEmpty() } - - override fun getFailedDeleteMessage(): Int { - TODO("not implemented") //To change body of created functions use File | Settings | File Templates. - } } diff --git a/app/src/main/java/net/pokeranalytics/android/model/realm/Session.kt b/app/src/main/java/net/pokeranalytics/android/model/realm/Session.kt index af2f2ebc..03a296ab 100644 --- a/app/src/main/java/net/pokeranalytics/android/model/realm/Session.kt +++ b/app/src/main/java/net/pokeranalytics/android/model/realm/Session.kt @@ -40,7 +40,7 @@ import java.util.* import java.util.Currency import kotlin.collections.ArrayList -open class Session : RealmObject(), Identifiable, Manageable, StaticRowRepresentableDataSource, RowRepresentable, Timed, +open class Session : RealmObject(), Savable, Editable, StaticRowRepresentableDataSource, RowRepresentable, Timed, TimeFilterable { enum class Type { @@ -377,15 +377,7 @@ open class Session : RealmObject(), Identifiable, Manageable, StaticRowRepresent } override fun getFailedSaveMessage(status: ManageableStatus): Int { - return 0 // @todo - } - - override fun isValidForDelete(): Boolean { - return true - } - - override fun getFailedDeleteMessage(): Int { - return 0 // @todo + return R.string.no_br_popup_message } // States diff --git a/app/src/main/java/net/pokeranalytics/android/model/realm/TournamentFeature.kt b/app/src/main/java/net/pokeranalytics/android/model/realm/TournamentFeature.kt index e4419570..d0232692 100644 --- a/app/src/main/java/net/pokeranalytics/android/model/realm/TournamentFeature.kt +++ b/app/src/main/java/net/pokeranalytics/android/model/realm/TournamentFeature.kt @@ -3,6 +3,7 @@ package net.pokeranalytics.android.model.realm import io.realm.RealmObject import io.realm.annotations.PrimaryKey import io.realm.kotlin.where +import net.pokeranalytics.android.R import net.pokeranalytics.android.model.interfaces.CountableUsage import net.pokeranalytics.android.model.interfaces.ManageableStatus import net.pokeranalytics.android.model.interfaces.NameManageable @@ -63,16 +64,12 @@ open class TournamentFeature : RealmObject(), NameManageable, StaticRowRepresent } override fun getFailedSaveMessage(status: ManageableStatus): Int { - //TODO if (status == ManageableStatus.DATA_INVALID) R.string.tournament_feature_empty_field_error - //TODO else if (status == ManageableStatus.ALREADY_EXISTS) R.string.duplicate_tournament_feature_error + if (status == ManageableStatus.DATA_INVALID) R.string.tournament_feature_empty_field_error + else if (status == ManageableStatus.ALREADY_EXISTS) R.string.duplicate_tournament_feature_error return super.getFailedSaveMessage(status) } override fun isValidForDelete(): Boolean { return this.realm.where().equalTo("tournamentFeatures.id", id).findAll().isEmpty() } - - override fun getFailedDeleteMessage(): Int { - TODO("not implemented") //To change body of created functions use File | Settings | File Templates. - } } \ No newline at end of file diff --git a/app/src/main/java/net/pokeranalytics/android/model/realm/TournamentName.kt b/app/src/main/java/net/pokeranalytics/android/model/realm/TournamentName.kt index 4d0781f7..f5cc84a6 100644 --- a/app/src/main/java/net/pokeranalytics/android/model/realm/TournamentName.kt +++ b/app/src/main/java/net/pokeranalytics/android/model/realm/TournamentName.kt @@ -3,6 +3,7 @@ package net.pokeranalytics.android.model.realm import io.realm.RealmObject import io.realm.annotations.PrimaryKey import io.realm.kotlin.where +import net.pokeranalytics.android.R import net.pokeranalytics.android.model.interfaces.ManageableStatus import net.pokeranalytics.android.model.interfaces.NameManageable import net.pokeranalytics.android.ui.adapter.StaticRowRepresentableDataSource @@ -57,16 +58,12 @@ open class TournamentName : RealmObject(), NameManageable, StaticRowRepresentabl } override fun getFailedSaveMessage(status: ManageableStatus): Int { - //TODO if (status == ManageableStatus.DATA_INVALID) R.string.tournament_name_empty_field_error - //TODO else if (status == ManageableStatus.ALREADY_EXISTS) R.string.duplicate_tournament_name_error + if (status == ManageableStatus.DATA_INVALID) R.string.tournament_name_empty_field_error + else if (status == ManageableStatus.ALREADY_EXISTS) R.string.duplicate_tournament_name_error return super.getFailedSaveMessage(status) } override fun isValidForDelete(): Boolean { return this.realm.where().equalTo("tournamentName.id", id).findAll().isEmpty() } - - override fun getFailedDeleteMessage(): Int { - TODO("not implemented") //To change body of created functions use File | Settings | File Templates. - } } diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 0b873457..5fac897f 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -10,6 +10,10 @@ Tournament Name Tournament Feature Pending + You need to give a name to this tournament feature + A tournament feature with the same name already exists. + A tournament name can not be empty. + This name already exists.