Project

General

Profile

1
package eu.dnetlib.goldoa.service;
2

    
3
import eu.dnetlib.goldoa.domain.Budget;
4
import eu.dnetlib.goldoa.domain.BudgetFile;
5
import eu.dnetlib.goldoa.service.dao.BudgetDAO;
6
import org.springframework.beans.factory.annotation.Autowired;
7
import org.springframework.transaction.annotation.Transactional;
8

    
9
import java.io.InputStream;
10
import java.util.Date;
11
import java.util.List;
12
import java.util.UUID;
13

    
14
/**
15
 * Created by antleb on 4/2/15.
16
 */
17
@Transactional
18
public class BudgetManagerImpl implements BudgetManager {
19

    
20
    @Autowired
21
    private BudgetDAO budgetDAO;
22

    
23
    @Override
24
    public Budget saveBudget(Budget budget) {
25
        if (budget.getId() == null) {
26
            budget.setId(UUID.randomUUID().toString());
27
            budget.setDate(new Date());
28
            budget.setRemaining(budget.getAmount());
29
        }
30

    
31
        budgetDAO.saveBudget(budget);
32

    
33
        budgetDAO.deleteBudgetRelations(budget);
34
        budgetDAO.insertBudgetRelations(budget);
35

    
36
        return budget;
37
    }
38

    
39
    @Override
40
    public Budget getBudget(String budgetId) {
41
        return budgetDAO.getBudget(budgetId);
42
    }
43

    
44
    @Override
45
    public List<Budget> getBudgets() {
46
        return budgetDAO.getBudgets();
47
    }
48

    
49
    @Override
50
    public List<Budget> getBudgetsForUser(String userId) {
51
        return budgetDAO.getBudgetsForUser(userId);
52
    }
53

    
54
    @Override
55
    public void approveBudget(String budgetId) {
56
        budgetDAO.approveBudget(budgetId);
57
    }
58

    
59
    @Override
60
    public void rejectBudget(String budgetId) {
61
        budgetDAO.rejectBudget(budgetId);
62
    }
63

    
64
    @Override
65
    public void uploadTerms(String id, String contentType, InputStream inputStream) {
66
        budgetDAO.uploadTerms(id, contentType, inputStream);
67
    }
68

    
69
    @Override
70
    public BudgetFile downloadBudgetTerms(String budgetId) {
71
        return budgetDAO.downloadTerms(budgetId);
72
    }
73
}
(2-2/24)