PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#1 24-02-2016 09:29:57

pipipicontrole
Membre
Inscription : 24-02-2015
Messages : 2

somme de 4 objet

Bonjour tout le monde,
j'ai besoin d'un petit coup de pousse si possible,
C’est la page méthode métier et c'est dans cette page que je dois mettre la méthode permettant de faire la somme des 4 enregistrements (objet) de la journée. C’est dans cette page on a la fonction create, search, update, delete et maintenant j'ai besoin de calculez et je saï pas comment implémentez la fonction calculez ici. En effet dans la grid d'affichage j'ai mi le bouton calculer mai quand on clique sur le bouton après avoir sélectionnée les 4 objets c'est le formulaire d’édition de total qui s'affiche, tan dis que je veux en cliquant sur le bouton que sa calcule le totale et l'insert dans la bases de donnée plus précisément dans la table total avec les identifiants des 4 objets sélectionnée comme clé étrangère. Je vous présente la page méthode métier :

<?php
class consommation_electricite_releve_total_metier {
     
    //************************************************
    //Déclaration du contructeur
    //************************************************
    function __construct()
    {
    }
 
    /**
     * Méthode qui résout les depandences
     *@param{$path}: tableau associatif des chemins vers les types de ficher
     */
    public static function  require_dependencies($path){
        $dependancies_entites = array(  
                                            "consommation_electricite_releve_total.php"
                                        , "admin_utilisateur.php"
                                         
                                     );
        $dependancies_metiers = array(
                                    );    
        foreach( $dependancies_entites as $key => $value) {
            require_once($path['entites'].$value);
        }
        foreach( $dependancies_metiers as $key => $value) {
            require_once($path['metiers'].$value);
        }      
    }
    /**
     *Mthode qui donne tous champs
     *@retour : un tableau contenant les champs(ex: array('identifiant','titre'))
     */
    public static function getDataSourceFields() {
 
        //on initialise le tableau
        $fields = array(                        
                       );
        //
        $fields =  array_merge ( $fields,  consommation_electricite_releve_total::getDataSourceFields()  );
         
        //on retourne le resultat
        return $fields;
    }
     
    /**
     *Méthode qui effectue le traitement de logs changement de certains champs
     *@param{consommation_electricite_releve_totalInstance} : une instance de la classe    
     *@param{temps} : une instance de la classe    
     *@param{donnee} :
     *@param{connexion} : une instance pdo
     **/
    function createHistoriqueConsommation_electricite_releve_total_created($consommation_electricite_releve_totalInstance ,$temps, $donnee , $connexion) {
        //
        $params = array();
                 
        foreach( $params as $key => $value) {
             
            $informations = 'consommation_electricite_releve_total_historique_'.$value.'_informations';
            $classe = 'consommation_electricite_releve_total_historique_'.$value;
            $setMethode = 'setParam_consommation_electricite_releve_total_'.$value.'_identifiant';
            $getMethode = 'getParam_consommation_electricite_releve_total_'.$value.'_identifiant';
 
            $instance = new  $classe();    
            $instance->setConsommation_electricite_releve_total_identifiant(  $consommation_electricite_releve_totalInstance->getIdentifiant() );
            $instance->setDate($temps);
            $instance->setAdmin_utilisateur_identifiant($_SESSION['id']);
            $instance->$setMethode( $consommation_electricite_releve_totalInstance->$getMethode() );
            if( isset($donnee->$informations )) {
                $instance->setInformations($donnee->$informations);
            }
            $instance->create($connexion);
        }
    }
    /**
     *Méthode qui effectue le traitement de logs changement de certains champs
     *@param{consommation_electricite_releve_totalInstance} : une instance de la classe
     *@param{consommation_electricite_releve_totalAncienInstance} : une instance  de la classe avant modification  
     *@param{temps} : le temps
     *@param{donnee} : le temps
     *@param{connexion} : une conenxion sur la base de donnée
     **/
    function createHistoriqueConsommation_electricite_releve_total_updated($consommation_electricite_releve_totalInstance , $consommation_electricite_releve_totalInstance_ancien ,  $temps , $donnee , $connexion) {
        //
        $params = array();
 
        foreach( $params as $key => $value) {
             
            $informations = 'consommation_electricite_releve_total_historique_'.$value.'_informations';
            $classe = 'consommation_electricite_releve_total_historique_'.$value;
            $setMethode = 'setParam_consommation_electricite_releve_total_'.$value.'_identifiant';
            $setMethode_ = 'setParam_consommation_electricite_releve_total_'.$value.'_identifiant_';
            $getMethode = 'getParam_consommation_electricite_releve_total_'.$value.'_identifiant';
            $getMethode_ = 'getParam_consommation_electricite_releve_total_'.$value.'_identifiant_';
 
            $instance = new  $classe();    
            $instance->setConsommation_electricite_releve_total_identifiant(  $consommation_electricite_releve_totalInstance->getIdentifiant() );
            $instance->setDate($temps);
            $instance->setAdmin_utilisateur_identifiant($_SESSION['id']);
            $instance->$setMethode( $consommation_electricite_releve_totalInstance->$getMethode() );
            $instance->$setMethode_( $consommation_electricite_releve_totalInstance_ancien->$getMethode() );
            if( isset($donnee->$informations )) {
                $instance->setInformations($donnee->$informations);
            }
            if( $instance->$getMethode() != $instance->$getMethode_()) {
                $instance->create($connexion);
            }
        }  
    }
 
