using MTWorkHR.Core.Entities.Base;
using MTWorkHR.Core.Global;
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace MTWorkHR.Core.Entities
{
    public class UserTask : FullAuditEntity, IHaveCompany
    {
        public string AssignedUserId { get; set; }
        [Filter]
        public string Title { get; set; }
        [Filter]
        public string Description { get; set; }
        public DateTime DueDate { get; set; }
        public PriorityEnum Priority { get; set; }
       
        public long ProjectId { get; set; }
        [ForeignKey("ProjectId")]
        public Project Project { get; set; }

        public long StatusId { get; set; }
        [ForeignKey("StatusId")]
        public UserTaskStatus TaskStatus { get; set; }
        public List<UserTaskAttachment> TaskAttachments { get; set; }
        public List<UserTaskHistory> TaskHistories { get; set; }
        public List<TaskUser>? TaskUsers { get; set; }
        public long CompanyId { get ; set ; }
    }
}