Skip to content
Snippets Groups Projects
Commit 0996ee9a authored by Nicolas Fley's avatar Nicolas Fley
Browse files

Corentin merging file

parent 31b45b75
No related branches found
No related tags found
No related merge requests found
Showing
with 692 additions and 1 deletion
package Cards;
public class BasicFidelityCard extends FidelityCard {
public BasicFidelityCard(long id) {
super(id);
// TODO Auto-generated constructor stub
}
@Override
public String returnType() {
return "Basic";
}
}
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();
}
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";
}
}
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";
}
}
package my.foodora.code.core; package Core;
import java.util.ArrayList; import java.util.ArrayList;
/* to be deleted */
import provisoire.entities.ContextDeliveryPolicy; import provisoire.entities.ContextDeliveryPolicy;
import provisoire.entities.ContextTargetProfit; import provisoire.entities.ContextTargetProfit;
import provisoire.entities.Courier; import provisoire.entities.Courier;
......
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 + "]";
}
}
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;
}
}
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 + "]";
}
}
package Others;
public class IDCard {
/** Constructeur priv */
private IDCard()
{}
/** Instance unique non prinitialise */
private static IDCard INSTANCE = null;
/** Point d'accs pour l'instance unique du singleton */
public static IDCard getInstance()
{
if (INSTANCE == null)
{ INSTANCE = new IDCard();
}
return INSTANCE;
}
}
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.
}
}
}
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);
}
}
}
}
}
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;
}
}
}
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;
}
}
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.
}
}
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(){
}
}
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
}
}
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
}
}
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(){
}
}
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
}
}
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);
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment