Presence_Desktop/data/Repository/IPresenceRepository.cs

45 lines
2.1 KiB
C#
Raw Normal View History

2024-12-23 11:20:09 +00:00
using data.RemoteData.DAO;
using domain.Models;
namespace data.Repository
{
public interface IPresenceRepository
{
// Метод для добавления записи о посещении.
// Метод для получения посещаемости по группе.
List<PresenceLocalEntity> GetPresenceByGroup(int groupId);
// Метод для получения посещаемости по группе и дате.
List<PresenceLocalEntity> GetPresenceByGroupAndDate(int groupId, DateTime date);
2024-12-23 11:26:41 +00:00
// Метод для получения посещаемости группы в виде DAO объектов.
List<PresenceDao> GetAttendanceByGroup(int groupId);
2024-12-23 11:20:09 +00:00
// Метод для получения последней даты посещаемости для группы.
DateOnly? GetLastDateByGroupId(int groupId);
// Метод для получения общей посещаемости группы.
public GroupPresenceSummary GetGeneralPresenceForGroup(int groupId);
// Метод для обновления посещаемости для пользователя в указанном интервале уроков.
bool UpdateAttention(Guid UserGuid, int groupId, int firstLesson, int lastLesson, DateOnly date, bool isAttendance);
2024-12-23 11:26:41 +00:00
// Метод для добавления посещаемости.
void AddPresence(PresenceLocalEntity presence);
// Метод для обновления посещаемости.
void UpdateAttendance(PresenceLocalEntity attendance);
// Метод для сохранения посещаемости для группы.
void SavePresence(List<PresenceLocalEntity> presences);
2024-12-23 11:20:09 +00:00
// Метод для пометки пользователя как отсутствующего в указанные уроки.
void MarkUserAsAbsent(Guid userGuid, int firstLessonNumber, int lastLessonNumber);
// Метод для очистки посещаемости.
void ClearAllPresence();
2024-12-23 11:26:41 +00:00
2024-12-23 11:20:09 +00:00
}
}