]> WPIA git - gigi.git/blobdiff - src/org/cacert/gigi/dbObjects/Assurance.java
Highlight expired nucleus bonus verifications in points overview
[gigi.git] / src / org / cacert / gigi / dbObjects / Assurance.java
index 2d7c593489519aa8c88d92f4c4d5ec504384f034..07c3a39be3b721fc10287181aa591087e408a86b 100644 (file)
@@ -1,11 +1,15 @@
 package org.cacert.gigi.dbObjects;
 
-import org.cacert.gigi.database.GigiResultSet;
+import java.util.Date;
 
+import org.cacert.gigi.database.DBEnum;
+import org.cacert.gigi.dbObjects.wrappers.DataContainer;
+
+@DataContainer
 public class Assurance {
 
-    public enum AssuranceType {
-        FACE_TO_FACE("Face to Face Meeting"), TOPUP("TOPUP"), TTP_ASSISTED("TTP-Assisted");
+    public enum AssuranceType implements DBEnum {
+        FACE_TO_FACE("Face to Face Meeting"), TOPUP("TOPUP"), TTP_ASSISTED("TTP-Assisted"), NUCLEUS("Nucleus Bonus");
 
         private final String description;
 
@@ -16,13 +20,18 @@ public class Assurance {
         public String getDescription() {
             return description;
         }
+
+        @Override
+        public String getDBName() {
+            return description;
+        }
     }
 
     private int id;
 
     private User from;
 
-    private User to;
+    private Name to;
 
     private String location;
 
@@ -32,15 +41,20 @@ public class Assurance {
 
     private String date;
 
-    public Assurance(GigiResultSet res) {
-        super();
-        this.id = res.getInt("id");
-        this.from = User.getById(res.getInt("from"));
-        this.to = User.getById(res.getInt("to"));
-        this.location = res.getString("location");
-        this.method = res.getString("method");
-        this.points = res.getInt("points");
-        this.date = res.getString("date");
+    private Country country;
+
+    private Date expireDate;
+
+    public Assurance(int id, User from, Name to, String location, String method, int points, String date, Country country, Date expireDate) {
+        this.id = id;
+        this.from = from;
+        this.to = to;
+        this.location = location;
+        this.method = method;
+        this.points = points;
+        this.date = date;
+        this.country = country;
+        this.expireDate = expireDate;
     }
 
     public User getFrom() {
@@ -59,7 +73,7 @@ public class Assurance {
         return points;
     }
 
-    public User getTo() {
+    public Name getTo() {
         return to;
     }
 
@@ -71,4 +85,22 @@ public class Assurance {
         return date;
     }
 
+    public Country getCountry() {
+        return country;
+    }
+
+    public Date getExpireDate() {
+        return expireDate;
+    }
+
+    public boolean isExpired() {
+        boolean expired = false;
+        if (expireDate == null) {
+            expired = false;
+        } else {
+            Date now = new Date();
+            expired = expireDate.before(now);
+        }
+        return expired;
+    }
 }