use of org.mifos.dto.domain.CustomFieldDto in project head by mifos.
the class SavingsActionStrutsTest method getCustomFieldView.
private List<CustomFieldDto> getCustomFieldView() {
List<CustomFieldDto> customFields = new ArrayList<CustomFieldDto>();
customFields.add(new CustomFieldDto(new Short("8"), "13", null));
return customFields;
}
use of org.mifos.dto.domain.CustomFieldDto in project head by mifos.
the class CenterHierarchyCustomerServiceIntegrationTest method updatingCenterWithDifferentLoanOfficerUpdatesAllChildrenInHierarchyIncludingTheirAssociatedLoansSavingsAndCustomerAccounts.
@Test
public void updatingCenterWithDifferentLoanOfficerUpdatesAllChildrenInHierarchyIncludingTheirAssociatedLoansSavingsAndCustomerAccounts() throws Exception {
// setup
String externalId = center.getExternalId();
String mfiJoiningDate = new SimpleDateFormat("dd/MM/yyyy").format(center.getMfiJoiningDate());
AddressDto address = null;
if (center.getAddress() != null) {
address = Address.toDto(center.getAddress());
}
List<CustomFieldDto> customFields = new ArrayList<CustomFieldDto>();
List<CustomerPositionDto> customerPositions = new ArrayList<CustomerPositionDto>();
String updatedDisplayName = "Center " + RandomStringUtils.randomAlphanumeric(5);
CenterUpdate centerUpdate = new CenterUpdate(center.getCustomerId(), updatedDisplayName, center.getVersionNo(), otherLoanOfficer.getPersonnelId(), externalId, mfiJoiningDate, address, customFields, customerPositions);
UserContext userContext = TestUtils.makeUser();
// exercise test
customerService.updateCenter(userContext, centerUpdate);
StaticHibernateUtil.flushAndClearSession();
// verification
center = customerDao.findCenterBySystemId(center.getGlobalCustNum());
group = customerDao.findGroupBySystemId(group.getGlobalCustNum());
group2 = customerDao.findGroupBySystemId(group2.getGlobalCustNum());
assertThat(center.getDisplayName(), is(updatedDisplayName));
assertThat(center.getPersonnel().getDisplayName(), is(otherLoanOfficer.getDisplayName()));
assertThat(group.getPersonnel().getDisplayName(), is(otherLoanOfficer.getDisplayName()));
assertThat(group2.getPersonnel().getDisplayName(), is(otherLoanOfficer.getDisplayName()));
}
use of org.mifos.dto.domain.CustomFieldDto in project head by mifos.
the class ClientIntegrationTest method getCustomFields.
private List<CustomFieldDto> getCustomFields() {
List<CustomFieldDto> fields = new ArrayList<CustomFieldDto>();
fields.add(new CustomFieldDto(Short.valueOf("5"), "value1", CustomFieldType.ALPHA_NUMERIC.getValue()));
fields.add(new CustomFieldDto(Short.valueOf("6"), "value2", CustomFieldType.ALPHA_NUMERIC.getValue()));
return fields;
}
use of org.mifos.dto.domain.CustomFieldDto in project head by mifos.
the class CenterUpdateUsingCustomerServiceIntegrationTest method canUpdateCenterWithDifferentMfiJoiningDateInPastOrFuture.
@Test
public void canUpdateCenterWithDifferentMfiJoiningDateInPastOrFuture() throws Exception {
// setup
Short loanOfficerId = center.getPersonnel().getPersonnelId();
String externalId = center.getExternalId();
LocalDate dateInPast = new LocalDate(center.getMfiJoiningDate()).minusWeeks(4);
String mfiJoiningDate = new SimpleDateFormat("dd/MM/yyyy").format(dateInPast.toDateMidnight().toDate());
AddressDto address = null;
if (center.getAddress() != null) {
address = Address.toDto(center.getAddress());
}
List<CustomFieldDto> customFields = new ArrayList<CustomFieldDto>();
List<CustomerPositionDto> customerPositions = new ArrayList<CustomerPositionDto>();
String updatedDisplayName = "Center " + RandomStringUtils.randomAlphanumeric(5);
CenterUpdate centerUpdate = new CenterUpdate(center.getCustomerId(), updatedDisplayName, center.getVersionNo(), loanOfficerId, externalId, mfiJoiningDate, address, customFields, customerPositions);
UserContext userContext = TestUtils.makeUser();
// exercise test
customerService.updateCenter(userContext, centerUpdate);
// verification
center = customerDao.findCenterBySystemId(center.getGlobalCustNum());
assertThat(center.getMfiJoiningDate(), is(dateInPast.toDateMidnight().toDate()));
}
use of org.mifos.dto.domain.CustomFieldDto in project head by mifos.
the class SavingsServiceFacadeWebTier method updateSavingsAccountDetails.
@Override
public void updateSavingsAccountDetails(Long savingsId, String recommendedOrMandatoryAmount, List<CustomFieldDto> customFields) {
MifosUser user = (MifosUser) SecurityContextHolder.getContext().getAuthentication().getPrincipal();
UserContext userContext = toUserContext(user);
SavingsBO savingsAccount = this.savingsDao.findById(savingsId);
savingsAccount.updateDetails(userContext);
Set<AccountCustomFieldEntity> accountCustomFields = savingsAccount.getAccountCustomFields();
for (CustomFieldDto view : customFields) {
boolean fieldPresent = false;
if (CustomFieldType.DATE.getValue().equals(view.getFieldType()) && org.apache.commons.lang.StringUtils.isNotBlank(view.getFieldValue())) {
try {
SimpleDateFormat format = (SimpleDateFormat) DateFormat.getDateInstance(DateFormat.SHORT, userContext.getPreferredLocale());
String userfmt = DateUtils.convertToCurrentDateFormat(format.toPattern());
view.setFieldValue(DateUtils.convertUserToDbFmt(view.getFieldValue(), userfmt));
} catch (InvalidDateException e) {
throw new BusinessRuleException(e.getMessage(), e);
}
}
for (AccountCustomFieldEntity customFieldEntity : accountCustomFields) {
if (customFieldEntity.getFieldId().equals(view.getFieldId())) {
fieldPresent = true;
customFieldEntity.setFieldValue(view.getFieldValue());
}
}
if (!fieldPresent) {
accountCustomFields.add(new AccountCustomFieldEntity(savingsAccount, view.getFieldId(), view.getFieldValue()));
}
}
Money amount = new Money(savingsAccount.getCurrency(), recommendedOrMandatoryAmount);
try {
this.transactionHelper.startTransaction();
this.transactionHelper.beginAuditLoggingFor(savingsAccount);
savingsAccount.update(amount, accountCustomFields);
this.savingsDao.save(savingsAccount);
this.transactionHelper.commitTransaction();
} catch (BusinessRuleException e) {
this.transactionHelper.rollbackTransaction();
throw new BusinessRuleException(e.getMessageKey(), e);
} catch (Exception e) {
this.transactionHelper.rollbackTransaction();
throw new MifosRuntimeException(e);
} finally {
this.transactionHelper.closeSession();
}
}
Aggregations