You are on page 1of 3

/*

* To change this license header, choose License Headers in Project Properties.


* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package com.mycompany.shelfie.daos;

import com.codename1.io.ConnectionRequest;
import com.codename1.io.JSONParser;
import com.codename1.io.Log;
import com.codename1.io.NetworkManager;
import com.codename1.ui.Dialog;
import com.codename1.ui.Form;
import com.codename1.ui.TextArea;
import com.codename1.ui.events.ActionEvent;
import com.codename1.ui.events.ActionListener;
import com.codename1.ui.layouts.BorderLayout;
import com.mycompany.shelfie.entities.Coach;
import com.mycompany.shelfie.guis.Acoach;
import com.mycompany.shelfie.utils.Statics;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.Reader;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;

/**
*
* @author Amal
*/
public class DAO {

private ConnectionRequest connectionRequest;


public static Form listOfBooks;
public void addBook(Coach book){
connectionRequest=new ConnectionRequest(){
@Override
protected void postResponse() {
Dialog d = new Dialog("Add to my coachs");
TextArea popupBody = new TextArea("coach successfully added");
popupBody.setUIID("PopupBody");
popupBody.setEditable(false);
d.setLayout(new BorderLayout());
d.add(BorderLayout.CENTER, popupBody);

}
};
connectionRequest.setUrl("http://localhost/shelfie/insert.php?nom=" +
book.getNom() + "&prenom=" + book.getPrenom()+"&email="+book.getEmail()
+"&age="+book.getAge());
NetworkManager.getInstance().addToQueue(connectionRequest);
}
public void removeBook(Coach b){ // remove book by title
connectionRequest = new ConnectionRequest() {
@Override
protected void postResponse() {
Dialog d = new Dialog("Remove coach from database");
TextArea popupBody = new TextArea("coach successfully removed");
popupBody.setUIID("PopupBody");
popupBody.setEditable(false);
d.setLayout(new BorderLayout());
d.add(BorderLayout.CENTER, popupBody);

}
};
connectionRequest.setUrl("http://localhost/shelfie/remove.php?nom=" +
b.getNom());
NetworkManager.getInstance().addToQueue(connectionRequest);
}
public void findAllBooks(){
connectionRequest = new ConnectionRequest() {
List<Coach> books = new ArrayList<>();
@Override
protected void readResponse(InputStream in) throws IOException {

JSONParser json = new JSONParser();


try {
Reader reader = new InputStreamReader(in, "UTF-8");

Map<String, Object> data = json.parseJSON(reader);


List<Map<String, Object>> content = (List<Map<String, Object>>)
data.get("root");
books.clear();

for (Map<String, Object> obj : content) {


books.add(new Coach((String) obj.get("nom"),(String)
obj.get("prenom"),(String) obj.get("email"),Integer.parseInt((String)
obj.get("age")))
);
}
} catch (IOException err) {
Log.e(err);
}
}

@Override
protected void postResponse() {
//System.out.println(libs.size());
listOfBooks = new Form();
com.codename1.ui.List uiLibsList = new com.codename1.ui.List();
ArrayList<String> libsNoms = new ArrayList<>();
for(Coach l :books){
libsNoms.add(l.getNom());

}
com.codename1.ui.list.DefaultListModel<String> listModel = new
com.codename1.ui.list.DefaultListModel<>(libsNoms);
uiLibsList.setModel(listModel);
uiLibsList.addActionListener(new ActionListener() {

@Override
public void actionPerformed(ActionEvent evt) {
Coach currentBook =
books.get(uiLibsList.getCurrentSelected());
new
Acoach(currentBook.getNom(),currentBook.getPrenom(),currentBook.getEmail(),currentB
ook.getAge()).show();
}
});
listOfBooks.setLayout(new BorderLayout());
listOfBooks.add(BorderLayout.NORTH,uiLibsList);
listOfBooks.add(BorderLayout.SOUTH,Statics.createBackBtn());
listOfBooks.show();
}
};
connectionRequest.setUrl("http://localhost/shelfie/getbooks.php");
NetworkManager.getInstance().addToQueue(connectionRequest);
}
public void updateBook(Coach b){
connectionRequest = new ConnectionRequest() {

@Override
protected void postResponse() {
Dialog d = new Dialog("Popup Title");
TextArea popupBody = new TextArea("coach updated");
popupBody.setUIID("PopupBody");
popupBody.setEditable(false);
d.setLayout(new BorderLayout());
d.add(BorderLayout.CENTER, popupBody);

}
};
connectionRequest.setUrl("http://localhost/shelfie/update.php?
nom="+b.getNom()+"&prenom="+b.getPrenom()+
"&email="+b.getEmail()+"&age="+b.getAge()+"&id=3");
NetworkManager.getInstance().addToQueue(connectionRequest);
}

You might also like