    /**
     * Méthode qui traite la cohérence des informations d'un ticket avec une opération create ou update
     * @param{consommation_electricite_releve_totalInstance}: l'instance du ticket
     **/
    public function gererCoherencesInfosConsommation_electricite_releve_total( $consommation_electricite_releve_totalInstance , $temps, $connexion , $operation ) {
         
 
        if( $consommation_electricite_releve_totalInstance->getDate_creation() != '' &&  common::checkFrFullDateFormat($consommation_electricite_releve_totalInstance->getDate_creation() ) ) {
            $consommation_electricite_releve_totalInstance->setDate_creation(common::frFullDateFormatToTimeStamp($consommation_electricite_releve_totalInstance->getDate_creation()));
        //
        }if (strcmp(  $operation ,'create' ) == 0 ) {
            /**on met a jour les infos historique de création du tiers ****/
            /*$consommation_electricite_releve_totalInstance->setAdmin_utilisateur_creation_identifiant($_SESSION['id']);
            $consommation_electricite_releve_totalInstance->setDate_creation($temps);
            $consommation_electricite_releve_totalInstance->setAdmin_utilisateur_modification_identifiant('');
            $consommation_electricite_releve_totalInstance->setDate_modification('');*/
             
        }else if (strcmp(  $operation ,'update' ) == 0 ) {
             
            /*$consommation_electricite_releve_totalInstance_ancien = new consommation_electricite_releve_total();        
            $consommation_electricite_releve_totalInstance_ancien->read( $connexion , $consommation_electricite_releve_totalInstance->getIdentifiant() ); */
 
            /**on met a jour les infos historique de création du tiers ****/
            /*$consommation_electricite_releve_totalInstance->setAdmin_utilisateur_modification_identifiant($_SESSION['id']);
            $consommation_electricite_releve_totalInstance->setDate_modification($temps);*/                                
 
        }      
        //
        return $consommation_electricite_releve_totalInstance;
    }
     
 
    //************************************************
    //Méthode qui effectue le traitement de l'action de recherche des enregistrements consommation_electricite_releve_total
    //@param {parametresCriteres} : un tableau associatif contenant les critères de recherche(ex: array('critre'=>array('valeur'=>valeur,'operateur'=>operateur)))
    //@param {parametreDebut} : le paramètre de début de la pagination(ex: 2)
    //@param {paramtreLimit} : le paramètre de fin de la pagination(ex: 100 )
    //@param {parametreTriChamps} : le paramètre champs du tri(ex: 'nom' )
    //@param {parametreTriSens} : le paramètre sens du tri(ex: 'asc' )
    //@retour: le tableau des enregistrements avec le total sans tenir compte de la pagination (ex:array('data'=>array('attribut'=>valeur),'total'=>100))
    //************************************************
    public function search($parametresCriteres,$parametreDebut,$paramtreLimit,$parametreTriChamps,$parametreTriSens)
    {  
        //on initialise une connexion vers la base de données
        $connexion_dbInstance = new  connexion_db();
        //on initialise les critères de tri par défaut sur l'identifiant
        $tri = array("champs"=> "identifiant","sens"=> "asc");
        //on initialise les critères de pagination par défaut sur 20 enregistrements au maximun en commançant à un début de 0
        $pagination = array("debut"=> 0, "fin"=> 20);
        //on initialise le tableau associatif des critères de recherche
        $criteres = array();
        //on initialise le tableau des champs de tri autorisés
        $champsTriAutorises = array( 'identifiant'  ,'valeur'  ,'date_creation'  ,'date_modification'  ,'admin_utilisateur_creation_identifiant'  ,'admin_utilisateur_modification_identifiant'  );
        //on initialise le tableau des critères de recherche autorisés
        $criteresRechercheAutorises = array( 'identifiant'  ,'valeur'  ,'date_creation'  ,'date_modification'  ,'admin_utilisateur_creation_identifiant'  ,'admin_utilisateur_modification_identifiant'  );
        //on crée une instance de la classe consommation_electricite_releve_total
        $consommation_electricite_releve_totalInstance = new consommation_electricite_releve_total();
        //on parcour le tableau des critères de recherche autorisés
        foreach($criteresRechercheAutorises as $val)
        {  
            //si un trouve ce critère parmi ceux envoyés
            if( $parametresCriteres != "" && isset($parametresCriteres[$val]) && $parametresCriteres[$val] != "" )
            {
                //on l'ajoute aux critères à envoyer
                $criteres[$val] = $parametresCriteres[$val];
            }
        }
        //si le critère de fin de pagination envoyé est non vide et supérieur à 0
        if($paramtreLimit != "" && $paramtreLimit > 0)
        {
            //on le récupère
            $pagination["fin"] = $paramtreLimit;
        }
        //si le critère de début de pagination envoyé est non vide et supérieur ou egale à 0
        if($parametreDebut != "" && $parametreDebut >= 0)
        {
            //on le récupère
            $pagination["debut"] = $parametreDebut;
        }
        //si le champs du critère de tri envoyé est non vide et figure parmi ceux autorisés
        if($parametreTriChamps != "" && in_array($parametreTriChamps,$champsTriAutorises))
        {
            //on le récupère
            $tri["champs"] = $parametreTriChamps ;
        }
        //si le critère du sens de pagination envoyé est non vide et est valide
        if($parametreTriSens != "" && ( ! strnatcasecmp($parametreTriSens, 'asc') || !strnatcasecmp($parametreTriSens, 'desc') ) )
        {
            //on le récupère
            $tri["sens"] = $parametreTriSens ;
        }
        //on recherche les données en fonction des critères
        $retour = $consommation_electricite_releve_totalInstance::search($connexion_dbInstance::$connexion,$criteres,$pagination,$tri);    
        //on retourne le resultat
        return $retour ;  
    }
 
