/**
  * updateline
  *
  * @param   int         $rowid                  Line to edit
  * @param   int         $type_fees_id           Type payment
  * @param   int         $projet_id              Project id
  * @param   double      $vatrate                Vat rate
  * @param   string      $comments               Description
  * @param   real        $qty                    Qty
  * @param   double      $value_unit             Value init
  * @param   int         $date                   Date
  * @param   int         $expensereport_id       Expense report id
  * @return  int                                 <0 if KO, >0 if OK
  */
 function updateline($rowid, $type_fees_id, $projet_id, $vatrate, $comments, $qty, $value_unit, $date, $expensereport_id)
 {
     global $user;
     if ($this->fk_statut == 0 || $this->fk_statut == 99) {
         $this->db->begin();
         // calcul de tous les totaux de la ligne
         $total_ttc = price2num($qty * $value_unit, 'MT');
         $tx_tva = $vatrate / 100;
         $tx_tva = $tx_tva + 1;
         $total_ht = price2num($total_ttc / $tx_tva, 'MT');
         $total_tva = price2num($total_ttc - $total_ht, 'MT');
         // fin calculs
         $ligne = new ExpenseReportLine($this->db);
         $ligne->comments = $comments;
         $ligne->qty = $qty;
         $ligne->value_unit = $value_unit;
         $ligne->date = $date;
         $ligne->fk_expensereport = $expensereport_id;
         $ligne->fk_c_type_fees = $type_fees_id;
         $ligne->fk_projet = $projet_id;
         $ligne->total_ht = $total_ht;
         $ligne->total_tva = $total_tva;
         $ligne->total_ttc = $total_ttc;
         $ligne->vatrate = price2num($vatrate);
         $ligne->rowid = $rowid;
         // Select des infos sur le type fees
         $sql = "SELECT c.code as code_type_fees, c.label as libelle_type_fees";
         $sql .= " FROM " . MAIN_DB_PREFIX . "c_type_fees as c";
         $sql .= " WHERE c.id = " . $type_fees_id;
         $result = $this->db->query($sql);
         $objp_fees = $this->db->fetch_object($result);
         $ligne->type_fees_code = $objp_fees->code_type_fees;
         $ligne->type_fees_libelle = $objp_fees->libelle_type_fees;
         // Select des informations du projet
         $sql = "SELECT p.ref as ref_projet, p.title as title_projet";
         $sql .= " FROM " . MAIN_DB_PREFIX . "projet as p";
         $sql .= " WHERE p.rowid = " . $projet_id;
         $result = $this->db->query($sql);
         $objp_projet = $this->db->fetch_object($result);
         $ligne->projet_ref = $objp_projet->ref_projet;
         $ligne->projet_title = $objp_projet->title_projet;
         $result = $ligne->update($user);
         if ($result > 0) {
             $this->db->commit();
             return 1;
         } else {
             $this->error = $ligne->error;
             $this->errors = $ligne->errors;
             $this->db->rollback();
             return -2;
         }
     }
 }