use of org.mifos.dto.domain.FeeUpdateRequest in project head by mifos.
the class FeeAction method update.
@TransactionDemarcate(validateAndResetToken = true)
public ActionForward update(ActionMapping mapping, ActionForm form, @SuppressWarnings("unused") HttpServletRequest request, @SuppressWarnings("unused") HttpServletResponse response) throws Exception {
FeeActionForm feeActionForm = (FeeActionForm) form;
FeeStatus feeStatus = feeActionForm.getFeeStatusValue();
String forward = "";
Short feeStatusValue = null;
String whereToForward = "";
if (feeStatus != null) {
feeStatusValue = feeStatus.getValue();
}
FeeUpdateRequest feeUpdateRequest = new FeeUpdateRequest(Short.valueOf(feeActionForm.getFeeId()), feeActionForm.getCurrencyId(), feeActionForm.getAmount(), feeStatusValue, feeActionForm.getRateValue());
if (feeUpdateRequest.getFeeStatusValue() == 2) {
this.feeServiceFacade.updateFee(feeUpdateRequest);
try {
boolean remove = feeActionForm.isToRemove();
this.feeServiceFacade.removeFee(feeUpdateRequest, remove);
whereToForward = REMOVE_SUCCESS;
} catch (MifosRuntimeException e) {
ActionMessages messages = new ActionMessages();
messages.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage("Fees.feeCannotBeRemoved"));
saveMessages(request, messages);
whereToForward = UPDATE_SUCCESS;
}
} else if (feeActionForm.isToRemove() && feeUpdateRequest.getFeeStatusValue() == 1) {
ActionMessages errors = new ActionMessages();
errors.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage("Fees.feeCantBeRemove"));
saveErrors(request, errors);
whereToForward = UPDATE_FAILURE;
} else {
this.feeServiceFacade.updateFee(feeUpdateRequest);
whereToForward = UPDATE_SUCCESS;
}
if (whereToForward.equals(UPDATE_SUCCESS)) {
forward = ActionForwards.update_success.toString();
} else if (whereToForward.equals(UPDATE_FAILURE)) {
forward = ActionForwards.update_failure.toString();
} else if (whereToForward.equals(REMOVE_SUCCESS)) {
forward = ActionForwards.remove_fee_success.toString();
}
return mapping.findForward(forward);
}
Aggregations