pr1/Demo/Data/Repository/GroupRepositoryImpl.cs
2024-11-17 19:24:01 +03:00

61 lines
2.7 KiB
C#
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

using Demo.Data.Exceptions;
using Demo.Data.LocalData;
using Demo.Data.RemoteData.RemoteDataBase.DAO;
using Demo.Data.Repository;
using Demo.domain.Models;
using System.Collections.Generic;
using System.Linq;
public class GroupRepositoryImpl : IGroupRepository
{
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)
{
// Получаем существующую группу по 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, если удаление прошло успешно
}
}