semesterWork/domain/UseCase/IGroupUseCase.cs
2024-12-12 21:16:01 +03:00

60 lines
1.6 KiB
C#

using Data.DAO;
using domain.Entity;
using domain.Request;
using Domain.Entity;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace domain.UseCase
{
public interface IGroupUseCase
{
public IEnumerable<GroupEntity> GetGroupsWithStudents();
public void AddGroup(AddGroupRequest addGroupRequest);
public void AddGroupWithStudents(AddGroupWithStudentsRequest addGroupWithStudent);
public void DeleteGroup(int groupId);
List<SubjectEntity> GetSubjectsByGroupId(int groupId);
public void AddStudentsToGroup(int groupId, List<AddStudentRequest> students);
public Group GetGroupById(int groupId);
List<Subject> GetGroupSubjects(int groupId);
bool AddSubjectToGroup(int groupId, string subjectName);
public void DeleteAllAttendances();
public void DeleteAttendancesByGroup(int groupId);
void AddAttendance(Attendance attendance);
Visit GetVisitById(int visitId);
Subject GetSubjectByName(string subjectName);
int GetGroupIdBySubjectName(string subjectName);
public IEnumerable<Attendance> GetAttendances(int groupId, string subject = null, DateTime? date = null, int? studentId = null);
public Attendance GetAttendanceByDateStudentAndLesson(DateTime date, int studentId, int lessonNumber);
public void UpdateAttendance(Attendance attendance);
void RemoveStudentsFromGroup(int groupId);
void RemoveStudentsFromGroupByIds(int groupId, List<int> studentIds);
}
}