UserSession.cs 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. namespace TransportMauiApp.Models;
  2. public sealed class UserSession
  3. {
  4. public int UserId { get; set; }
  5. public string Login { get; set; } = string.Empty;
  6. public int? RoleId { get; set; }
  7. public string RoleName { get; set; } = string.Empty;
  8. public bool IsAdministrator
  9. {
  10. get
  11. {
  12. var normalizedRole = RoleName.Trim().ToLowerInvariant();
  13. return normalizedRole is "admin" or "administrator" or "администратор"
  14. || normalizedRole.Contains("admin")
  15. || normalizedRole.Contains("админ")
  16. || (RoleId == 1 && string.IsNullOrWhiteSpace(RoleName));
  17. }
  18. }
  19. public string DisplayRole
  20. {
  21. get
  22. {
  23. if (IsAdministrator)
  24. {
  25. return "Администратор";
  26. }
  27. var normalizedRole = RoleName.Trim().ToLowerInvariant();
  28. if (normalizedRole is "manager" or "менеджер" || normalizedRole.Contains("manager") || normalizedRole.Contains("менедж"))
  29. {
  30. return "Менеджер";
  31. }
  32. return string.IsNullOrWhiteSpace(RoleName) ? $"Роль #{RoleId}" : RoleName;
  33. }
  34. }
  35. }