using System; using System.Collections.Generic; namespace Flexitime.Objects { public class User { public User() { AssociatedIdentifiers = new List(); Groups = new List(); Permissions = new List(); FirstName = string.Empty; LastName = string.Empty; DirectReportIds = new List(); 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 AssociatedIdentifiers { get; set; } public List Groups { get; set; } /// /// user that belongs to team /// /// differs from Groups in that a group is a symbolic collection where a team is a publically identifiable entity public Team Team { get; set; } public UserState State { get; set; } /// /// Id of the Users Line Manager /// public User LineManager { get; set; } /// /// Ids of the users direct reports /// public List DirectReportIds { get; set; } public string UserName { get; set; } public string Password { get; set; } public List Permissions { get; set; } } }