38 lines
1.9 KiB
C#
38 lines
1.9 KiB
C#
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);
|
||
}
|
||
}
|