in service/src/main/java/org/apache/fineract/cn/group/internal/command/handler/GroupAggregate.java [310:334]
public String signOffMeeting(final SignOffMeetingCommand signOffMeetingCommand) {
this.groupRepository.findByIdentifier(signOffMeetingCommand.groupIdentifier())
.ifPresent(groupEntity -> {
final SignOffMeeting signOffMeeting = signOffMeetingCommand.signOffMeeting();
this.meetingRepository
.findByGroupEntityAndCurrentCycleAndMeetingSequence(groupEntity,
signOffMeeting.getCycle(), signOffMeeting.getSequence())
.ifPresent(meetingEntity -> {
meetingEntity.setDuration(signOffMeeting.getDuration());
meetingEntity.setHeldOn(LocalDate.now(Clock.systemUTC()));
this.meetingRepository.save(meetingEntity);
final List<AttendeeEntity> attendeeEntities = this.attendeeRepository.findByMeeting(meetingEntity);
attendeeEntities.forEach(attendeeEntity -> signOffMeeting.getAttendees()
.stream()
.filter(attendee -> attendee.getCustomerIdentifier().equals(attendeeEntity.getCustomerIdentifier()))
.findFirst()
.ifPresent(attendee -> {
attendeeEntity.setStatus(attendee.getStatus());
this.attendeeRepository.save(attendeeEntity);
}));
});
});
return signOffMeetingCommand.groupIdentifier();
}