Package com.ledruide.druidecave.business

Source Code of com.ledruide.druidecave.business.BottlesProxy

/**
* Copyright (C) 2007 Julien Revault d'Allonnes
*
* This file is part of DruideCave.
*
* DruideCave is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* DruideCave is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with DruideCave; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
*/
package com.ledruide.druidecave.business;

import com.ledruide.druidecave.dao.Bottle;
import com.ledruide.druidecave.dao.BottlePeer;
import com.ledruide.druidecave.gui.BottleAdd;
import com.ledruide.druidecave.gui.Home;
import com.ledruide.druidecave.helpers.I18nScreens;
import com.ledruide.druidegui.SwapFrame;
import com.ledruide.druidegui.helpers.Session;
import com.ledruide.druidegui.helpers.TextTools;
import com.ledruide.druidegui.tools.ComponentTools;

import java.util.Calendar;
import java.util.List;

/**
* @author Julien
* @since 14 oct. 2006
*/
public class BottlesProxy {

    /**
     * Cette m�thode permet de sauvegarder tout ce qui concerne une nouvelle bouteille :)
     *
     * @param ihm l'IHM de la bouteille en question
     * @return true si tout se passe correctement, false sinon.
     */
    public static boolean ajout(BottleAdd ihm) {

        // Proc�dons � quelques v�rifications
        // le nom doit �tre renseign�
        if (TextTools.isNullOrEmpty(ihm.getFieldName().getText())) {
            ihm.addMessages(ihm.getFieldName(), I18nScreens.getInstance().get("screen.bottle.add.error.name"));
            return false;
        }

        Bottle boutanche = new Bottle();
        boutanche.setYear(ihm.getFieldYear().getText());
        boutanche.setAwakening(ihm.getFieldAwakening().getText());
        boutanche.setDenomination_id(ComponentTools.getClefFromCombo(ihm.getComboDenomination()));
        boutanche.setClassification_id(ComponentTools.getClefFromCombo(ihm.getComboClassification()));
        boutanche.setFormat_id(ComponentTools.getClefFromCombo(ihm.getComboFormat()));
        boutanche.setName(ihm.getFieldName().getText());
        boutanche.setCountry_id(ComponentTools.getClefFromCombo(ihm.getComboCountry()));
        boutanche.setPrice(ihm.getFieldPrice().getText());
        boutanche.setQuantity(ihm.getFieldQuantity().getText());
        boutanche.setVigneron_id(ComponentTools.getClefFromCombo(ihm.getComboVigneron()));
        boutanche.setRegion_id(ComponentTools.getClefFromCombo(ihm.getComboRegion()));
        boutanche.setColor_id(ComponentTools.getClefFromCombo(ihm.getComboColor()));

        try {
            return boutanche.save();
        }
        catch (Exception e) {
            ihm.addMessages(null, I18nScreens.getInstance().get("screen.bottle.add.error.name"));
            return false;
        }
    }

    /**
     * Cette m�thode retourne le nombre de bouteilles
     * qui sont actuellement stock�es dans la cave.
     * @return le nombre total de bouteilles en cave
     */
    public static int getNombreDeBouteillesDifferentesEnCave() {
        try {
            List bouteilles = BottlePeer.findAll();
            if (bouteilles != null) return bouteilles.size();
        }
        catch (Exception e) { /* rien � faire ici */ }
        return 0;
    }

    /**
     * Cette m�thode retourne le nombre de bouteilles
     * qui sont actuellement stock�es dans la cave.
     * @return le nombre total de bouteilles en cave
     */
    public static String getNombreDeBouteillesEnCave() {
        int quantite = 0;
        try {
            List bouteilles = BottlePeer.findAll();
            if (bouteilles != null) {
                // Ici il faut parcourir et r�cup�rer chaque quantit�
                for (int i = 0; i < bouteilles.size(); i++) {
                    Bottle bout = (Bottle) bouteilles.get(i);
                    String boutQ = bout.getQuantity();
                    if (TextTools.isNullOrEmpty(boutQ)) {
                        boutQ = "0";
                    }
                    quantite += Integer.parseInt(boutQ);
                }
            }
        }
        catch (Exception e) {
            quantite = 0;
        }
        return String.valueOf(quantite);
    }

    /**
     * Cette m�thode retourne le nombre de bouteilles
     * dont l'ann�e d'�veil est l'ann�e courante
     * @return le nombre de bouteilles � boire cette ann�e
     */
    public static String getNombreDeBouteillesEveilCetteAnnee() {
        String annee = String.valueOf(Calendar.getInstance().get(Calendar.YEAR));
        int quantite = 0;
        try {
            List bouteilles = BottlePeer.findAll();
            if (bouteilles != null) {
                // Ici il faut parcourir et r�cup�rer chaque quantit�
                for (int i = 0; i < bouteilles.size(); i++) {
                    Bottle bout = (Bottle) bouteilles.get(i);
                    // Si l'ann�e d'�veil est cette ann�e
                    if (annee.equals(bout.getAwakening())) {
                        String boutQ = bout.getQuantity();
                        if (TextTools.isNullOrEmpty(boutQ)) {
                            boutQ = "0";
                        }
                        quantite += Integer.parseInt(boutQ);
                    }
                }
            }
        }
        catch (Exception e) {
            quantite = 0;
        }
        return String.valueOf(quantite);
    }


    public static Bottle getSessionBouteilleFromID() throws Exception {
        String recoltant_pk =  (String) Session.getInstance().getAttribute("BOUTEILLE_ID");
        Bottle bouteille = BottlePeer.findByPK(recoltant_pk);
        if (bouteille == null) {
            // On repart vers la page d'accueil !
            // ERREUR
            SwapFrame.getInstance().init(Home.class);
        }
        return bouteille;
    }
}
TOP

Related Classes of com.ledruide.druidecave.business.BottlesProxy

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.