using System.ComponentModel.DataAnnotations;
using PowderCoating.Core.Enums;

namespace PowderCoating.Application.DTOs.BugReport;

public class EditBugReportDto
{
    public int Id { get; set; }

    [Required(ErrorMessage = "Title is required.")]
    [StringLength(200, ErrorMessage = "Title cannot exceed 200 characters.")]
    public string Title { get; set; } = string.Empty;

    [Required(ErrorMessage = "Description is required.")]
    [StringLength(4000, ErrorMessage = "Description cannot exceed 4000 characters.")]
    public string Description { get; set; } = string.Empty;

    public string SubmittedByUserName { get; set; } = string.Empty;
    public string? CompanyName { get; set; }
    public DateTime CreatedAt { get; set; }
    public int CompanyId { get; set; }
    public List<BugReportAttachmentDto> Attachments { get; set; } = new();

    public BugReportPriority Priority { get; set; }
    public BugReportStatus Status { get; set; }

    [StringLength(4000, ErrorMessage = "Resolution notes cannot exceed 4000 characters.")]
    public string? ResolutionNotes { get; set; }
}
