Project

General

Profile

1 35215 antonis.le
package eu.dnetlib.goldoa.service;
2
3 35663 antonis.le
import eu.dnetlib.goldoa.domain.*;
4 35215 antonis.le
5 35686 antonis.le
import javax.mail.MessagingException;
6 35662 antonis.le
import java.util.Date;
7 35215 antonis.le
import java.util.List;
8
9
/**
10
 * Created by antleb on 3/10/15.
11
 */
12
public interface RequestManager {
13
14 35663 antonis.le
    public Request saveRequest(Request request);
15 35662 antonis.le
16 35694 antonis.le
	public RequestInfo getById(String requestId);
17 35215 antonis.le
18 35919 antonis.le
    /**
19
     * @param from          inclusive, starts with 0
20
     * @param to            non inclusive, < total count
21
     * @param requestSortBy if not null, sorts by this field
22
     * @param order         the order of sort, if RequestSortBy != null
23
     * @param requestFilter which request field to search for, searches for all if null and term != null
24
     * @param term          if not null, filters the requests
25
     * @param from
26
     * @param to
27
     * @return
28
     */
29 35989 antonis.le
    public List<RequestInfo> getForUser(String email, Date from, Date to, RequestSort requestSortBy, RequestSortOrder order, RequestFilter requestFilter, String term, Request.RequestStatus statusFilter);
30 35639 antonis.le
31
    public List<Request> getForProject(String projectId);
32 35662 antonis.le
33 35989 antonis.le
    public List<RequestInfo> getRequests(Date from, Date to, RequestSort requestSortBy, RequestSortOrder order, RequestFilter requestFilter, String term, Request.RequestStatus statusFilter);
34 35684 antonis.le
35 35693 antonis.le
    public Request submitRequest(Request request) throws PersonManagerException;
36
37 35804 antonis.le
    public void approveRequest(String requestId, String comment);
38 35693 antonis.le
39 35804 antonis.le
    public void rejectRequest(String requestId, String comment);
40 35759 antonis.le
41
    void invoiceUploaded(String requestId);
42 35215 antonis.le
}