/**
  * Remove the specified message from database.
  *
  * @param Request $request
  * @param  int $id
  * @return \Illuminate\Http\Response
  */
 public function destroy(Request $request, $id)
 {
     $message = Conversation::whereMessageId($id);
     if (count($message->get()) == 0) {
         abort(404);
     }
     $result = DB::transaction(function () use($request, $message, $id) {
         try {
             if ($request->input('sender') == $request->input('contributor_id')) {
                 $message->update(['is_available_sender' => 0]);
             } else {
                 $message->update(['is_available_receiver' => 0]);
             }
             Conversation::whereIsAvailableSender(0)->whereIsAvailableReceiver(0)->delete();
             $message = Message::find($id);
             $conversations = $message->conversations()->count();
             if (!$conversations) {
                 $message->delete();
             }
             return response()->json(['request_id' => uniqid(), 'status' => 'success', 'message' => Lang::get('alert.message.delete', ['receiver' => $request->input('contributor')]), 'timestamp' => Carbon::now()]);
         } catch (\Exception $e) {
             return response()->json(['request_id' => uniqid(), 'status' => 'failure', 'message' => Lang::get('alert.error.generic'), 'timestamp' => Carbon::now()], 500);
         }
     });
     return $result;
 }
 /**
  * Remove the specified message from database.
  *
  * @param Request $request
  * @param  int $id
  * @return \Illuminate\Http\Response
  */
 public function destroy(Request $request, $id)
 {
     $message = Conversation::whereMessageId($id);
     if (count($message->get()) == 0) {
         abort(404);
     }
     $result = DB::transaction(function () use($request, $message, $id) {
         try {
             if ($request->input('sender') == Auth::user()->id) {
                 $message->update(['is_available_sender' => 0]);
             } else {
                 $message->update(['is_available_receiver' => 0]);
             }
             Conversation::whereIsAvailableSender(0)->whereIsAvailableReceiver(0)->delete();
             $message = Message::find($id);
             $conversations = $message->conversations()->count();
             if (!$conversations) {
                 $message->delete();
             }
             return redirect(route('account.message.list'))->with(['status' => 'danger', 'message' => Lang::get('alert.message.delete', ['receiver' => $request->input('contributor')])]);
         } catch (\Exception $e) {
             return redirect()->back()->withErrors(['error' => Lang::get('alert.error.transaction')])->withInput();
         }
     });
     return $result;
 }