public void getAllPatients(
      Context context,
      Response.Listener<PatientListWrapper> listener,
      Response.ErrorListener errorListener) {

    BaseVolleyGETRequest<PatientListWrapper> getAllPatientsRequest =
        new BaseVolleyGETRequest<PatientListWrapper>(
            GET_ALL_PATIENTS_URL, PatientListWrapper.class, null, listener, errorListener);

    VolleyHTTPHandler.getInstance(context).addToRequestQueue(getAllPatientsRequest);
  }
  public void getUsers(
      Context context,
      Response.Listener<MopitalUserWrapper> listener,
      Response.ErrorListener errorListener) {

    BaseVolleyGETRequest<MopitalUserWrapper> request =
        new BaseVolleyGETRequest<MopitalUserWrapper>(
            GET_USERS_URL, MopitalUserWrapper.class, null, listener, errorListener);

    VolleyHTTPHandler.getInstance(context).addToRequestQueue(request);
  }
  @Override
  public void getStatistics(
      Context context,
      Response.Listener<Statistics> listener,
      Response.ErrorListener errorListener) {

    BaseVolleyGETRequest<Statistics> request =
        new BaseVolleyGETRequest<Statistics>(
            STATISTICS_URL, Statistics.class, null, listener, errorListener);

    VolleyHTTPHandler.getInstance(context).addToRequestQueue(request);
  }
  public void getLastLocationOfEquipment(
      Context context,
      Response.Listener<EquipmentPosition> listener,
      Response.ErrorListener errorListener) {

    BaseVolleyGETRequest<EquipmentPosition> getEquipmentPosition =
        new BaseVolleyGETRequest<EquipmentPosition>(
            GET_LAST_POSITION_OF_EQUIPMENT_URL,
            EquipmentPosition.class,
            null,
            listener,
            errorListener);

    VolleyHTTPHandler.getInstance(context).addToRequestQueue(getEquipmentPosition);
  }
  public void getAllEquipments(
      Context context,
      Response.Listener<EquipmentListWrapper> equipmentListener,
      Response.ErrorListener errorListener) {

    BaseVolleyGETRequest<EquipmentListWrapper> getAllEquipmentsRequest =
        new BaseVolleyGETRequest<EquipmentListWrapper>(
            GET_ALL_EQUIPMENTS_URL,
            EquipmentListWrapper.class,
            null,
            equipmentListener,
            errorListener);

    VolleyHTTPHandler.getInstance(context).addToRequestQueue(getAllEquipmentsRequest);
  }
  public void getUser(
      Context context,
      String userId,
      Response.Listener<Patient> patientListener,
      Response.ErrorListener errorListener) {

    BaseVolleyGETRequest<Patient> getUserRequest =
        new BaseVolleyGETRequest<Patient>(
            GET_PATIENT_BY_BEACON_UUID_URL + userId,
            Patient.class,
            null,
            patientListener,
            errorListener);

    VolleyHTTPHandler.getInstance(context).addToRequestQueue(getUserRequest);
  }
  @Override
  public void getPatientBeaconMap(
      Context context,
      Response.Listener<PatientBeaconMapWrapper> listener,
      Response.ErrorListener errorListener) {

    BaseVolleyGETRequest<PatientBeaconMapWrapper> request =
        new BaseVolleyGETRequest<PatientBeaconMapWrapper>(
            GET_PATIENT_BEACON_MAP_URL,
            PatientBeaconMapWrapper.class,
            null,
            listener,
            errorListener);

    VolleyHTTPHandler.getInstance(context).addToRequestQueue(request);
  }
  public void signIn(
      Context context,
      String email,
      String password,
      Response.Listener<MopitalUser> listener,
      Response.ErrorListener errorListener) {

    JSONObject requestBody = new JSONObject();
    try {
      requestBody.put("email", email);
      requestBody.put("password", password);
    } catch (Exception e) {
      Log.e(TAG, "exception", e);
    }

    BaseVolleyPOSTRequest<MopitalUser> signInRequest =
        new BaseVolleyPOSTRequest<MopitalUser>(
            SIGN_IN_URL, requestBody.toString(), MopitalUser.class, null, listener, errorListener);

    VolleyHTTPHandler.getInstance(context).addToRequestQueue(signInRequest);
  }
  @Override
  public void notifyUser(
      Context context,
      String email,
      String message,
      Response.Listener<Result> listener,
      Response.ErrorListener errorListener) {

    JSONObject requestBody = new JSONObject();
    try {
      requestBody.put("userId", email);
      requestBody.put("messageToSend", message);
    } catch (Exception e) {
      Log.e(TAG, "exception", e);
    }

    BaseVolleyPOSTRequest<Result> request =
        new BaseVolleyPOSTRequest<Result>(
            NOTIFY_USER_URL, requestBody.toString(), Result.class, null, listener, errorListener);

    VolleyHTTPHandler.getInstance(context).addToRequestQueue(request);
  }
  @Override
  public void sendGcmId(
      Context context,
      String email,
      String gcmId,
      Response.Listener<Result> listener,
      Response.ErrorListener errorListener) {

    JSONObject requestBody = new JSONObject();
    try {
      requestBody.put("userId", email);
      requestBody.put("gcmId", gcmId);
    } catch (Exception e) {
      Log.e(TAG, "exception", e);
    }

    BaseVolleyPOSTRequest<Result> request =
        new BaseVolleyPOSTRequest<Result>(
            SAVE_GCM_URL, requestBody.toString(), Result.class, null, listener, errorListener);

    VolleyHTTPHandler.getInstance(context).addToRequestQueue(request);
  }
  public void signUp(
      Context context,
      String name,
      String department,
      String email,
      String password,
      Response.Listener<Result> listener,
      Response.ErrorListener errorListener) {

    JSONObject requestBody = new JSONObject();
    try {
      requestBody.put("name", name);
      requestBody.put("department", department);
      requestBody.put("email", email);
      requestBody.put("password", password);
    } catch (Exception e) {
      Log.e(TAG, "exception", e);
    }
    BaseVolleyPOSTRequest<Result> signUpRequest =
        new BaseVolleyPOSTRequest<Result>(
            SIGN_UP_URL, requestBody.toString(), Result.class, null, listener, errorListener);

    VolleyHTTPHandler.getInstance(context).addToRequestQueue(signUpRequest);
  }