using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using UnivateProperties_API.Helpers.Attributes;

namespace UnivateProperties_API.Model.Users
{
    public class Person : BaseEntity
    {
        #region Constructor
        public Person()
        {

        }
        #endregion Constructor

        #region Properties
        [ForeignKey("User")]
        public int? UserId { get; set; }
        public string Name { get; set; }
        public string Surname { get; set; }
        [NotMapped]
        [VisibleInListView]
        public string FullName
        {
            get
            {
                return $"{Name} {Surname}";
            }
        }
        [VisibleInListView(true)]
        [DataType(DataType.EmailAddress)]
        public string Email { get; set; }
        [VisibleInListView(false)]
        [Phone]
        public string Telephone { get; set; }
        [Phone]
        public string CellNumber { get; set; }
        public virtual User User { get; set; }
        #endregion Properties

        public override string ToString()
        {
            return $"{Name} {Surname}";
        }
    }
}