public String signOffMeeting()

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();
  }