Files
helpdesk/backend/HelpDesk.Data/Repositories/ITicketRepository.cs
T

20 lines
896 B
C#

using HelpDesk.Models.Entities;
using HelpDesk.Models.Enums;
namespace HelpDesk.Data.Repositories;
public interface ITicketRepository
{
Task<Ticket?> GetByIdAsync(Guid id);
Task<IEnumerable<Ticket>> GetAllAsync(TicketStatus? status = null, TicketPriority? priority = null, Guid? assigneeId = null, Guid? requesterId = null, int page = 1, int pageSize = 20);
Task<int> GetCountAsync(TicketStatus? status = null, TicketPriority? priority = null, Guid? assigneeId = null, Guid? requesterId = null);
Task<Ticket> CreateAsync(Ticket ticket);
Task<Ticket?> UpdateAsync(Ticket ticket);
Task<bool> DeleteAsync(Guid id);
Task<int> GetTotalCountAsync();
Task<int> GetCountByStatusAsync(TicketStatus status);
Task<int> GetCountByPriorityAsync(TicketPriority priority);
Task<double> GetAverageResponseTimeAsync();
Task<double> GetAverageResolutionTimeAsync();
}