87 lines
2.5 KiB
C#
87 lines
2.5 KiB
C#
using HelpDesk.Models.Enums;
|
|
|
|
namespace HelpDesk.Models.DTOs;
|
|
|
|
public class CreateTicketRequest
|
|
{
|
|
public string Title { get; set; } = string.Empty;
|
|
public string Description { get; set; } = string.Empty;
|
|
public TicketPriority Priority { get; set; } = TicketPriority.Medium;
|
|
public Guid? GroupId { get; set; }
|
|
public Guid? SlaPolicyId { get; set; }
|
|
}
|
|
|
|
public class UpdateTicketRequest
|
|
{
|
|
public string? Title { get; set; }
|
|
public string? Description { get; set; }
|
|
public TicketPriority? Priority { get; set; }
|
|
}
|
|
|
|
public class TicketDto
|
|
{
|
|
public Guid Id { get; set; }
|
|
public string Title { get; set; } = string.Empty;
|
|
public string Description { get; set; } = string.Empty;
|
|
public TicketStatus Status { get; set; }
|
|
public TicketPriority Priority { get; set; }
|
|
public string TicketNumber { get; set; } = string.Empty;
|
|
public Guid RequesterId { get; set; }
|
|
public string RequesterName { get; set; } = string.Empty;
|
|
public Guid? AssigneeId { get; set; }
|
|
public string? AssigneeName { get; set; }
|
|
public Guid? GroupId { get; set; }
|
|
public string? GroupName { get; set; }
|
|
public Guid? SlaPolicyId { get; set; }
|
|
public string? SlaPolicyName { get; set; }
|
|
public DateTime CreatedAt { get; set; }
|
|
public DateTime? UpdatedAt { get; set; }
|
|
public DateTime? ResolvedAt { get; set; }
|
|
public int CommentCount { get; set; }
|
|
}
|
|
|
|
public class TicketListResponse
|
|
{
|
|
public List<TicketDto> Items { get; set; } = new();
|
|
public int TotalCount { get; set; }
|
|
public int Page { get; set; }
|
|
public int PageSize { get; set; }
|
|
}
|
|
|
|
public class TicketStatsDto
|
|
{
|
|
public int TotalTickets { get; set; }
|
|
public int OpenTickets { get; set; }
|
|
public int InProgressTickets { get; set; }
|
|
public int PendingTickets { get; set; }
|
|
public int ResolvedTickets { get; set; }
|
|
public int ClosedTickets { get; set; }
|
|
}
|
|
|
|
public class AddCommentRequest
|
|
{
|
|
public string Content { get; set; } = string.Empty;
|
|
public bool IsInternal { get; set; }
|
|
}
|
|
|
|
public class CommentDto
|
|
{
|
|
public Guid Id { get; set; }
|
|
public Guid TicketId { get; set; }
|
|
public Guid UserId { get; set; }
|
|
public string UserName { get; set; } = string.Empty;
|
|
public string Content { get; set; } = string.Empty;
|
|
public bool IsInternal { get; set; }
|
|
public DateTime CreatedAt { get; set; }
|
|
}
|
|
|
|
public class UpdateStatusRequest
|
|
{
|
|
public TicketStatus Status { get; set; }
|
|
}
|
|
|
|
public class AssignTicketRequest
|
|
{
|
|
public Guid? AssigneeId { get; set; }
|
|
}
|