public Long addMeetingMember(
      String firstname,
      String lastname,
      String memberStatus,
      String appointmentStatus,
      Long appointmentId,
      Long userid,
      String email,
      String phone,
      Boolean moderator,
      OmTimeZone omTimeZone,
      Boolean isConnectedEvent) {
    try {

      MeetingMember gm = new MeetingMember();

      gm.setFirstname(firstname);
      gm.setLastname(lastname);
      gm.setMemberStatus(memberStatus);
      gm.setAppointmentStatus(appointmentStatus);
      gm.setAppointment(appointmentDao.getAppointmentById(appointmentId));
      gm.setUserid(userid == null ? null : usersDao.get(userid));
      gm.setEmail(email);
      gm.setPhone(phone);

      gm.setStarttime(new Date());
      gm.setDeleted(false);
      gm.setInvitor(moderator);
      gm.setIsConnectedEvent(isConnectedEvent);

      gm.setOmTimeZone(omTimeZone);

      gm = em.merge(gm);
      Long group_member_id = gm.getMeetingMemberId();

      return group_member_id;
    } catch (Exception ex2) {
      log.error("[addMeetingMember]: ", ex2);
    }
    return null;
  }