pr1/Demo/Data/Repository/GroupRepositoryImpl.cs

61 lines
2.7 KiB
C#
Raw Normal View History

2024-11-17 16:24:01 +00:00
using Demo.Data.Exceptions;
using Demo.Data.LocalData;
using Demo.Data.RemoteData.RemoteDataBase.DAO;
using Demo.Data.Repository;
2024-10-19 21:12:06 +00:00
using Demo.domain.Models;
using System.Collections.Generic;
using System.Linq;
2024-11-17 16:24:01 +00:00
public class GroupRepositoryImpl : IGroupRepository
2024-10-19 21:12:06 +00:00
{
2024-11-17 16:24:01 +00:00
private List<GroupLocalEntity> _groups = LocalStaticData.groups;
// Метод получения группы по id
public GroupLocalEntity? GetGroupById(int groupId)
{
// Ищем первую группу с заданным идентификатором
return _groups.FirstOrDefault(g => g.Id == groupId);
}
// Метод получения всех групп
public List<GroupLocalEntity> GetAllGroup() => _groups; // Возвращаем весь список групп
// Метод добавления группы
public bool AddGroup(GroupLocalEntity group)
{
// Проверяем, существует ли группа с таким же id
if (_groups.Any(g => g.Id == group.Id))
return false; // Если существует, возвращаем false
// Устанавливаем новый Id для группы (максимальный Id + 1 или 1, если список пуст)
group.Id = _groups.Any() ? _groups.Max(g => g.Id) + 1 : 1;
_groups.Add(group); // Добавляем группу в список
return true; // Возвращаем true, если добавление прошло успешно
}
// Метод обновления существующей группы по id
public bool UpdateGroupById(int groupID, GroupLocalEntity updatedGroup)
2024-10-19 21:12:06 +00:00
{
2024-11-17 16:24:01 +00:00
// Получаем существующую группу по id
var existingGroup = GetGroupById(groupID);
if (existingGroup == null)
return false; // Если группа не найдена, возвращаем false
// Обновляем имя существующей группы
existingGroup.Name = updatedGroup.Name;
return true; // Возвращаем true, если обновление прошло успешно
}
// Метод удаления группы по id
public bool RemoveGroupById(int groupID)
{
// Вывод существующей группу по id
var existingGroup = GetGroupById(groupID);
if (existingGroup == null)
return false; // Если группа не найдена, возвращаем false
_groups.Remove(existingGroup); // Удаляем группу
return true; // Возвращаем true, если удаление прошло успешно
2024-10-19 21:12:06 +00:00
}
}