FlexitimeTracker/FlexitimeUI/Flexitime.Objects/User.cs
2023-04-11 20:17:20 +01:00

61 lines
1.7 KiB
C#

using System;
using System.Collections.Generic;
namespace Flexitime.Objects
{
public class User
{
public User()
{
AssociatedIdentifiers = new List<Identifier>();
Groups = new List<Group>();
Permissions = new List<Permission>();
FirstName = string.Empty;
LastName = string.Empty;
DirectReportIds = new List<int>();
Team = null;
}
public Guid Id { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public float HoursPerWeek { get; set; }
public bool IsContractor { get; set; }
public int AssociatedIdentifierCount => AssociatedIdentifiers.Count;
public DateTime LastEventDateTime { get; set; }
public List<Identifier> AssociatedIdentifiers { get; set; }
public List<Group> Groups { get; set; }
/// <summary>
/// user that belongs to team
/// </summary>
/// <remarks>differs from Groups in that a group is a symbolic collection where a team is a publically identifiable entity</remarks>
public Team Team { get; set; }
public UserState State { get; set; }
/// <summary>
/// Id of the Users Line Manager
/// </summary>
public User LineManager { get; set; }
/// <summary>
/// Ids of the users direct reports
/// </summary>
public List<int> DirectReportIds { get; set; }
public string UserName { get; set; }
public string Password { get; set; }
public List<Permission> Permissions { get; set; }
}
}