Fix expense/income creation

This commit is contained in:
Dmitrii Cravcenco
2023-10-24 18:34:51 +03:00
parent 4e00244a26
commit d402514ecb
13 changed files with 127 additions and 41 deletions

View File

@@ -3,19 +3,24 @@ package com.faf223.expensetrackerfaf.dto.mappers;
import com.faf223.expensetrackerfaf.dto.ExpenseCreationDTO;
import com.faf223.expensetrackerfaf.dto.ExpenseDTO;
import com.faf223.expensetrackerfaf.model.Expense;
import com.faf223.expensetrackerfaf.service.ExpenseCategoryService;
import com.faf223.expensetrackerfaf.service.ExpenseService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.time.LocalDate;
@Component
public class ExpenseMapper {
private final ExpenseService expenseService;
private final ExpenseCategoryService expenseCategoryService;
private final UserMapper userMapper;
@Autowired
public ExpenseMapper(ExpenseService expenseService, UserMapper userMapper) {
public ExpenseMapper(ExpenseService expenseService, ExpenseCategoryService expenseCategoryService, UserMapper userMapper) {
this.expenseService = expenseService;
this.expenseCategoryService = expenseCategoryService;
this.userMapper = userMapper;
}
@@ -25,10 +30,8 @@ public class ExpenseMapper {
}
public Expense toExpense(ExpenseCreationDTO expenseDTO) {
Expense expense = expenseService.getExpenseById(expenseDTO.getExpenseId());
if(expense == null) return new Expense(expenseDTO.getExpenseId(), expenseDTO.getUser(),
expenseDTO.getExpenseCategory(), expenseDTO.getDate(), expenseDTO.getAmount());
return expense;
return new Expense(expenseCategoryService.getExpenseCategory(expenseDTO.getExpenseCategory()), LocalDate.now(), expenseDTO.getAmount());
}
}
}