/**
  * Store a newly created resource in storage.
  *
  * @return Response
  */
 public function store()
 {
     //  return Input::all();
     $caseFile = Input::get('caseFile');
     $person = Input::get('person');
     $name_father = Input::get('person.datafather.father_name');
     $surname_father = Input::get('person.datafather.father_surname');
     $name_mother = Input::get('person.datamother.mother_name');
     $surname_mother = Input::get('person.datamother.mother_surname');
     $name_spouse = Input::get('person.dataspouse.spouse_name');
     $surname_spouse = Input::get('person.dataspouse.spouse_surname');
     $present_address = Input::get('person.addresspresent.present_address');
     $original_address = Input::get('person.addressoriginal.original_address');
     if ($present_address != null) {
         $addresspresent = new AddressPresent();
         $addresspresent->fill(Input::get('person.addresspresent'));
         $addresspresent->save();
     }
     if ($original_address != null) {
         $addressoriginal = new AddressOriginal();
         $addressoriginal->fill(Input::get('person.addressoriginal'));
         $addressoriginal->save();
     }
     if ($name_mother != null || $surname_mother != null) {
         $datamother = new DataMother();
         $datamother->fill(Input::get('person.datamother'));
         $datamother->save();
     }
     if ($name_father != null || $surname_father != null) {
         $datafather = new DataFather();
         $datafather->fill(Input::get('person.datafather'));
         $datafather->save();
     }
     if ($name_spouse != null || $surname_spouse != null) {
         $dataspouse = new DataSpouse();
         $dataspouse->fill(Input::get('person.dataspouse'));
         if (Input::has('person.dataspouse.nametitle.id')) {
             $nametitle = NameTitle::find(Input::get('person.dataspouse.nametitle.id'));
             $dataspouse->nametitle()->associate($nametitle);
         }
         $dataspouse->save();
     }
     $criminalhistory = new CriminalHistory();
     //$criminalhistory->fill(Input::except(["person.data_casefile","person.addressoffice","person.datachild"]));
     $criminalhistory->fill($person);
     if ($datamother != null) {
         $criminalhistory->datamother()->associate($datamother);
     }
     if ($datafather != null) {
         $criminalhistory->datafather()->associate($datafather);
     }
     if ($dataspouse != null) {
         $criminalhistory->dataspouse()->associate($dataspouse);
     }
     if ($addressoriginal != null) {
         $criminalhistory->addressoriginal()->associate($addressoriginal);
     }
     if ($addresspresent != null) {
         $criminalhistory->addresspresent()->associate($addresspresent);
     }
     if (Input::has('person.nametitle.id')) {
         $nametitle = NameTitle::find(Input::get('person.nametitle.id'));
         $criminalhistory->nametitle()->associate($nametitle);
     }
     $criminalhistory->save();
     $addressoffice = Input::get('person.addressoffice');
     $datachild = Input::get('person.datachild');
     foreach ($addressoffice as $data_office) {
         $office = new AddressOffice();
         $office->fill($data_office);
         $office->criminalhistory()->associate($criminalhistory);
         $office->save();
     }
     foreach ($datachild as $data_child) {
         $child = new DataChild();
         $child->fill($data_child);
         $child->criminalhistory()->associate($criminalhistory);
         $child->save();
     }
     $name_case = Input::get('caseFile.name_case');
     $circumstances_case = Input::get('caseFile.circumstances_case');
     if ($name_case != null || $circumstances_case != null) {
         $datacase = new DataCase();
         $datacase->fill($caseFile);
         $datacase->save();
         $datacase->criminalhistory()->attach($criminalhistory);
         $data_vehicle = Input::get('caseFile.vehicle');
         $data_weapon = Input::get('caseFile.weapon');
         foreach ($data_vehicle as $datavehicle) {
             $vechicle = new Vehicle();
             $vechicle->fill($datavehicle);
             $vechicle->datacase()->associate($datacase);
             $vechicle->save();
         }
         foreach ($data_weapon as $dataweapon) {
             $weapom = new Weapon();
             $weapom->fill($dataweapon);
             $weapom->datacase()->associate($datacase);
             $weapom->save();
         }
     }
     Event::fire(new AddDataPersonCrimeEvent($criminalhistory));
     return $criminalhistory;
 }