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);
|
|||
|
}
|
|||
|
}
|