/
Vini1979
/
Java_OOP
Обзор
Документация
Войти
/
Vini1979
/
Java_OOP
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
Seminar_05/model/RepositoryFile.java
75 строк
2 KB
Evgeny
Added HW 3/3
14 апр 2023, 21:50
14 апр 2023, 21:50
52a467c
Код
Авторство
О чём код?
package Seminar_05.model; import java.util.ArrayList; import java.util.List; public class RepositoryFile implements Repository { private UserMapper mapper; private FileOperation fileOperation; public RepositoryFile(UserMapper mapper, FileOperation fileOperation) { this.mapper = mapper; this.fileOperation = fileOperation; } @Override public List<User> getAllUsers() { List<String> lines = fileOperation.readAllLines(); List<User> users = new ArrayList<>(); for (String line : lines) { users.add(mapper.mapDot(line)); } return users; } @Override public String CreateUser(User user) { List<User> users = getAllUsers(); int max = 0; for (User item : users) { int id = Integer.parseInt(item.getId()); if (max < id) { max = id; } } int newId = max + 1; String id = String.format("%d", newId); user.setId(id); users.add(user); saveUser(users); return id; } @Override public void updateUser(User user) { List<User> users = getAllUsers(); for (User item : users) { if (item.getId().equals(user.getId())) { item.setFirstName(user.getFirstName()); item.setLastName(user.getLastName()); item.setPhone(user.getPhone()); } } saveUser(users); } @Override public void deleteUser(String userId) { List<User> users = getAllUsers(); for (User item : users) { if (item.getId().equals(userId)) { users.remove(item); } } saveUser(users); } private void saveUser(List<User> users) { List<String> lines = new ArrayList<>(); for (User item : users) { lines.add(mapper.mapDot(item)); } fileOperation.saveAllLines(lines); } }