/**
  * [extractInfo Extract data from files]
  * @method extractInfo
  * @param  [string] $filename [Filename content data]
  * @return [type]
  */
 private function extractInfo($filename)
 {
     $modelSellers = new Sellers();
     $modelConsumers = new Consumers();
     $modelSales = new Sales();
     $arrSalesman = array();
     $pathFile = $this->input_dir . '/' . $filename;
     $fileContent = file($pathFile);
     natsort($fileContent);
     foreach ($fileContent as $line) {
         $arrLine = explode('ç', $line);
         if ($arrLine[0] == '001') {
             $cpf = $arrLine[1];
             $name = $arrLine[2];
             $salary = $arrLine[3];
             $modelSellers->addSalesman($cpf, $name, $salary);
         } elseif ($arrLine[0] == '002') {
             $cnpj = $arrLine[1];
             $name = $arrLine[2];
             $business_area = $arrLine[3];
             $modelConsumers->addConsumer($cnpj, $name, $business_area);
         } elseif ($arrLine[0] == '003') {
             $id = $arrLine[1];
             $items = $arrLine[2];
             $salesman_name = $arrLine[3];
             $modelSales->addSale($id, $salesman_name, $items, $modelSellers->getAll());
         }
     }
     $totalConsumers = $totalSellers = $expensivesaleID = 0;
     $worstSellerName = '';
     $totalSellers = $modelSellers->getTotalSellers();
     if ($totalSellers > 0) {
         $arrSellersAmount = $modelSales->getSellersAmount();
         foreach ($arrSellersAmount as $obj) {
             $modelSellers->updateTotalSales($obj->name, $obj->total);
         }
         $worstSellerName = $modelSellers->getWorstSeller()->name;
         $expensivesaleID = $modelSales->getMostExpensiveSale()->id;
     }
     $totalConsumers = $modelConsumers->getTotalConsumers();
     $reportFilename = basename($filename, '.' . pathinfo($filename, PATHINFO_EXTENSION));
     $this->generateReport($reportFilename, $totalConsumers, $totalSellers, $expensivesaleID, $worstSellerName);
 }