slarny4/Demo1/Data/Repository/GroupRepositoryImpl.cs
2024-10-28 15:42:04 +03:00

52 lines
1.5 KiB
C#

// C:\Users\adm\Source\Repos\presence1\Demo\Data\Repository\GroupRepositoryImpl.cs
using System.Collections.Generic;
using System.Linq;
using Demo.Data.Exceptions;
using Demo.Data.LocalData;
using Demo.Data.LocalData.Entity;
using Demo.Data.RemoteData.RemoteDataBase;
namespace Demo.Data.Repository
{
public class GroupRepositoryImpl : IGroupRepository
{
private RemoteDatabaseContext context;
public GroupRepositoryImpl(RemoteDatabaseContext context)
{
this.context = context;
}
public void AddGroup(Group group)
{
if (LocalStaticData.Groups.Any(g => g.Id == group.Id))
throw new RepositoryException("Group with the same ID already exists.");
LocalStaticData.Groups.Add(group);
}
public void DeleteGroup(int id)
{
var group = GetGroupById(id);
LocalStaticData.Groups.Remove(group);
}
public IEnumerable<Group> GetAllGroups()
{
return LocalStaticData.Groups;
}
public Group GetGroupById(int id)
{
var group = LocalStaticData.Groups.FirstOrDefault(g => g.Id == id);
if (group == null)
throw new GroupNotFoundException(id);
return group;
}
public void UpdateGroup(Group group)
{
var existingGroup = GetGroupById(group.Id);
existingGroup.Name = group.Name;
}
}
}