private RequestEntity closeRequest(CloseRequestUserActionEntity closeRequestUserAction, RequestEntity requestEntity) { if (requestEntity.getClosedBy() != null && !requestEntity.getClosedBy().isEmpty()) { throw new IllegalArgumentException("request already closed"); } if (requestEntity.getPickedUpBy() == null || requestEntity.getPickedUpBy().isEmpty()) { throw new IllegalArgumentException("request is not picked up"); } if (!requestEntity.getPickedUpBy().equals(closeRequestUserAction.getClosedByUserId())) { throw new IllegalArgumentException("closing user must be the same who picked up"); } return RequestEntity.getBuilder(requestEntity) .setClosedBy(closeRequestUserAction.getClosedByUserId()) .setClosedAt(String.valueOf(closeRequestUserAction.getDatetime())) .setClosedComment(closeRequestUserAction.getClosedComment()) .setClosedPictures(closeRequestUserAction.getClosedPictures()) .build(); }
private void syncRequestClosedAction(CloseRequestUserActionEntity userAction) { mLogger.d(TAG, "syncRequestClosedAction(); entity ID: " + userAction.getEntityId()); MultipartBody.Builder builder = new MultipartBody.Builder(); builder.setType(MultipartBody.FORM); builder.addFormDataPart(Constants.FIELD_NAME_REQUEST_ID, userAction.getEntityId()); builder.addFormDataPart(Constants.FIELD_NAME_CLOSED_COMMENT, userAction.getClosedComment()); builder = NetworkingUtils.addPicturesParts( builder, userAction.getClosedPictures(), Constants.FIELD_NAME_CLOSED_PICTURES ); Call<ResponseBody> call = mServerApi.closeRequest(builder.build()); try { Response<ResponseBody> response = call.execute(); if (!response.isSuccessful()) { if (HttpUtils.isClientSideError(response.code())) { mLogger.w(TAG, "close request call failed due to client error; " + "response code: " + response.code() + "\nresponse: " + response.body()); } else { throw new SyncFailedException("close request call failed; response code: " + response.code()); } } } catch (IOException e) { throw new SyncFailedException(e); } }
.setClosedBy(closePickedUp.getClosedByUserId()) .setClosedAt(closePickedUp.getClosedAt()) .setClosedComment(closePickedUp.getClosedComment()) .setClosedPictures(closePickedUp.getClosedPictures()) .setClosedVotes(0)