Browse Source

Scan des badges

Arthur Brandao 5 years ago
parent
commit
ea88a48c73

+ 1 - 1
src/microfolie/persistance/entity/Usager.java

@@ -50,7 +50,7 @@ public class Usager implements Persistable {
 
 	@Override
 	public long getId() {
-		return 0;
+		return id;
 	}
 	
 	@Override

+ 17 - 0
src/microfolie/persistance/table/FrequentationTable.java

@@ -1,5 +1,8 @@
 package microfolie.persistance.table;
 
+import java.util.ArrayList;
+import java.util.List;
+
 import db.DatabaseTable;
 import db.annotation.DbTable;
 import microfolie.persistance.entity.Frequentation;
@@ -13,6 +16,20 @@ public class FrequentationTable extends DatabaseTable<Frequentation>{
 		// Private constructor for singleton
 	}
 
+	public Frequentation getByUsagerAndEspace(long usagerId, long espaceId) {
+		List<String> fields = new ArrayList<>();
+		List<Object> values = new ArrayList<>();
+		fields.add("USAGER");
+		values.add(usagerId);
+		fields.add("ESPACE");
+		values.add(espaceId);
+		List<Frequentation> frequentation = getWhere(fields, values);
+		if (frequentation.size() <= 0) {
+			return null;
+		}
+		return frequentation.get(0);
+	}
+	
 	public static FrequentationTable getInstance() {
 		if(instance == null) {
 			instance = new FrequentationTable();

+ 22 - 0
src/microfolie/service/FrequentationService.java

@@ -1,11 +1,20 @@
 package microfolie.service;
 
+import java.util.Date;
+
+import microfolie.persistance.entity.Espace;
+import microfolie.persistance.entity.Frequentation;
+import microfolie.persistance.entity.Usager;
+import microfolie.persistance.table.EspaceTable;
 import microfolie.persistance.table.FrequentationTable;
+import microfolie.persistance.table.UsagerTable;
 
 public class FrequentationService {
 	
 	private static FrequentationService instance;
 	
+	private UsagerTable usagerTable = UsagerTable.getInstance();
+	private EspaceTable espaceTable = EspaceTable.getInstance();
 	private FrequentationTable table = FrequentationTable.getInstance();
 	
 	private FrequentationService() {
@@ -13,6 +22,19 @@ public class FrequentationService {
 	}
 	
 	public boolean add(String codeUsager, String codeEspace) {
+		Usager usager = usagerTable.getByCode(codeUsager);
+		Espace espace = espaceTable.getByCode(codeEspace);
+		Frequentation frequentation = table.getByUsagerAndEspace(usager.id, espace.id);
+		// Ajout en base si introuvable
+		if (frequentation == null) {
+			frequentation = new Frequentation();
+			frequentation.usager = usager;
+			frequentation.espace = espace;
+			frequentation.date = new Date();
+			table.save(frequentation);
+			return true;
+		}
+		// Retourne faux pour indiquer que deja ajouté
 		return false;
 	}