using data.RemoteData.DAO; using domain.Models; using System.Collections.Generic; namespace data.Repository { // Интерфейс для репозитория работы с посещаемостью. public interface IPresenceRepository { // Метод для добавления записи о посещении. void AddPresence(PresenceLocalEntity presence); // Метод для получения общей посещаемости группы. public GroupPresenceSummary GetGeneralPresenceForGroup(int groupId); // Метод для получения посещаемости по группе. List GetPresenceByGroup(int groupId); // Метод для получения посещаемости группы в виде DAO объектов. List GetAttendanceByGroup(int groupId); // Метод для получения посещаемости по группе и дате. List GetPresenceByGroupAndDate(int groupId, DateTime date); // Метод для получения последней даты посещаемости для группы. DateOnly? GetLastDateByGroupId(int groupId); // Метод для сохранения посещаемости для группы. void SavePresence(List presences); // Метод для обновления посещаемости для пользователя в указанном интервале уроков. bool UpdateAttention(Guid UserGuid, int groupId, int firstLesson, int lastLesson, DateOnly date, bool isAttendance); // Метод для пометки пользователя как отсутствующего в указанные уроки. void MarkUserAsAbsent(Guid userGuid, int firstLessonNumber, int lastLessonNumber); } }