PresenceApp/domain/UseCase/IPresenceUseCase.cs

29 lines
1.4 KiB
C#
Raw Permalink Normal View History

2024-12-04 23:32:04 +00:00
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);
}
}