61 lines
1.7 KiB
C#
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; }
|
|
}
|
|
} |