45 lines
1.5 KiB
C#
45 lines
1.5 KiB
C#
using Marco.Pms.Model.Entitlements;
|
|
using Microsoft.AspNetCore.Mvc.ModelBinding.Validation;
|
|
using System.ComponentModel.DataAnnotations.Schema;
|
|
using System.ComponentModel;
|
|
|
|
namespace Marco.Pms.Model.Forum
|
|
{
|
|
public class TicketForum
|
|
{
|
|
public Guid Id { get; set; }
|
|
public string Subject { get; set; } = string.Empty;
|
|
public string Description { get; set; } = string.Empty;
|
|
public Guid StatusId { get; set; }
|
|
[ValidateNever]
|
|
[ForeignKey(nameof(StatusId))]
|
|
public TicketStatusMaster? TicketStatusMaster { get; set; }
|
|
public Guid TypeId { get; set; } // QualityIssue, HelpDesk, Feedback
|
|
[ValidateNever]
|
|
[ForeignKey(nameof(TypeId))]
|
|
public TicketTypeMaster? TicketTypeMaster { get; set; }
|
|
public Guid CreatedById { get; set; }
|
|
public DateTime CreatedAt { get; set; }
|
|
public Guid? LinkedActivityId { get; set; } // task or project ID
|
|
|
|
public ICollection<TicketComment>? Comments { get; set; }
|
|
public ICollection<TicketAttachment>? Attachments { get; set; }
|
|
|
|
public Guid PriorityId { get; set; }
|
|
[ValidateNever]
|
|
[ForeignKey(nameof(PriorityId))]
|
|
public TicketPriorityMaster? Priority { get; set; }
|
|
|
|
public ICollection<TicketTag>? Tags { get; set; }
|
|
|
|
|
|
[DisplayName("TenantId")]
|
|
public int TenantId { get; set; }
|
|
|
|
[ValidateNever]
|
|
[ForeignKey(nameof(TenantId))]
|
|
public Tenant? Tenant { get; set; }
|
|
}
|
|
|
|
}
|