using System;

namespace OnlineSalesAutoCrop.CoreAPI.Models.Objects.Systems
{
	public class User
	{
		public const int SuperUser_Id = -9;
		public const string SuperUser_LoginId = "superuser";

		public int UserId { get; set; }
		public string LoginId { get; set; }
		public string Password { get; set; }	
		public DateTime? LogoutTime { get; set; }
		public string UserName { get; set; }
		public EnumStatus Status { get; set; }
		public EnumAccessStatus AccessStatus { get; set; }
		public bool NeverExpires { get; set; }
		public string LastPasswords { get; set; }
		public DateTime? LastPassChgDate { get; set; }
		public string EmailAddress { get; set; }
		public string AuthKey { get; set; }
		public string AuthValue { get; set; }
		public string MobileNo { get; set; }
		public string UnsuccessfulMsg { get; set; }
		public string ThemeName { get; set; }
		public string SchemeName { get; set; }
		public string MenuLayout { get; set; }
		public bool IsLocked { get; set; }

		public UserPlatFormType? UserPlatFormType { get; set; }
		public UserRoleTypeEnum? UserRoleType { get; set; }
		public string? EmployeeNumber { get; set; }
		public string? DesignationCode { get; set; }
		public string? DesignationName { get; set;  }
        public EnumLoginStatus LoginStatus { get; set;  }
		public DateTime? NextLoginTime { get; set; }	
    }

	public class LoginHistory
	{
		public int SlNo { get; set; }
		public string LoginIp { get; set; }
		public DateTime LoginTime { get; set; }
		public string LogoutIp { get; set; }
		public DateTime? LogoutTime { get; set; }
	}

	public class AccessLog
	{
		public int AccessLogId { get; set; }
		public int UserId { get; set; }
		public string LoginId { get; set; }
		public DateTime LoginTime { get; set; }
		public string LoginIp { get; set; }
		public DateTime? LogoutTime { get; set; }
		public string LogoutIp { get; set; }
        public EnumLoginStatus LoginStatus { get; set; }
    }

	public class UserForceLogout
	{
		public int UserId { get; set; }
		public string LoginId { get; set; }
		public string UserName { get; set; }
	}

	public class UserBasicInfo
	{
		public int UserId { get; set; }
		public string LoginId { get; set; }
		public string UserName { get; set; }
		public string Designation { get; set; }
	}
}

