public function insertValues(ExcelInputFile $excelInputFile, $subgroup, $origin, $destiny, $type, $variety, $font, $typeCountry = null, $internationalTrade = false)
 {
     $countries = $excelInputFile->getValuesOfColumn(1);
     $dataToSave = new ArrayObject();
     foreach ($countries as $country) {
         if ($typeCountry == 'origin') {
             $origin = CacheCountry::getCountries()->getOrigins()->get(utf8_encode($country))->id();
             if (is_null($origin)) {
                 $origin = $this->countryMap->getOuthersForOrigin();
             }
             if (!$internationalTrade) {
                 $destiny = 0;
             }
         } elseif ($typeCountry == 'destiny') {
             $destiny = CacheCountry::getCountries()->getDestinies()->get(utf8_encode($country))->id();
             if (is_null($destiny)) {
                 $destiny = $this->countryMap->getOthersForDestiny();
             }
             if (!$internationalTrade) {
                 $origin = 0;
             }
         } else {
             $origin = CacheCountry::getCountries()->getOrigins()->get(utf8_encode($country))->id();
         }
         $dataParam = new DataParam($subgroup, $font, $type, $variety, $origin, $destiny);
         $dataOfCurrentCountry = $this->getValuesWithSimpleFilter($dataParam);
         $yearsToInsert = $this->insertValuesIfACountryDoesNotHaveItStoredYet($dataOfCurrentCountry, $excelInputFile, $country);
         if ($yearsToInsert->count() > 0) {
             $this->getDataToSave($dataToSave, $yearsToInsert, $excelInputFile, $country, $subgroup, $font, $type, $variety, $origin, $destiny);
         }
     }
     return $this->repository->save($dataToSave);
 }
 /**
  * @test
  */
 public function testInsertValues()
 {
     $this->emptyDatabase();
     $list = new ArrayObject();
     $list->append($this->newData(1990, 235));
     $list->append($this->newData(1991, 232));
     $list->append($this->newData(1992, 458));
     $this->daoRepository->save($list);
     $dataParam = new DataParam(1, 1, 1, 1, 1, 1);
     $values = $this->daoRepository->getValuesWithSimpleFilter($dataParam);
     $this->assertEquals(3, $values->count());
     $values = $this->daoRepository->getValuesWithSimpleFilter($dataParam, array(1991, 1992));
     $this->assertEquals(2, $values->count());
     $values = $this->daoRepository->getValuesWithSimpleFilter($dataParam, 1990);
     $this->assertEquals(1, $values->count());
     $this->assertEquals(1990, $values->offsetGet(0)->getYear());
 }