    //************************************************
    //Méthode qui effectue la création
    //@param {donnees} : un tableau contenant les enregistrements à inserer (ex: array( array('champs1'=>valeur1,'champs2'=>valeur2)))
    //@param {xmlMessage} : le domXpath du fichier xml des messages
    //@retour: un tableau associatif reprensentant la structure de reponse (ex: array('success'=>false,'reponse'=>array( array('success'=>true,'validation'=>  array('estValide': false, 'champs'=>array('attribut'=>array('estValide'=>false,'message'=>code du message))),'message'=>'sous opération ok') ),'message'=>'opération global ok') )
    //************************************************
    function create($donnees,&$xmlMessage)
    {  
        //on initialise la connexion sur la base de données
        $connexion_dbInstance = new  connexion_db();  
        //on crée une instance de classe
        $consommation_electricite_releve_totalInstance = new consommation_electricite_releve_total();
        //on initialise l'indicateur de succès de l'opération globale
        $successGlobal = false;
        //on initialise le message de retour complet de l'opération
        $messageGlobal = '';
        //on initialise le tableau pour contenir les codes possible du message de retour global: dont les message correspondants seron concatené
        $messageGlobalCodes = array();    
        //on initialise le tableau contenant les reponses d'opération pour chaque enregistrement
        $reponseGlobal = array();
        //on initialise le retour
        $retourGlobal = array('success'=>false,'reponse'=>array(),'message'=>'');
        //
        $temps = time();  
        //si le tableau des données est non vide
        if($donnees !="" && is_array($donnees))
        {
            //on le parcour
            foreach($donnees as $donnee)
            {
                //on initialise l'indicateur de résussite de l'opération pour l'enregistrement courant
                $id = 0;          
                //on initialise l'indicateur de reussite(retour) de l'opération pour l'enregistrement courant
                $successCourant = false;          
                //on initialise le message de retour de l'opération pour l'enregistrement courant
                $messageCourant = '';
                //on initialise les attributs de l'instance de la casse consommation_electricite_releve_total avec les valeurs de l'enregistrement
                $consommation_electricite_releve_totalInstance->fillFromObject($donnee);
                //
                $consommation_electricite_releve_totalInstance = $this->gererCoherencesInfosConsommation_electricite_releve_total( $consommation_electricite_releve_totalInstance ,$temps ,$connexion_dbInstance::$connexion , 'create') ;                                      
                //on valide l'instance
                $validationRetour = $consommation_electricite_releve_totalInstance->validate($connexion_dbInstance::$connexion);
                //s'il l'est
                if($validationRetour['estValide'] == true)
                {
                    //on insère les valeur de l'instance dans la base de données
                    $id = $consommation_electricite_releve_totalInstance->create($connexion_dbInstance::$connexion);
                    $consommation_electricite_releve_totalInstance->setIdentifiant($id);                
                }
                //s'il ne l'est pas
                else
                {
                    //on ajoute au message de retour global la non validité de certains enregistrements
                    $messageGlobalCodes['1_'] = 30;
                    //on indique l'échec globale de l'opération
                    $successGlobal = false;
                    //on indique comme message pour l'opération courante l'erreur de validation
                    $messageCourant = rendu_message::getMessageContenu('2','consommation_electricite_releve_total',1,false,$xmlMessage);
                                 
                     
                //on met le bon message de validation du champs valeur
                rendu_message::setMessageContenu('1','consommation_electricite_releve_total',$validationRetour['champs']['valeur']['message'],false,$xmlMessage,$validationRetour['champs']['valeur']['message']);        
                 
 
                }
                //si l'opération courante s'est bien déroulée
                if( $id > 0)
                {
                    //on indique la réussite de l'opération courante
                    $successCourant = true;
                    //on indique comme message pour l'opération courante le message de succès
                    $messageCourant = rendu_message::getMessageContenu('2','consommation_electricite_releve_total',10,false,$xmlMessage);
                     
                    /************   traitement historique  ***************/                
                    //$this->createHistoriqueConsommation_electricite_releve_total_created( $consommation_electricite_releve_totalInstance   , $temps , $donnee , $connexion_dbInstance::$connexion );                  
                }
                //si l'opération courante ne s'est pas bien déroulée
                else
                {
                    //on indique comme message pour l'opération courante le message d'échec
                    $messageCourant  = rendu_message::getMessageContenu('2','consommation_electricite_releve_total',20,false,$xmlMessage);
                    //on indique l'échec globale de l'opération
                    $successGlobal = false;
                    //si l'enregistrement est valide
                    if($validationRetour['estValide'] == true)
                    {
                        //on ajoute au message de retour global l'echec de l'opération pours certains enregistrements
                        $messageGlobalCodes['10_'] = 40;
                    }  
                }
                //on initialise la structure de retour l'opération courante
                $responseCourant = array('success'=>$successCourant,'message'=>$messageCourant,'validation'=>$validationRetour);
                //on ajoute la structure de retour l'opération courante dans le tableau de reponse de la structure de retour globale
                array_push($reponseGlobal,$responseCourant);
            }
        }
        //on initialise la structure glabale avec la liste des reponses d'opération pour chaque enregistrement
        $retourGlobal['reponse'] = $reponseGlobal;
        //on parcours le tableau des codes trouvé pour le message global
        foreach($messageGlobalCodes as $code)
        {
            //si le message global est vide
            if($messageGlobal == "")
            {
                //on l'affecte avec le message du code
                $messageGlobal  = rendu_message::getMessageContenu('2','consommation_electricite_releve_total',$code,false,$xmlMessage);
            }
            else
            {
                //on ajoute le message du code
                $messageGlobal .= rendu_message::getMessageContenu('2','consommation_electricite_releve_total',$code,true,$xmlMessage);
            }
        }
        //si le message global est vide
        if($messageGlobal == "")
        {
            //on indique comme message gloable que l'opération s'est bien déroulé
            $messageGlobal = rendu_message::getMessageContenu('2','consommation_electricite_releve_total',50,false,$xmlMessage);
            $successGlobal = true;
        }
        //on affecte l'indicateur de succès global
        $retourGlobal['success'] = $successGlobal;
        //on affecte le message de retour global
        $retourGlobal['message'] = $messageGlobal;
        //on retourne le resultat
        return $retourGlobal;
    }
     
