From 0996ee9afb296335e61a6efa235be175827eaf88 Mon Sep 17 00:00:00 2001 From: Nicolas Fley <nicolas.fley@student.ecp.fr> Date: Tue, 4 Apr 2017 21:44:38 +0200 Subject: [PATCH] Corentin merging file --- src/Cards/BasicFidelityCard.java | 15 ++ src/Cards/FidelityCard.java | 29 ++++ src/Cards/LotteryFidelityCard.java | 21 +++ src/Cards/PointFidelityCard.java | 19 +++ .../foodora/code/core => Core}/MyFoodora.java | 3 +- src/Others/Adress.java | 44 ++++++ src/Others/Date.java | 43 ++++++ src/Others/Historique.java | 33 +++++ src/Others/IDCard.java | 22 +++ src/Trash/UserFactory.java | 48 +++++++ src/User/Customer.java | 74 ++++++++++ src/User/FactoryUserFactory.java | 21 +++ src/User/HumanUser.java | 16 +++ src/User/HumanUserFactory.java | 17 +++ src/User/Manager.java | 85 ++++++++++++ src/User/MoralUser.java | 13 ++ src/User/MoralUserFactory.java | 14 ++ src/User/Restaurant.java | 24 ++++ src/User/User.java | 129 ++++++++++++++++++ src/User/UserFactory.java | 23 ++++ 20 files changed, 692 insertions(+), 1 deletion(-) create mode 100644 src/Cards/BasicFidelityCard.java create mode 100644 src/Cards/FidelityCard.java create mode 100644 src/Cards/LotteryFidelityCard.java create mode 100644 src/Cards/PointFidelityCard.java rename src/{my/foodora/code/core => Core}/MyFoodora.java (98%) create mode 100644 src/Others/Adress.java create mode 100644 src/Others/Date.java create mode 100644 src/Others/Historique.java create mode 100644 src/Others/IDCard.java create mode 100644 src/Trash/UserFactory.java create mode 100644 src/User/Customer.java create mode 100644 src/User/FactoryUserFactory.java create mode 100644 src/User/HumanUser.java create mode 100644 src/User/HumanUserFactory.java create mode 100644 src/User/Manager.java create mode 100644 src/User/MoralUser.java create mode 100644 src/User/MoralUserFactory.java create mode 100644 src/User/Restaurant.java create mode 100644 src/User/User.java create mode 100644 src/User/UserFactory.java diff --git a/src/Cards/BasicFidelityCard.java b/src/Cards/BasicFidelityCard.java new file mode 100644 index 0000000..7ab7bb9 --- /dev/null +++ b/src/Cards/BasicFidelityCard.java @@ -0,0 +1,15 @@ +package Cards; + +public class BasicFidelityCard extends FidelityCard { + + public BasicFidelityCard(long id) { + super(id); + // TODO Auto-generated constructor stub + } + + @Override + public String returnType() { + return "Basic"; + } + +} diff --git a/src/Cards/FidelityCard.java b/src/Cards/FidelityCard.java new file mode 100644 index 0000000..4a8fee5 --- /dev/null +++ b/src/Cards/FidelityCard.java @@ -0,0 +1,29 @@ +package Cards; + +public abstract class FidelityCard { + + private long id; + + public FidelityCard (long id){ + this.id = id; + } + + + public long getId() { + return id; + } + + public void setId(long id) { + this.id = id; + } + + @Override + public String toString() { + return "FidelityCard [id=" + id + "]"; + } + + public abstract String returnType(); + + + +} diff --git a/src/Cards/LotteryFidelityCard.java b/src/Cards/LotteryFidelityCard.java new file mode 100644 index 0000000..dfd1594 --- /dev/null +++ b/src/Cards/LotteryFidelityCard.java @@ -0,0 +1,21 @@ +package Cards; + +public class LotteryFidelityCard extends FidelityCard { + + private double percentage; + + + public LotteryFidelityCard(long id,double percentage) { + super(id); + this.percentage = percentage; + + } + + + @Override + public String returnType() { + // TODO Auto-generated method stub + return "Lottery"; + } + +} diff --git a/src/Cards/PointFidelityCard.java b/src/Cards/PointFidelityCard.java new file mode 100644 index 0000000..d455631 --- /dev/null +++ b/src/Cards/PointFidelityCard.java @@ -0,0 +1,19 @@ +package Cards; + +public class PointFidelityCard extends FidelityCard { + + + private long nbOfPoint; + + public PointFidelityCard(long id,long nbOfPoint) { + super(id); + this.nbOfPoint =nbOfPoint; + } + + @Override + public String returnType() { + // TODO Auto-generated method stub + return "Point"; + } + +} diff --git a/src/my/foodora/code/core/MyFoodora.java b/src/Core/MyFoodora.java similarity index 98% rename from src/my/foodora/code/core/MyFoodora.java rename to src/Core/MyFoodora.java index 9c10bbc..f56012b 100644 --- a/src/my/foodora/code/core/MyFoodora.java +++ b/src/Core/MyFoodora.java @@ -1,7 +1,8 @@ -package my.foodora.code.core; +package Core; import java.util.ArrayList; +/* to be deleted */ import provisoire.entities.ContextDeliveryPolicy; import provisoire.entities.ContextTargetProfit; import provisoire.entities.Courier; diff --git a/src/Others/Adress.java b/src/Others/Adress.java new file mode 100644 index 0000000..e91df73 --- /dev/null +++ b/src/Others/Adress.java @@ -0,0 +1,44 @@ +package Others; + +public class Adress { + + private double x; + private double y; + + + public Adress(double x, double y) { + super(); + this.x = x; + this.y = y; + } + + + public double getX() { + return x; + } + + + public void setX(double x) { + this.x = x; + } + + + public double getY() { + return y; + } + + + public void setY(double y) { + this.y = y; + } + + + @Override + public String toString() { + return "Adress = [" + x + "," + y + "]"; + } + + + + +} diff --git a/src/Others/Date.java b/src/Others/Date.java new file mode 100644 index 0000000..ee90a9c --- /dev/null +++ b/src/Others/Date.java @@ -0,0 +1,43 @@ +package Others; + +public class Date { + + private String year,month,day; + + @Override + public String toString() { + return "Date dd/mm/yyyy : " + day + "-" + month + "-" + year ; + } + + public String getYear() { + return year; + } + + public void setYear(String year) { + this.year = year; + } + + public String getMonth() { + return month; + } + + public void setMonth(String month) { + this.month = month; + } + + public String getDay() { + return day; + } + + public void setDay(String day) { + this.day = day; + } + + public Date(String year, String month, String day) { + super(); + this.year = year; + this.month = month; + this.day = day; + } + +} diff --git a/src/Others/Historique.java b/src/Others/Historique.java new file mode 100644 index 0000000..3ff35b5 --- /dev/null +++ b/src/Others/Historique.java @@ -0,0 +1,33 @@ +package Others; + +import java.util.ArrayList; + +import provisoire.Order; + +public class Historique { + + ArrayList<Order> listOfOrder; + + public Historique(ArrayList<Order> listOfOrder) { + super(); + this.listOfOrder = listOfOrder; + } + + public ArrayList<Order> getListOfOrder() { + return listOfOrder; + } + + public void setListOfOrder(ArrayList<Order> listOfOrder) { + this.listOfOrder = listOfOrder; + } + + @Override + public String toString() { + return "Historique [listOfOrder=" + listOfOrder + "]"; + } + + + } + + + diff --git a/src/Others/IDCard.java b/src/Others/IDCard.java new file mode 100644 index 0000000..fde40ba --- /dev/null +++ b/src/Others/IDCard.java @@ -0,0 +1,22 @@ +package Others; + +public class IDCard { + + + /** Constructeur priv� */ + private IDCard() + {} + + /** Instance unique non pr�initialis�e */ + private static IDCard INSTANCE = null; + + /** Point d'acc�s pour l'instance unique du singleton */ + public static IDCard getInstance() + { + if (INSTANCE == null) + { INSTANCE = new IDCard(); + } + return INSTANCE; + } + } + diff --git a/src/Trash/UserFactory.java b/src/Trash/UserFactory.java new file mode 100644 index 0000000..4d1600a --- /dev/null +++ b/src/Trash/UserFactory.java @@ -0,0 +1,48 @@ +package Trash; + + +import java.io.*; +import java.lang.*; +import java.util.*; + +import javax.management.RuntimeErrorException; + +import Others.Adress; + +public class UserFactory { + + private ArrayList<User> listOfUser; + + public UserFactory(ArrayList<User> listOfUser) { + super(); + this.listOfUser = listOfUser; + } + + public ArrayList<User> getListOfUser() { + return listOfUser; + } + + public void setListOfUser(ArrayList<User> listOfUser) { + this.listOfUser = listOfUser; + } + + @Override + public String toString() { + return "UserFactory [listOfUser=" + listOfUser + "]"; + } + + public void createRestaurant(long id, long phoneNumber, String name, String username, String mail, String password, Adress adress, + boolean activated, String typeOfHumanUser){ + if(typeOfUser == "Restaurant"){ + try{ + User newUser = new Restaurant(id,phoneNumber,name,username,mail,password,adress,activated); + listOfUser.add(newUser); + } + catch (Exception e) { + + } // faire le try/catch � l'ajout d'un User pour �viter les doublons. + } + } + } + + diff --git a/src/User/Customer.java b/src/User/Customer.java new file mode 100644 index 0000000..ea66fbd --- /dev/null +++ b/src/User/Customer.java @@ -0,0 +1,74 @@ +package User; + +import Cards.BasicFidelityCard; +import Cards.FidelityCard; +import Others.Adress; +import Others.Historique; +import Others.IDCard; +import provisoire.Order; + +public class Customer extends HumanUser { + + + boolean spamAgree; + Historique historique; + FidelityCard card; + + public Customer(long id, long phoneNumber, String name, String username, String mail, String password, + Adress adress, boolean activated, String birthdayDate, String surname,boolean spamAgree,Historique historique,FidelityCard card ) { + super(id, phoneNumber, name, username, mail, password, adress, activated, birthdayDate, surname); + this.spamAgree = spamAgree; + this.historique = historique; + this.card = card; + } + + public boolean isSpamAgree() { + return spamAgree; + } + + public void setSpamAgree(boolean spamAgree) { + this.spamAgree = spamAgree; + } + + public Historique getHistorique() { + return historique; + } + + public void setHistorique(Historique historique) { + this.historique = historique; + } + + public FidelityCard getCard() { + return card; + } + + public void setCard(FidelityCard card) { + this.card = card; + } + + @Override + public String toString() { + return "Customer [spamAgree=" + spamAgree + ", historique=" + historique + ", card=" + card + "]"; + } + + public void placeOrder(Order order, Restaurant restaurant){ + + } + + public void registerFidelityPlan(String newTypeOfFidelityCard){ + if(newTypeOfFidelityCard == this.card.returnType()){ + System.out.println("You have already this card"); + if ((newTypeOfFidelityCard != "Basic") &(newTypeOfFidelityCard != "Lottery")&(newTypeOfFidelityCard != "Point")){ + System.out.println("You have to choose between Point, Lottery or Basic card"); + } + else { + if (newTypeOfFidelityCard == "Basic"){ + this.card = new BasicFidelityCard(new IDCard().getId); + } + } + } + } + + + +} diff --git a/src/User/FactoryUserFactory.java b/src/User/FactoryUserFactory.java new file mode 100644 index 0000000..1600004 --- /dev/null +++ b/src/User/FactoryUserFactory.java @@ -0,0 +1,21 @@ +package User; + +public class FactoryUserFactory { + + public UserFactory createUserFactory(String typeOfUserFactory){ + if(typeOfUserFactory == "Human"){ + HumanUserFactory humanUF = new HumanUserFactory(); + return humanUF ; + } + else if (typeOfUserFactory == "Moral"){ + MoralUserFactory moralUF = new MoralUserFactory(); + return moralUF ; + } + else { + System.out.println("Please choose your type of User to create between Human and Moral"); + return null; + } + + } + +} diff --git a/src/User/HumanUser.java b/src/User/HumanUser.java new file mode 100644 index 0000000..76182c0 --- /dev/null +++ b/src/User/HumanUser.java @@ -0,0 +1,16 @@ +package User; + +import Others.Adress; + +public class HumanUser extends User { + + String birthdayDate, surname; + + public HumanUser(long id, long phoneNumber, String name, String username, String mail, String password, + Adress adress, boolean activated , String birthdayDate, String surname) { + super(id, phoneNumber, name, username, mail, password, adress, activated); + this.birthdayDate = birthdayDate; + this.surname = surname; + } + +} diff --git a/src/User/HumanUserFactory.java b/src/User/HumanUserFactory.java new file mode 100644 index 0000000..348b050 --- /dev/null +++ b/src/User/HumanUserFactory.java @@ -0,0 +1,17 @@ +package User; + +import Others.Adress; + +public class HumanUserFactory extends UserFactory { + + @Override + public void createUser(long id, long phoneNumber, String name, String username, String mail, String password, + Adress adress, boolean activated) { + try{ + User newUser = new Restaurant(id,phoneNumber,name,username,mail,password,adress,activated); + } + catch (Exception e) {} // faire le try/catch � l'ajout d'un User pour �viter les doublons. + + } + +} diff --git a/src/User/Manager.java b/src/User/Manager.java new file mode 100644 index 0000000..96ee82a --- /dev/null +++ b/src/User/Manager.java @@ -0,0 +1,85 @@ +package User; + +import java.util.ArrayList; + +import Others.Adress; +import provisoire.MyFoodora; + +public class Manager extends HumanUser { + + public Manager(long id, long phoneNumber, String name, String username, String mail, String password, Adress adress, + boolean activated, String birthdayDate, String surname) { + super(id, phoneNumber, name, username, mail, password, adress, activated, birthdayDate, surname); + + } + + public void addUser(User u,MyFoodora foodora, String typeOfUser){ + + } + + public void removeUser(User u, MyFoodora foodora){ + + } + + public void changeServiceFee(double newServiceFee, MyFoodora foodora){ + + } + + public void changeMarkupPercentage (double newMarkupPercentage, MyFoodora foodora){ + + } + + public void changeDeliveryCost(double newDeliveryCost, MyFoodora foodora){ + + } + + public double getTotalIncome(){ + return 1; + } + + public double getProfit(){ + return 1; + } + + public double getAverageIncome(){ + return 1; + } + + public double getAverageProfit(){ + return 1; + } + + public double getAverageIncomePerCustomer(){ + return 1; + } + + public void setTargetProfitPolicy(){ + + } + + public void setDeliveryPolicy(){ + + } + + public String getMostSellingRestaurant(){ + return null; + } + + public String getLeastSellingRestaurant(){ + return null ; + } + + public void activateUser(){ + + } + + public void desactivateUser(){ + + } + + + + + + +} diff --git a/src/User/MoralUser.java b/src/User/MoralUser.java new file mode 100644 index 0000000..7ce03c7 --- /dev/null +++ b/src/User/MoralUser.java @@ -0,0 +1,13 @@ +package User; + +import Others.Adress; + +public class MoralUser extends User { + + public MoralUser(long id, long phoneNumber, String name, String username, String mail, String password, + Adress adress, boolean activated) { + super(id, phoneNumber, name, username, mail, password, adress, activated); + // TODO Auto-generated constructor stub + } + +} diff --git a/src/User/MoralUserFactory.java b/src/User/MoralUserFactory.java new file mode 100644 index 0000000..f73a8b6 --- /dev/null +++ b/src/User/MoralUserFactory.java @@ -0,0 +1,14 @@ +package User; + +import Others.Adress; + +public class MoralUserFactory extends UserFactory { + + @Override + public void createUser(long id, long phoneNumber, String name, String username, String mail, String password, + Adress adress, boolean activated) { + // TODO Auto-generated method stub + + } + +} diff --git a/src/User/Restaurant.java b/src/User/Restaurant.java new file mode 100644 index 0000000..fe7cdc5 --- /dev/null +++ b/src/User/Restaurant.java @@ -0,0 +1,24 @@ +package User; + +import Others.Adress; + +public class Restaurant extends MoralUser { + + //ArrayList<Meal> listOfMeal; + + public Restaurant(long id, long phoneNumber, String name, String username, String mail, String password, + Adress adress, boolean activated) { + super(id, phoneNumber, name, username, mail, password, adress, activated); + //this.listOfMeal = listOfMeal + } + + + public void addMeal(){ + + } + + public void removeItem(){ + + } + +} diff --git a/src/User/User.java b/src/User/User.java new file mode 100644 index 0000000..1fa1fb6 --- /dev/null +++ b/src/User/User.java @@ -0,0 +1,129 @@ +package User; + +import Others.Adress; +import java.io.*; +import java.lang.*; +import java.util.*; + +public abstract class User { + + private long id,phoneNumber; + private String name,username,mail,password; + private Adress adress; + private boolean activated; + + + public User(long id, long phoneNumber, String name, String username, String mail, String password, Adress adress, + boolean activated) { + super(); + this.id = id; + this.phoneNumber = phoneNumber; + this.name = name; + this.username = username; + this.mail = mail; + this.password = password; + this.adress = adress; + this.activated = activated; + } + + + public long getId() { + return id; + } + + + public void setId(long id) { + this.id = id; + } + + + public long getPhoneNumber() { + return phoneNumber; + } + + + public void setPhoneNumber(long phoneNumber) { + this.phoneNumber = phoneNumber; + } + + + public String getName() { + return name; + } + + + public void setName(String name) { + this.name = name; + } + + + public String getUsername() { + return username; + } + + + public void setUsername(String username) { + this.username = username; + } + + + public String getMail() { + return mail; + } + + + public void setMail(String mail) { + this.mail = mail; + } + + + public String getPassword() { + return password; + } + + + public void setpassword(String password) { + this.password = password; + } + + + public Adress getAdress() { + return adress; + } + + + public void setAdress(Adress adress) { + this.adress = adress; + } + + + public boolean isActivated() { + return activated; + } + + + public void setActivated(boolean activated) { + this.activated = activated; + } + + + @Override + public String toString() { + return "User [id=" + id + ", phoneNumber=" + phoneNumber + ", name=" + name + ", username=" + username + + ", mail=" + mail + ", password=" + password + ", adress=" + adress + ", activated=" + activated + "]"; + } + + public void register(){ + System.out.println("Please writte your username"); + Scanner sc = new Scanner(System.in); + String usernametest = sc.nextLine(); + System.out.println("Please enter your password"); + String passwordtest = sc.nextLine(); + // faire un if sur la condition d'appartenance � MyFoodora core + try/catch + + + } + + + +} diff --git a/src/User/UserFactory.java b/src/User/UserFactory.java new file mode 100644 index 0000000..2e620b3 --- /dev/null +++ b/src/User/UserFactory.java @@ -0,0 +1,23 @@ +package User; + + +import java.io.*; +import java.lang.*; +import java.util.*; + +import javax.management.RuntimeErrorException; + +import Others.Adress; + +public abstract class UserFactory { + + + public abstract void createUser(long id, long phoneNumber, String name, String username, String mail, String password, + Adress adress, boolean activated); + + + + + } + + -- GitLab