/**
  * Display the complete profile form
  *
  * @return View
  */
 public function completeProfileArtistSave(Request $request)
 {
     $user = Auth::user();
     $user->contact = $request->input('contact');
     $user->city = $request->input('city');
     $user->country = $request->input('country');
     if ($request->hasFile('avatar')) {
         //upload an image to the /img/tmp directory and return the filepath.
         $file = $request->file('avatar');
         $tmpFilePath = '/uploads/images/original/';
         $tmpFileName = 'profile-' . time() . '-' . $file->getClientOriginalName();
         //save original file
         $file = $file->move(public_path() . $tmpFilePath, $tmpFileName);
         $path = $tmpFilePath . $tmpFileName;
         //edit image
         $img = \Image::make($file);
         $img->backup();
         //$img->fit(1200, 480);
         //$img->save('uploads/images/large/'.$tmpFileName);
         // reset image (return to backup state)
         $img->reset();
         $img->fit(360);
         //240*240
         $img->save('uploads/images/thumbnail/' . $tmpFileName);
         // reset image (return to backup state)
         $img->reset();
         $img->fit(120);
         //100*100
         $img->save('uploads/images/small/' . $tmpFileName);
         //save image to DB
         $user->avatar = $tmpFileName;
     }
     $user->type = 'artist';
     $user->save();
     //if artist already creates, then update
     if (Artist::where('user_id', $user->id)->count()) {
         $artist = Artist::where('user_id', $user->id)->first();
         $artist->experience = $request->input('experience');
         $artist->save();
     } else {
         //create new artist
         $artist = new Artist();
         $artist->user_id = $user->id;
         $artist->experience = $request->input('experience');
         $artist->save();
     }
     if ($request->hasFile('cover')) {
         //upload an image to the /img/tmp directory and return the filepath.
         $file = $request->file('cover');
         $tmpFilePath = '/uploads/images/original/';
         $tmpFileName = 'cover-' . time() . '-' . $file->getClientOriginalName();
         //save original file
         $file = $file->move(public_path() . $tmpFilePath, $tmpFileName);
         $path = $tmpFilePath . $tmpFileName;
         //edit image
         $img = \Image::make($file);
         $img->backup();
         $img->fit(1200, 480);
         $img->save('uploads/images/large/' . $tmpFileName);
         // reset image (return to backup state)
         $img->reset();
         $img->fit(360, 144);
         //360*144
         $img->save('uploads/images/thumbnail/' . $tmpFileName);
         //save image to DB
         $artist->cover = $tmpFileName;
         $artist->save();
     }
     //save studio
     if (!$request->input('studio')) {
         $this->validate($request, ['studioName' => 'required|max:255', 'studioContact' => 'required|max:22|min:10', 'studioCity' => 'required', 'studioCountry' => 'required', 'studioLat' => 'required', 'studioLong' => 'required']);
         $studio = new Studio();
         $studio->name = $request->input('studioName');
         $studio->contact = $request->input('studioContact');
         $studio->city = $request->input('studioCity');
         $studio->latitude = $request->input('studioLat');
         $studio->longitude = $request->input('studioLong');
         $studio->country = $request->input('studioCountry');
         $studio->save();
         $artist->studios()->attach($studio->id);
         $artist->save();
         $user->profileComplete = true;
         $user->save();
     } else {
         if (Studio::where('id', $request->input('studio'))->count()) {
             $artist->studios()->attach($request->input('studio'));
             $user->profileComplete = true;
             $user->save();
         }
     }
     if (!$user->social) {
         $user->avatar = url('uploads/images/small/' . $user->avatar);
     }
     $artist->cover = url('uploads/images/large/' . $artist->cover);
     return redirect('complete-profile-artist');
 }