package classes;
import MyExceptions.DateException;
import java.io.FileOutputStream;
import java.io.ObjectOutputStream;
import java.io.Serializable;
import java.util.Calendar;
/**
*
* @author threis raphael
*/
public class cPrestation implements Serializable{
//
private int iMois;
private int iAnnee;
private cJournee[] cjJours;
private int iIdOuvrier;
private String sNom;
private String sPrenom;
//
//
/**
* Constructeur par défaut
*/
public cPrestation() {
iMois = 0;
iAnnee = 0;
iIdOuvrier = 0;
sNom = "";
sPrenom = "";
}
/**
* Initialise les prestations du mois pour l'ouvrier
* @param iId Identifiant de l'ouvrier.
* @param Nom Nom de l'ouvrier.
* @param Prenom Prénom de l'ouvrier
*/
public cPrestation(int iId, String Nom, String Prenom){
this.iIdOuvrier = iId;
this.sNom = Nom;
this.sPrenom = Prenom;
}
//
//
public cJournee[] getCjJours() {
return cjJours;
}
/**
* Initialise le tableau des jours du mois avec le nombre de jours du mois.
*/
private void setCjJours() throws DateException {
if( this.iMois >= 0 && this.iAnnee >= 0)
{
Calendar c = Calendar.getInstance();
c.set(Calendar.MONTH, this.iMois);
c.set(Calendar.YEAR, this.iAnnee);
c.set(Calendar.DAY_OF_MONTH, 1);
int nbJours = c.getActualMaximum(Calendar.DAY_OF_MONTH);
cjJours = new cJournee[nbJours];
}
else if(this.iMois<1){
throw new DateException("Le mois est incohérent !");
}
else if(this.iAnnee<1){
throw new DateException("L'année est incohérente !");
}
}
public int getAnnee() {
return iAnnee;
}
public void setAnnee(int iAnnee) {
this.iAnnee = iAnnee;
try{
setCjJours();
}
catch(DateException de){
System.out.println(de.getMessage());
}
}
public int getMois() {
return iMois;
}
public void setMois(int iMois) {
this.iMois = iMois;
try{
setCjJours();
}
catch(DateException de){
System.out.println(de.getMessage());
}
}
public int getIdOuvrier() {
return iIdOuvrier;
}
public void setIdOuvrier(int idOuvrier) {
this.iIdOuvrier = idOuvrier;
}
public String getNom() {
return sNom;
}
public void setNom(String sNom) {
this.sNom = sNom;
}
public String getPrenom() {
return sPrenom;
}
public void setPrenom(String sPrenom) {
this.sPrenom = sPrenom;
}
//
/**
*
* @return boolean true si élément sauver avec succès
* false si une erreur est survenue
*/
public boolean save(){
try{
FileOutputStream fileOut = new FileOutputStream("c:\\deneigement\\"+iIdOuvrier+"-"+iAnnee+"-"+iMois+".ser");
ObjectOutputStream out = new ObjectOutputStream(fileOut);
out.writeObject(this);
out.close();
fileOut.close();
}
catch(Exception e){
System.out.println("Erreur:"+e.getMessage());
return false;
}
return true;
}
public void setPrestation(float[] pPrestation){
}
}