/**
  * Store a newly created resource in storage.
  *
  * @param  \Illuminate\Http\Request  $request
  * @return \Illuminate\Http\Response
  */
 public function store(Request $request)
 {
     //validate request
     $this->validate($request, ['name' => 'required|min:5', 'gender' => 'required', 'alignment' => 'required']);
     $character = new Character();
     foreach (\Request::all() as $key => $value) {
         switch ($key) {
             case '_token':
                 break;
             case '_method':
                 break;
             case 'labels':
                 break;
             case 'values':
                 break;
             case 'birthdate':
                 $date = \Carbon\Carbon::parse($value);
                 $character->birthdate = $date->toDateString();
                 break;
             default:
                 $character->{$key} = $value;
         }
     }
     $labels = $request->get('labels');
     $values = $request->get('values');
     //Construct the json array for stats
     foreach ($labels as $key => $value) {
         $stats[$value] = $values[$key];
     }
     $character->stats = json_encode($stats);
     //        $content = str_ireplace('\r\n', '<br />', $request->get('notes'));
     if ($request->has('image')) {
         foreach ($request->files as $file) {
             $ext = $file->getClientOriginalExtension();
             $name = sha1($file->getClientOriginalName());
             $file->move(storage_path() . '/app/uploads/campaign_' . \Session::get('campaign')->id, $name . '.' . $ext);
             $character->image = \URL::to('/images/' . \Session::get('campaign')->id . '/' . $name . '.' . $ext);
         }
     }
     $character->save();
     //Create the relationship with the Campaign
     $relationship = new Relationship();
     $relationship->campaign_id = \Session::get('campaign')->id;
     $relationship->source_type = 'App\\Campaign';
     $relationship->source_id = \Session::get('campaign')->id;
     $relationship->sibling_type = 'App\\Character';
     $relationship->sibling_id = $character->id;
     $relationship->save();
     return redirect(action('CharactersController@index'));
 }
 /**
  * Store a newly created resource in storage.
  *
  * @param $name
  * @param $realm
  * @return \Illuminate\Http\Response
  */
 public function store($name, $realm)
 {
     if (empty(Auth::user()->battlenet_characters)) {
         abort(500, 'Character data not found');
     }
     $characters = json_decode(Auth::user()->battlenet_characters);
     $found = null;
     foreach ($characters as $character) {
         if ($character->name == $name && $character->realm == $realm) {
             $found = $character;
             break;
         }
     }
     if ($found == null) {
         abort(500, 'No character named that associated to logged in user');
     }
     $character = new Character(array_only((array) $found, ['name', 'realm', 'class', 'race', 'level', 'thumbnail']));
     $character->gender = $found->gender === 1 ? 'FEMALE' : 'MALE';
     $character->user_id = Auth::user()->id;
     $character->save();
     Flash::success($character->name . ' added to your account!');
     return redirect()->route('characters.index');
 }