26ff8d9b4f
Set up repository with legacy .NET Framework 4.8 source (OLD/), new .NET 10 Blazor solution (NEW/), OpenSpec specifications, documentation, and project configuration.
55 lines
1.4 KiB
C#
55 lines
1.4 KiB
C#
namespace JdeScoping.Core.Models;
|
|
|
|
/// <summary>
|
|
/// Authenticated user information entity (replaces legacy LDAPEntry)
|
|
/// </summary>
|
|
public class UserInfo
|
|
{
|
|
/// <summary>
|
|
/// LDAP Distinguished Name
|
|
/// </summary>
|
|
public string Dn { get; set; } = string.Empty;
|
|
|
|
/// <summary>
|
|
/// User's login username
|
|
/// </summary>
|
|
public string Username { get; set; } = string.Empty;
|
|
|
|
/// <summary>
|
|
/// User's first name
|
|
/// </summary>
|
|
public string FirstName { get; set; } = string.Empty;
|
|
|
|
/// <summary>
|
|
/// User's last name
|
|
/// </summary>
|
|
public string LastName { get; set; } = string.Empty;
|
|
|
|
/// <summary>
|
|
/// User's display name (computed property)
|
|
/// Falls back to Username if FirstName and LastName are both empty
|
|
/// </summary>
|
|
public string DisplayName
|
|
{
|
|
get
|
|
{
|
|
if (string.IsNullOrEmpty(LastName) && string.IsNullOrEmpty(FirstName))
|
|
{
|
|
return Username;
|
|
}
|
|
|
|
return $"{FirstName} {LastName}".Trim();
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// User's organization title
|
|
/// </summary>
|
|
public string Title { get; set; } = string.Empty;
|
|
|
|
/// <summary>
|
|
/// User's email address
|
|
/// </summary>
|
|
public string EmailAddress { get; set; } = string.Empty;
|
|
}
|