using System;
using System.ComponentModel.DataAnnotations;

namespace Fab2ApprovalSystem.Models;

public class LoginModel {
    [Key]
    public int UserID { get; set; }

    [Required]
    [Display(Name = "Login ID")]
    public string LoginID { get; set; }

    [DataType(DataType.Password)]
    [Display(Name = "Password")]
    public string Password { get; set; }
    public string FirstName { get; set; }
    public string LastName { get; set; }
    public string FullName { get; set; }
    public bool IsAdmin { get; set; }
    public bool IsManager { get; set; }
    public bool IsActive { get; set; }
    public DateTime? LastLogin { get; set; }
    public bool OOO { get; set; }
    public DateTime? OOOStartDate { get; set; }
    public DateTime? OOOExpirationDate { get; set; }
    public int DelegatedTo { get; set; }
    public string Email { get; set; }

    [Display(Name = "Delegated To")]
    public string DelegatedToFullName { get; set; }

    [Display(Name = "OOO Action")]
    public virtual string OOOStatusWithUserID {
        get {
            return UserID.ToString() + "~" + (OOO ? "1" : "0") + "~" + FullName;
        }
    }

}

public class UserProfile {

    public int UserId { get; set; }
    public string FullName { get; set; }

}