Project

General

Profile

1
package eu.dnetlib.goldoa.service;
2

    
3
import eu.dnetlib.goldoa.domain.*;
4

    
5
import javax.mail.MessagingException;
6
import java.util.Date;
7
import java.util.List;
8

    
9
/**
10
 * Created by antleb on 3/10/15.
11
 */
12
public interface RequestManager {
13

    
14
    public Request saveRequest(Request request);
15

    
16
	public RequestInfo getById(String requestId);
17

    
18
    /**
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
    public List<RequestInfo> getForUser(String email, Date from, Date to, RequestSort requestSortBy, RequestSortOrder order, RequestFilter requestFilter, String term, Request.RequestStatus statusFilter);
30

    
31
    public List<Request> getForProject(String projectId);
32

    
33
    public List<RequestInfo> getRequests(Date from, Date to, RequestSort requestSortBy, RequestSortOrder order, RequestFilter requestFilter, String term, Request.RequestStatus statusFilter);
34

    
35
    public Request submitRequest(Request request) throws PersonManagerException;
36

    
37
    public void approveRequest(String requestId, String comment);
38

    
39
    public void rejectRequest(String requestId, String comment);
40

    
41
    void invoiceUploaded(String requestId);
42
}
(20-20/24)