/*
 * 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 Models.CommandeClt;

import Models.Produit.ListeProduit;
import Models.Client.Client;
import Models.Client.ClientEntreprise;
import Models.Client.ClientPassager;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
import javafx.collections.ObservableList;
/**
 *
 * @author PC-Maher
 */
public class CommandeClt {
    
    private String Codecommandeclt ;
    
    
    private Integer TypeClient ;  //0 Personne  1 Entreprise 2 Passager
    public Client CltPersonne ;
    public ClientEntreprise CltEntreprise ;
    public ClientPassager CltPassager ;
    
    private String Date;
    private String TypeRegement; //     0comptant        1facilité
    private String NetAPayer ;
    private String TotalTVA ;
    private String TotalHorsTaxNet;
    private String Remise;
    private String timbre;
    private String CodeDevis;
    private Integer CodeUser;  //code profile de utilisateur du programme
    private String CodeFacture;
    private String CodeBonLivraison;
    
    private ObservableList<ListeProduit> listeproduit ;

    public Integer getTypeClient() {
        return TypeClient;
    }

    public void setTypeClient(Integer TypeClient) {
        this.TypeClient = TypeClient;
    }
    
    public String getTypeClientString() {
        String Client = null ;
        
        if(TypeClient == 0){
            Client= "Ancien client";
        }
        if(TypeClient == 1){
            Client= "Entreprise";
        }
        if(TypeClient == 2){
            Client= "Passager";
        }
        return Client ;
    }

    public String getCodecommandeclt() {
        return Codecommandeclt;
    }

    public void setCodecommandeclt(String Codecommandeclt) {
        this.Codecommandeclt = Codecommandeclt;
    }
    
    public Client getCltPersonne() {
        return CltPersonne;
    }

    public void setCltPersonne(Client CltPersonne) {
        this.CltPersonne = CltPersonne;
    }

    public ClientEntreprise getCltEntreprise() {
        return CltEntreprise;
    }

    public void setCltEntreprise(ClientEntreprise CltEntreprise) {
        this.CltEntreprise = CltEntreprise;
    }

    public ClientPassager getCltPassager() {
        return CltPassager;
    }

    public void setCltPassager(ClientPassager CltPassager) {
        this.CltPassager = CltPassager;
    }

    
    
    
    public String getTimbre() {
        return timbre;
    }

    public void setTimbre(String timbre) {
        this.timbre = timbre;
    }

    
    public String getDate() {
        if(Date == null){
            DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
            Date date = new Date();
            return dateFormat.format(date); 
        }else{
            return Date;
        }
    }

    public void setDate(String Date) {
        this.Date = Date;
    }

    
    public String getTypeRegement() {
        return TypeRegement;
    }

    public void setTypeRegement(String TypeRegement) {
        this.TypeRegement = TypeRegement;
    }
    
    public void setTypeRegementString(String TypeRegement) {
        if(TypeRegement.equals("Comptant")){
            this.TypeRegement = "0";
        }else{
            this.TypeRegement = "1";
        }
         
    }
    
    public String getTypeRegementString() {
        String mode ="";
        switch (this.TypeRegement) {
            case "0":
                mode= "Comptant";
                break;
            case "1":
                mode = "Facilité";
                break;
        }
        return mode ;
    }
    
    
    
    
    public String getNetAPayer() {
        return NetAPayer;
    }

    public void setNetAPayer(String NetAPayer) {
        this.NetAPayer = NetAPayer;
    }

    public String getTotalTVA() {
        return TotalTVA;
    }

    public String getCodeDevis() {
        return CodeDevis;
    }

    public void setCodeDevis(String CodeDevis) {
        this.CodeDevis = CodeDevis;
    }
    
    
    public void setTotalTVA(String TotalTVA) {
        this.TotalTVA = TotalTVA;
    }

    public String getTotalHorsTaxNet() {
        return TotalHorsTaxNet;
    }

    public void setTotalHorsTaxNet(String TotalHorsTaxNet) {
        this.TotalHorsTaxNet = TotalHorsTaxNet;
    }

    

    public Integer getCodeUser() {
        return CodeUser;
    }

    public void setCodeUser(Integer CodeUser) {
        this.CodeUser = CodeUser;
    }
    
    public ObservableList<ListeProduit> getListeproduit() {
        return listeproduit;
    }

    public void setListeproduit(ObservableList<ListeProduit> listeproduit) {
        this.listeproduit = listeproduit;
    }

    public String getCodeFacture() {
        return CodeFacture;
    }

    public void setCodeFacture(String CodeFacture) {
        this.CodeFacture = CodeFacture;
    }

    public String getRemise() {
        return Remise;
    }

    public void setRemise(String Remise) {
        this.Remise = Remise;
    }

    

    public String getCodeBonLivraison() {
        return CodeBonLivraison;
    }

    public void setCodeBonLivraison(String CodeBonLivraison) {
        this.CodeBonLivraison = CodeBonLivraison;
    }

    
}
