pr/Demo/Domain/UseCase/GroupUseCase.cs

43 lines
1.3 KiB
C#
Raw Permalink Normal View History

2024-10-25 20:08:16 +00:00
using Demo.Data.LocalData;
using Demo.Data.Repository;
using Demo.domain.Models;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading.Tasks;
namespace Demo.Domain.UseCase
{
public class GroupUseCase
{
private List<GroupLocalEntity> _groups = LocalStaticData.groups; // вывести все группы
public List<GroupLocalEntity> GetAllGroups() => _groups;
public void AddGroup(GroupLocalEntity group) //добавить группу
{
group.Id = _groups.Any() ? _groups.Max(g => g.Id) + 1 : 1;
_groups.Add(group);
}
public void RenameGroup(int groupId, string newName) //переименовать группу
{
if (string.IsNullOrWhiteSpace(newName))
{
throw new ArgumentException("Новое имя группы не может быть пустым", nameof(newName));
}
var existingGroup = _groups.FirstOrDefault(g => g.Id == groupId);
if (existingGroup == null)
{
throw new KeyNotFoundException($"Группа с ID {groupId} не найдена.");
}
existingGroup.Name = newName;
}
}
}