using Somnia.GuestLog.Models.DTOs; using Somnia.GuestLog.Models.QueryConfigs; namespace Somnia.GuestLog.Services.Entity; public interface IStayEntryEntityService { public Task CreateEntryAsync(StayEntryDTO dto); public Task UpdateEntryAsync(StayEntryDTO updatedDto); public Task DeleteEntryAsync(StayEntryDTO dto); public Task DeleteEntryAsync(long id); public Task GetDtoByIdAsync(long id, StayEntryQueryConfig? queryConfig = null); public Task> GetDtoListAsync(StayEntryQueryConfig? queryConfig = null); public Task> GetDtoListByFilterAsync(StayEntryFilterDTO filter, int limit = 0, StayEntryQueryConfig? queryConfig = null); public Task IsGuestInStay(long guestDocId); public Task IsGuestInStayInPeriod(long guestDocId, DateTime startTime, DateTime endTime); public Task> GetStaysWithGuest(long guestDocId, StayEntryQueryConfig? queryConfig = null); }