using data.RemoteData.RemoteDataBase.DAO;
using domain.Models;
using System;
using System.Collections.Generic;

namespace data.Repository
{
    public interface IPresenceRepository
    {
        void SavePresence(List<PresenceLocalEntity> presences);
        List<PresenceLocalEntity> GetPresenceByGroup(int groupId);
        List<PresenceLocalEntity> GetPresenceByGroupAndDate(int groupId, DateTime date);
        DateOnly? GetLastDateByGroupId(int groupId);
        public GroupPresenceSummary GetGeneralPresenceForGroup(int groupId);
        bool UpdateAttention(Guid UserGuid, int groupId, int firstLesson, int lastLesson, DateOnly date, bool isAttendance);

        void MarkUserAsAbsent(Guid userGuid, int firstLessonNumber, int lastLessonNumber);
        void AddPresence(PresenceLocalEntity presence);
        List<PresenceDao> GetAttendanceByGroup(int groupId);
    }
}
