public function getActivate($id)
 {
     $file = \App\MeterFile::findOrFail($id);
     DB::table('meter_files')->update(['active' => 0]);
     DB::table('streets')->delete();
     DB::table('buildings')->delete();
     DB::table('apartments')->delete();
     DB::table('meters')->delete();
     DB::table('services')->delete();
     $streets = [];
     $buildings = [];
     $apartments = [];
     $meters = [];
     try {
         $xml = simplexml_load_string(Storage::get($file->file));
         foreach ($xml->data->street as $xml_street) {
             $street = ['id' => (string) $xml_street['id'], 'name' => (string) $xml_street['name'], 'prefix' => (string) $xml_street['prefix']];
             array_push($streets, $street);
             foreach ($xml_street->building as $xml_building) {
                 $building = ['id' => (string) $xml_building['id'], 'street_id' => (string) $xml_street['id'], 'number' => (string) $xml_building['number'], 'housing' => (string) $xml_building['housing']];
                 array_push($buildings, $building);
                 foreach ($xml_building->apartment as $xml_apartment) {
                     $apartment = ['id' => (string) $xml_apartment['id'], 'building_id' => (string) $xml_building['id'], 'number' => (string) $xml_apartment['number'], 'part' => (string) $xml_apartment['lit'], 'people' => (string) $xml_apartment['people'], 'ls' => (string) $xml_apartment['ls'], 'space' => str_replace(',', '.', (string) $xml_apartment['space'])];
                     array_push($apartments, $apartment);
                     foreach ($xml_apartment->meter as $xml_meter) {
                         $meter = ['id' => (string) $xml_meter['id'], 'meter_id' => (string) $xml_meter['mid'], 'apartment_id' => (string) $xml_apartment['id'], 'service_id' => (string) $xml_meter['service'], 'status_id' => (string) $xml_meter['status'], 'last_date' => Carbon::parse((string) $xml_meter['last_date']), 'last_value' => str_replace(",", ".", (string) $xml_meter['last_value'])];
                         array_push($meters, $meter);
                     }
                 }
             }
         }
         DB::table('streets')->insert($streets);
         DB::table('buildings')->insert($buildings);
         foreach (array_chunk($apartments, 100) as $part) {
             DB::table('apartments')->insert($part);
         }
         foreach (array_chunk($meters, 100) as $part) {
             DB::table('meters')->insert($part);
         }
         $services = [];
         foreach ($xml->services->service as $xml_service) {
             $service = ['id' => $xml_service['id'], 'name' => $xml_service['name'], 'norm' => $xml_service['norm'], 'additional' => $xml_service['additional']];
             array_push($services, $service);
         }
         DB::table('services')->insert($services);
     } catch (\Exception $e) {
         DB::table('meter_files')->update(['active' => 0]);
         DB::table('streets')->delete();
         DB::table('buildings')->delete();
         DB::table('apartments')->delete();
         DB::table('meters')->delete();
         DB::table('services')->delete();
         return redirect('admin/database')->withErrors($e->getMessage());
     }
     $file->active = true;
     $file->save();
     return redirect('admin/database');
 }