You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

80 lines
2.4 KiB
C#

using System;
using System.Collections.Generic;
namespace Haoliang.Models.User
{
public class User
{
public int Id { get; set; }
public string Username { get; set; }
public string PasswordHash { get; set; }
public string RealName { get; set; }
public string Email { get; set; }
public string Phone { get; set; }
public int RoleId { get; set; }
public bool IsActive { get; set; }
public DateTime? LastLoginTime { get; set; }
public DateTime CreatedAt { get; set; }
public DateTime UpdatedAt { get; set; }
public Role Role { get; set; }
}
public class Role
{
public int Id { get; set; }
public string RoleName { get; set; }
public string Description { get; set; }
public List<string> Permissions { get; set; }
public DateTime CreatedAt { get; set; }
public DateTime UpdatedAt { get; set; }
}
public class Employee
{
public int Id { get; set; }
public string EmployeeCode { get; set; }
public string Name { get; set; }
public string Department { get; set; }
public string Position { get; set; }
public List<int> AssignedDevices { get; set; }
public DateTime CreatedAt { get; set; }
public DateTime UpdatedAt { get; set; }
}
public class DeviceAssignment
{
public int Id { get; set; }
public int DeviceId { get; set; }
public int EmployeeId { get; set; }
public DateTime AssignmentDate { get; set; }
public DateTime? EndDate { get; set; }
public DateTime CreatedAt { get; set; }
}
public class LoginRequest
{
public string Username { get; set; }
public string Password { get; set; }
}
public class LoginResponse
{
public bool Success { get; set; }
public string Token { get; set; }
public User User { get; set; }
public string Message { get; set; }
}
public class UserViewModel
{
public int Id { get; set; }
public string Username { get; set; }
public string RealName { get; set; }
public string Email { get; set; }
public string Phone { get; set; }
public string RoleName { get; set; }
public bool IsActive { get; set; }
public DateTime? LastLoginTime { get; set; }
public DateTime CreatedAt { get; set; }
}
}