35 lines
2.0 KiB
Java
35 lines
2.0 KiB
Java
package eu.eudat.managers;
|
|
|
|
import eu.eudat.entities.DMP;
|
|
import eu.eudat.entities.UserInfo;
|
|
import eu.eudat.models.invitation.Invitation;
|
|
import eu.eudat.models.userinfo.UserInfoInvitationModel;
|
|
import eu.eudat.models.userinfo.UserInfoRequestItem;
|
|
import eu.eudat.queryable.QueryableList;
|
|
import eu.eudat.services.ApiContext;
|
|
import eu.eudat.utilities.builders.DomainModelConverter;
|
|
|
|
import java.util.List;
|
|
import java.util.stream.Collectors;
|
|
|
|
/**
|
|
* Created by ikalyvas on 1/4/2018.
|
|
*/
|
|
public class InvitationsManager {
|
|
|
|
public static void inviteUsers(ApiContext apiContext, Invitation invitation) {
|
|
List<UserInfoInvitationModel> alreadySignedInUsers = invitation.getUsers().stream().filter(item -> item.getId() != null).collect(Collectors.toList());
|
|
List<UserInfo> alreadySignedInUsersEntities = new DomainModelConverter<UserInfo, UserInfoInvitationModel>().toDataModel(alreadySignedInUsers);
|
|
DMP dataManagementPlan = apiContext.getDatabaseRepository().getDmpDao().find(invitation.getDataManagementPlan());
|
|
apiContext.getInvitationService().createInvitations(apiContext.getDatabaseRepository().getInvitationDao(),new DomainModelConverter<UserInfo, UserInfoInvitationModel>().toDataModel(invitation.getUsers()),dataManagementPlan);
|
|
apiContext.getInvitationService().assignToDmp(apiContext.getDatabaseRepository().getDmpDao(), alreadySignedInUsersEntities, dataManagementPlan);
|
|
apiContext.getInvitationService().sendInvitations(invitation.getUsers());
|
|
}
|
|
|
|
public static List<UserInfoInvitationModel> getUsers(ApiContext apiContext,UserInfoRequestItem userInfoRequestItem) throws InstantiationException, IllegalAccessException {
|
|
QueryableList<UserInfo> users = apiContext.getDatabaseRepository().getUserInfoDao().getWithCriteria(userInfoRequestItem.getCriteria());
|
|
List<UserInfoInvitationModel> userModels = new DomainModelConverter<UserInfo,UserInfoInvitationModel>().fromDataModel(users.toList(),UserInfoInvitationModel.class);
|
|
return userModels;
|
|
}
|
|
}
|