20 lines
896 B
C#
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();
|
|
}
|