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

namespace MTWorkHR.Application.Models
{
    public class UserDto
    {
        public string? Id { get; set; }
        [Required]
        [EmailAddress]
        public string Email { get; set; }
        [Required]
        public string FirstName { get; set; } 
        public string LastName { get; set; }
        public string PhoneNumber { get; set; }
        public string? LinkedInLink { get; set; }
        [Required]
        public UserTypeEnum UserType { get; set; }
        [Required]
        [MinLength(6)]
        public string UserName { get; set; }
        public string? Password { get; set; }

        public string? FavoriteName { get; set; }
        public string PassportNumber { get; set; }
        public int? QualificationId { get; set; }
        public int? UniversityId { get; set; }
        public int? JobTitleId { get; set; }
        public int? IndustryId { get; set; }
        public int? CountryId { get; set; }

        public decimal TaxNumber { get; set; }
        public decimal IncomeTaxValue { get; set; }

        public IList<UserRoleDto>? UserRoles { get; set; }
        public IList<AttachmentDto>? UserAttachments{ get; set; }
        public UserAddressDto? UserAddress{ get; set; }
    }
}