Search in sources :

Example 1 with NoPassedCoursesNotification

use of fi.otavanopisto.muikku.plugins.timed.notifications.model.NoPassedCoursesNotification in project muikku by otavanopisto.

the class NoPassedCoursesNotificationDAO method listByDateAfter.

public List<NoPassedCoursesNotification> listByDateAfter(Date sent) {
    EntityManager entityManager = getEntityManager();
    CriteriaBuilder criteriaBuilder = entityManager.getCriteriaBuilder();
    CriteriaQuery<NoPassedCoursesNotification> criteria = criteriaBuilder.createQuery(NoPassedCoursesNotification.class);
    Root<NoPassedCoursesNotification> root = criteria.from(NoPassedCoursesNotification.class);
    criteria.select(root);
    criteria.where(criteriaBuilder.greaterThanOrEqualTo(root.get(NoPassedCoursesNotification_.sent), sent));
    return entityManager.createQuery(criteria).getResultList();
}
Also used : CriteriaBuilder(javax.persistence.criteria.CriteriaBuilder) EntityManager(javax.persistence.EntityManager) NoPassedCoursesNotification(fi.otavanopisto.muikku.plugins.timed.notifications.model.NoPassedCoursesNotification)

Example 2 with NoPassedCoursesNotification

use of fi.otavanopisto.muikku.plugins.timed.notifications.model.NoPassedCoursesNotification in project muikku by otavanopisto.

the class NoPassedCoursesNotificationDAO method findLatestByUserIdentifier.

public NoPassedCoursesNotification findLatestByUserIdentifier(SchoolDataIdentifier identifier) {
    EntityManager entityManager = getEntityManager();
    CriteriaBuilder criteriaBuilder = entityManager.getCriteriaBuilder();
    CriteriaQuery<NoPassedCoursesNotification> criteria = criteriaBuilder.createQuery(NoPassedCoursesNotification.class);
    Root<NoPassedCoursesNotification> root = criteria.from(NoPassedCoursesNotification.class);
    criteria.select(root);
    criteria.where(criteriaBuilder.equal(root.get(NoPassedCoursesNotification_.studentIdentifier), identifier.toId()));
    criteria.orderBy(criteriaBuilder.desc(root.get(NoPassedCoursesNotification_.sent)));
    TypedQuery<NoPassedCoursesNotification> query = entityManager.createQuery(criteria);
    query.setMaxResults(1);
    return getSingleResult(query);
}
Also used : CriteriaBuilder(javax.persistence.criteria.CriteriaBuilder) EntityManager(javax.persistence.EntityManager) NoPassedCoursesNotification(fi.otavanopisto.muikku.plugins.timed.notifications.model.NoPassedCoursesNotification)

Example 3 with NoPassedCoursesNotification

use of fi.otavanopisto.muikku.plugins.timed.notifications.model.NoPassedCoursesNotification in project muikku by otavanopisto.

the class GuiderRESTService method listUserNotifications.

@GET
@Path("/users/{IDENTIFIER}/latestNotifications")
@RESTPermit(GuiderPermissions.GUIDER_LIST_NOTIFICATIONS)
public Response listUserNotifications(@PathParam("IDENTIFIER") String identifierString) {
    SchoolDataIdentifier identifier = SchoolDataIdentifier.fromId(identifierString);
    UserEntity ue = userEntityController.findUserEntityByUserIdentifier(identifier);
    if (ue == null) {
        return Response.status(Status.NOT_FOUND).entity("User entity not found").build();
    }
    Map<String, Date> map = new HashMap<>();
    StudyTimeNotification notification = studyTimeLeftNotificationController.findLatestByUserIdentifier(identifier);
    if (notification != null)
        map.put("studytime", notification.getSent());
    NoPassedCoursesNotification noPassNotification = noPassedCoursesNotificationController.findLatestByUserIdentifier(identifier);
    if (noPassNotification != null)
        map.put("nopassedcourses", noPassNotification.getSent());
    AssesmentRequestNotification assessmentRequestNotification = assessmentRequestNotificationController.findLatestByUserIdentifier(identifier);
    if (assessmentRequestNotification != null)
        map.put("assesmentrequest", assessmentRequestNotification.getSent());
    return Response.ok().entity(map).build();
}
Also used : SchoolDataIdentifier(fi.otavanopisto.muikku.schooldata.SchoolDataIdentifier) AssesmentRequestNotification(fi.otavanopisto.muikku.plugins.timed.notifications.model.AssesmentRequestNotification) StudyTimeNotification(fi.otavanopisto.muikku.plugins.timed.notifications.model.StudyTimeNotification) HashMap(java.util.HashMap) NoPassedCoursesNotification(fi.otavanopisto.muikku.plugins.timed.notifications.model.NoPassedCoursesNotification) WorkspaceUserEntity(fi.otavanopisto.muikku.model.workspace.WorkspaceUserEntity) UserEntity(fi.otavanopisto.muikku.model.users.UserEntity) Date(java.util.Date) Path(javax.ws.rs.Path) RESTPermit(fi.otavanopisto.security.rest.RESTPermit) GET(javax.ws.rs.GET)

