new_presence/data/Repository/IPresenceRepository.cs

38 lines
1.9 KiB
C#
Raw Normal View History

2024-11-16 08:29:24 +00:00
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<PresenceLocalEntity> GetPresenceByGroup(int groupId);
// Метод для получения посещаемости группы в виде DAO объектов.
List<PresenceDao> GetAttendanceByGroup(int groupId);
// Метод для получения посещаемости по группе и дате.
List<PresenceLocalEntity> GetPresenceByGroupAndDate(int groupId, DateTime date);
// Метод для получения последней даты посещаемости для группы.
DateOnly? GetLastDateByGroupId(int groupId);
// Метод для сохранения посещаемости для группы.
void SavePresence(List<PresenceLocalEntity> presences);
// Метод для обновления посещаемости для пользователя в указанном интервале уроков.
bool UpdateAttention(Guid UserGuid, int groupId, int firstLesson, int lastLesson, DateOnly date, bool isAttendance);
// Метод для пометки пользователя как отсутствующего в указанные уроки.
void MarkUserAsAbsent(Guid userGuid, int firstLessonNumber, int lastLessonNumber);
}
}