semesterWork/domain/UseCase/IGroupUseCase.cs

60 lines
1.6 KiB
C#
Raw Normal View History

2024-12-12 18:16:01 +00:00
using Data.DAO;
using domain.Entity;
2024-12-04 21:58:43 +00:00
using domain.Request;
2024-12-12 18:16:01 +00:00
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
{
2024-12-04 21:58:43 +00:00
public IEnumerable<GroupEntity> GetGroupsWithStudents();
2024-12-12 18:16:01 +00:00
public void AddGroup(AddGroupRequest addGroupRequest);
2024-12-12 18:16:01 +00:00
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);
}
}