Example 4 with NoPassedCoursesNotification

use of fi.otavanopisto.muikku.plugins.timed.notifications.model.NoPassedCoursesNotification in project muikku by otavanopisto.

the class NoPassedCoursesNotificationController method listNotifiedSchoolDataIdentifiersAfter.

public List<SchoolDataIdentifier> listNotifiedSchoolDataIdentifiersAfter(Date date) {
    List<SchoolDataIdentifier> results = new ArrayList<>();
    List<NoPassedCoursesNotification> noPassedCoursesNotifications = noPassedCoursesNotificationDAO.listByDateAfter(date);
    for (NoPassedCoursesNotification noPassedCoursesNotification : noPassedCoursesNotifications) {
        results.add(SchoolDataIdentifier.fromId(noPassedCoursesNotification.getStudentIdentifier()));
    }
    return results;
}
Also used : SchoolDataIdentifier(fi.otavanopisto.muikku.schooldata.SchoolDataIdentifier) ArrayList(java.util.ArrayList) NoPassedCoursesNotification(fi.otavanopisto.muikku.plugins.timed.notifications.model.NoPassedCoursesNotification)

Example 5 with NoPassedCoursesNotification

use of fi.otavanopisto.muikku.plugins.timed.notifications.model.NoPassedCoursesNotification in project muikku by otavanopisto.

the class NoPassedCoursesNotificationDAO method create.

public NoPassedCoursesNotification create(String studentIdentifier, Date sent) {
    NoPassedCoursesNotification noPassedCoursesNotification = new NoPassedCoursesNotification();
    noPassedCoursesNotification.setSent(sent);
    noPassedCoursesNotification.setStudentIdentifier(studentIdentifier);
    return persist(noPassedCoursesNotification);
}
Also used : NoPassedCoursesNotification(fi.otavanopisto.muikku.plugins.timed.notifications.model.NoPassedCoursesNotification)

Aggregations

NoPassedCoursesNotification (fi.otavanopisto.muikku.plugins.timed.notifications.model.NoPassedCoursesNotification)5 SchoolDataIdentifier (fi.otavanopisto.muikku.schooldata.SchoolDataIdentifier)2 EntityManager (javax.persistence.EntityManager)2 CriteriaBuilder (javax.persistence.criteria.CriteriaBuilder)2 UserEntity (fi.otavanopisto.muikku.model.users.UserEntity)1 WorkspaceUserEntity (fi.otavanopisto.muikku.model.workspace.WorkspaceUserEntity)1 AssesmentRequestNotification (fi.otavanopisto.muikku.plugins.timed.notifications.model.AssesmentRequestNotification)1 StudyTimeNotification (fi.otavanopisto.muikku.plugins.timed.notifications.model.StudyTimeNotification)1 RESTPermit (fi.otavanopisto.security.rest.RESTPermit)1 ArrayList (java.util.ArrayList)1 Date (java.util.Date)1 HashMap (java.util.HashMap)1 GET (javax.ws.rs.GET)1 Path (javax.ws.rs.Path)1