/**
  * Update the specified resource in storage.
  *
  * @param  int  $id
  * @return Response
  */
 public function update($id)
 {
     $input = Request::all();
     $input['user_id'] = Auth::User()->id;
     $validation = Project::validateUpdate($input, $id);
     if ($validation->fails()) {
         $message = $validation->messages()->first();
         return Response()->json(ResponseManager::getError('', 10, $message));
     }
     if (array_key_exists('users', $input)) {
         foreach ($input['users'] as $user) {
             $data = ['project_id' => $id, 'user_id' => $user['id']];
             $chkExist = ProjectUser::where('project_id', $id)->where('user_id', $user['id'])->count();
             if ($chkExist == 0) {
                 ProjectUser::create($data);
                 $email['email'] = $user['email'];
                 $email['user'] = $user['name'];
                 $email['msg'] = $input['message'];
                 $email['pname'] = $input['name'];
                 $email['code'] = base64_encode($email['email'] . '-' . $id);
                 Mail::send('emails.invite', $email, function ($message) use($email) {
                     $message->to($email['email'])->subject(Auth::User()->name . ' want to add you to ' . $email['pname']);
                 });
             }
         }
     }
     unset($input['users']);
     unset($input['message']);
     $project = Project::where('id', $id)->update($input);
     if ($project) {
         $message = 'update Successfully.';
         return Response()->json(ResponseManager::getResult($project, 10, $message));
     } else {
         $message = 'Something went wrong. Please try again.';
         return Response()->json(ResponseManager::getError('', 10, $message));
     }
 }