    //************************************************
    //Méthode qui effectue la mise à jour
    //@param {donnees} : un tableau contenant les enregistrements à mettre à jour (ex: array( array('champs1'=>valeur1,'champs2'=>valeur2)))
    //@param {xmlMessage} : le domXpath du fichier xml des messages
    //@retour: un tableau associatif reprensentant la structure de reponse (ex: array('success'=>false,'reponse'=>array( array('success'=>true,'validation'=>  array('estValide': false, 'champs'=>array('attribut'=>array('estValide'=>false,'message'=>code du message))),'message'=>'sous opération ok') ),'message'=>'opération global ok') )
    //************************************************
    function update($donnees,&$xmlMessage)
    {          
        //on initialise la connexion sur la base de données
        $connexion_dbInstance = new  connexion_db();  
        //on crée une instance de classe
        $consommation_electricite_releve_totalInstance = new consommation_electricite_releve_total();
        $consommation_electricite_releve_totalInstance_ancien = new consommation_electricite_releve_total();      
        //on initialise l'indicateur de succès de l'opération globale
        $successGlobal = false;
        //on initialise le message de retour complet de l'opération
        $messageGlobal = '';
        //on initialise le tableau pour contenir les codes possible du message de retour global: dont les message correspondants seron concatené
        $messageGlobalCodes = array();    
        //on initialise le tableau contenant les reponses d'opération pour chaque enregistrement
        $reponseGlobal = array();
        //on initialise le retour
        $retourGlobal = array('success'=>false,'reponse'=>array(),'message'=>'');
        //
        $temps = time();                  
        //si le tableau des données est non vide
        if($donnees !="" && is_array($donnees))
        {
            //on le parcour
            foreach($donnees as $donnee)
            {
                //on initialise l'indicateur de résussite de l'opération pour l'enregistrement courant
                $id = 0;
                //on initialise l'indicateur de reussite(retour) de l'opération pour l'enregistrement courant
                $successCourant = false;
                //on initialise le message de retour de l'opération pour l'enregistrement courant
                $messageCourant = '';
                //on initialise les attributs de l'instance de la casse consommation_electricite_releve_total avec les valeurs de l'enregistrement
                $consommation_electricite_releve_totalInstance->fillFromObject($donnee);
                //lecture de l'anciienne instance avec les donénes avant la modification
                $consommation_electricite_releve_totalInstance_ancien->read($connexion_dbInstance::$connexion , $consommation_electricite_releve_totalInstance->getIdentifiant());                              
                //
                $consommation_electricite_releve_totalInstance = $this->gererCoherencesInfosConsommation_electricite_releve_total( $consommation_electricite_releve_totalInstance ,$temps , $connexion_dbInstance::$connexion , 'update') ;                                                    
                //on valide l'instance
                $validationRetour = $consommation_electricite_releve_totalInstance->validate($connexion_dbInstance::$connexion);
                //s'il l'est
                if($validationRetour['estValide'] == true)
                {
                    //on met à jour les valeur de l'instance dans la base de données
                    $id = $consommation_electricite_releve_totalInstance->update($connexion_dbInstance::$connexion);
                }
                //s'il ne l'est pas
                else
                {
                    //on ajoute au message de retour global la non validité de certains enregistrements
                    $messageGlobalCodes['1_']= 30;
                    //on indique l'échec globale de l'opération
                    $successGlobal = false;
                    //on indique comme message pour l'opération courante l'erreur de validation
                    $messageCourant = rendu_message::getMessageContenu('2','consommation_electricite_releve_total',1,false,$xmlMessage);
                    //on met le bon message de validation du champs client
                     
                //on met le bon message de validation du champs valeur
                rendu_message::setMessageContenu('1','consommation_electricite_releve_total',$validationRetour['champs']['valeur']['message'],false,$xmlMessage,$validationRetour['champs']['valeur']['message']);        
                         
                }
                //si l'opération courante s'est bien déroulée
                if( $id > 0)
                {
                    //on indique la réussite de l'opération courante
                    $successCourant = true;
                    //on indique comme message pour l'opération courante le message de succès
                    $messageCourant = rendu_message::getMessageContenu('2','consommation_electricite_releve_total',60,false,$xmlMessage);
 
                    /************   traitement historique  ***************/                
                    //$this->createHistoriqueConsommation_electricite_releve_total_updated( $consommation_electricite_releve_totalInstance  , $consommation_electricite_releve_totalInstance_ancien  , $temps , $donnee , $connexion_dbInstance::$connexion );                  
                }
                //si l'opération courante ne s'est pas bien déroulée
                else
                {
                    //on indique comme message pour l'opération courante le message d'échec
                    $messageCourant  = rendu_message::getMessageContenu('2','consommation_electricite_releve_total',70,false,$xmlMessage);
                    //on indique l'échec globale de l'opération
                    $successGlobal = false;
                    //si l'enregistrement est valide
                    if($validationRetour['estValide'] == true)
                    {
                        //on ajoute au message de retour global l'echec de l'opération pours certains enregistrements
                        $messageGlobalCodes['10_'] = 80;
                    }
                }
                //on initialise la structure de retour l'opération courante
                $responseCourant = array('success'=>$successCourant,'message'=>$messageCourant,'validation'=>$validationRetour);
                //on ajoute la structure de retour l'opération courante dans le tableau de reponse de la structure de retour globale
                array_push($reponseGlobal,$responseCourant);
            }
        }
        //on initialise la structure glabale avec la liste des reponses d'opération pour chaque enregistrement
        $retourGlobal['reponse'] = $reponseGlobal;
        //on parcours le tableau des codes trouvé pour le message global
        foreach($messageGlobalCodes as $code)
        {
            //si le message global est vide
            if($messageGlobal == "")
            {
                //on l'affecte avec le message du code
                $messageGlobal  = rendu_message::getMessageContenu('2','consommation_electricite_releve_total',$code,false,$xmlMessage);
            }
            else
            {
                //on ajoute le message du code
                $messageGlobal .= rendu_message::getMessageContenu('2','consommation_electricite_releve_total',$code,true,$xmlMessage);
            }
        }
        //si le message global est vide
        if($messageGlobal == "")
        {
            //on indique comme message gloable que l'opération s'est bien déroulé
            $messageGlobal = rendu_message::getMessageContenu('2','consommation_electricite_releve_total',90,false,$xmlMessage);
            $successGlobal = true;
        }
        //on affecte l'indicateur de succès global
        $retourGlobal['success'] = $successGlobal;
        //on affecte le message de retour global
        $retourGlobal['message'] = $messageGlobal;
        //on retourne le resultat
        return $retourGlobal;
    }
     
 
    //************************************************
    //Méthode qui effectue la suppréssion
    //@param {donnees} : un tableau contenant les enregistrements à supprimer (ex: array( array('champs1'=>valeur1,'champs2'=>valeur2)))
    //@param {xmlMessage} : le domXpath du fichier xml des messages
    //@retour: un tableau associatif reprensentant la structure de reponse (ex: array('success'=>false,'reponse'=>array( array('success'=>true,'message'=>'sous opération ok') ),'message'=>'opération global ok') )
    //************************************************
    function delete($donnees,&$xmlMessage)
    {  
        //on initialise la connexion sur la base de données
        $connexion_dbInstance = new  connexion_db();  
        //on crée une instance de classe
        $consommation_electricite_releve_totalInstance = new consommation_electricite_releve_total();
        //on initialise l'indicateur de succès de l'opération globale
        $successGlobal = false;
        //on initialise le message de retour complet de l'opération
        $messageGlobal = '';
        //on initialise le tableau pour contenir les codes possible du message de retour global: dont les message correspondants seron concatené
        $messageGlobalCodes = array();    
        //on initialise le tableau contenant les reponses d'opération pour chaque enregistrement
        $reponseGlobal = array();
        //on initialise le retour
        $retourGlobal = array('success'=>false,'reponse'=>array(),'message'=>'');    
        //si le tableau des données est non vide
        if($donnees !="" && is_array($donnees))
        {
            //on le parcour
            foreach($donnees as $donnee)
            {
                //on initialise l'indicateur de résussite de l'opération pour l'enregistrement courant
                $id = 0;          
                //on initialise l'indicateur de reussite(retour) de l'opération pour l'enregistrement courant
                $successCourant = false;          
                //on initialise le message de retour de l'opération pour l'enregistrement courant
                $messageCourant = '';
                //on initialise les attributs de l'instance de la casse consommation_electricite_releve_total avec les valeurs de l'enregistrement
                $consommation_electricite_releve_totalInstance->fillFromObject($donnee);
                //si l'identifiant de l'instance est non vide
                if($consommation_electricite_releve_totalInstance->getIdentifiant() != '' )
                {
                    //on supprime l'enregistrement correspondant à l'instance dans la base de données
                    $id = $consommation_electricite_releve_totalInstance->delete($connexion_dbInstance::$connexion);
                }
                //s'il l'est
                else
                {
                    //si l'identifiant est vide
                    if($consommation_electricite_releve_totalInstance->getIdentifiant() != '')
                    {
                        //on ajoute au message de retour global la non présence de l'id de suppréssion de certains enregistrements
                        $messageGlobalCodes['1_']= 140;
                    }
                    //on indique l'échec globale de l'opération
                    $successGlobal = false;
                    //on indique comme message pour l'opération courante l'erreur de non présence de l'identifiant
                    $messageCourant = rendu_message::getMessageContenu('2','consommation_electricite_releve_total',100,false,$xmlMessage);
                }
                //si l'opération courante s'est bien déroulée
                if( $id > 0)
                {
                    //on indique la réussite de l'opération courante
                    $successCourant = true;
                    //on indique comme message pour l'opération courante le message de succès
                    $messageCourant = rendu_message::getMessageContenu('2','consommation_electricite_releve_total',110,false,$xmlMessage);
                }
                //si l'opération courante ne s'est pas bien déroulée
                else
                {
                    //on indique comme message pour l'opération courante le message d'échec
                    $messageCourant  = rendu_message::getMessageContenu('2','consommation_electricite_releve_total',120,false,$xmlMessage);
                    //on indique l'échec globale de l'opération
                    $successGlobal = false;
                    //si l'identifiant de l'instance est non vide
                    if($consommation_electricite_releve_totalInstance->getIdentifiant() != '')
                    {
                        //on ajoute au message de retour global l'echec de l'opération pours certains enregistrements
                        $messageGlobalCodes['10_'] = 130 ;
                    }
                }
                //on initialise la structure de retour l'opération courante
                $responseCourant = array('success'=>$successCourant,'message'=>$messageCourant);
                //on ajoute la structure de retour l'opération courante dans le tableau de reponse de la structure de retour globale
                array_push($reponseGlobal,$responseCourant);
            }
        }
        //on initialise la structure glabale avec la liste des reponses d'opération pour chaque enregistrement
        $retourGlobal['reponse'] = $reponseGlobal;
        //on parcours le tableau des codes trouvé pour le message global
        foreach($messageGlobalCodes as $code)
        {
            //si le message global est vide
            if($messageGlobal == "")
            {
                //on l'affecte avec le message du code
                $messageGlobal  = rendu_message::getMessageContenu('2','consommation_electricite_releve_total',$code,false,$xmlMessage);
            }
            else
            {
                //on ajoute le message du code
                $messageGlobal .= rendu_message::getMessageContenu('2','consommation_electricite_releve_total',$code,true,$xmlMessage);
            }
        }
        //si le message global est vide
        if($messageGlobal == "")
        {
            //on indique comme message gloable que l'opération s'est bien déroulé
            $messageGlobal = rendu_message::getMessageContenu('2','consommation_electricite_releve_total',150,false,$xmlMessage);
            $successGlobal = true;
        }
        //on affecte l'indicateur de succès global
        $retourGlobal['success'] = $successGlobal;
        //on affecte le message de retour global
        $retourGlobal['message'] = $messageGlobal;
        //on retourne le resultat
        return $retourGlobal;
    }  
}
?>

 

Hors ligne

Pied de page des forums