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 GetGroupsWithStudents(); public void AddGroup(AddGroupRequest addGroupRequest); public void AddGroupWithStudents(AddGroupWithStudentsRequest addGroupWithStudent); public void DeleteGroup(int groupId); List GetSubjectsByGroupId(int groupId); public void AddStudentsToGroup(int groupId, List students); public Group GetGroupById(int groupId); List 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 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 studentIds); } }