29 lines
1.4 KiB
C#
29 lines
1.4 KiB
C#
using data.RemoteData.RemoteDatabase.DAO;
|
|
using data.RemoteData.RemoteDataBase.DAO;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
|
|
namespace domain.UseCase
|
|
{
|
|
public interface IPresenceUseCase
|
|
{
|
|
public Dictionary<string, List<AttendanceRecord>> GetAllAttendanceByGroups();
|
|
public void ExportAttendanceToExcel();
|
|
public List<PresenceDao> GetPresenceByDateAndGroup(DateTime date, int groupId);
|
|
public void GeneratePresenceDaily(int firstLesson, int lastLesson, int groupId);
|
|
public void GenerateWeeklyPresence(int firstLesson, int lastLesson, int groupId, DateTime startTime);
|
|
public bool MarkUserAbsentForLessons(int userId, int groupId, int firstLesson, int lastLesson, DateTime date);
|
|
public List<PresenceDao> GetAllPresenceByGroup(int groupId);
|
|
public GroupAttendanceStatistics GetGeneralPresence(int groupId);
|
|
public List<AllPresence> GetPresenceAll(DateOnly dateStart, DateOnly dateEnd, int GroupId, int UserId);
|
|
public void UpdateAttendance(List<AttendanceInputModel> attList);
|
|
public void DeletePresenceByGroup(int groupId);
|
|
public void DeletePresenceByUser(int groupId, int userId);
|
|
public void DeletePresenceByDateRange(int groupId, DateOnly startDate, DateOnly endDate);
|
|
public void MarkUserAbsent(int userId, int groupId, DateOnly date, int lessonNumber);
|
|
}
|
|
}
|