UserModel.cs 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. using GreenTree.Strohrmann.ERP.Web.Models.Shared;
  2. using System;
  3. using System.Collections.Generic;
  4. using System.ComponentModel.DataAnnotations;
  5. using System.Linq;
  6. using System.Threading.Tasks;
  7. namespace GreenTree.Strohrmann.ERP.Web.Models.Rights.User
  8. {
  9. public class UserModel
  10. {
  11. #region Properties
  12. /// <summary>
  13. /// User Id
  14. /// </summary>
  15. [Display(Name = "ID")]
  16. public int? Id { get; set; }
  17. /// <summary>
  18. /// User accountname
  19. /// </summary>
  20. [Display(Name = "Kontoname")]
  21. public string Accountname { get; set; }
  22. /// <summary>
  23. /// User password (for creation)
  24. /// </summary>
  25. [Display(Name = "Passwort")]
  26. public string Password { get; set; }
  27. /// <summary>
  28. /// User forename
  29. /// </summary>
  30. [Display(Name = "Vorname")]
  31. public string Forename { get; set; }
  32. /// <summary>
  33. /// User lastname
  34. /// </summary>
  35. [Display(Name = "Nachname")]
  36. public string Lastname { get; set; }
  37. /// <summary>
  38. /// User mail address
  39. /// </summary>
  40. [Display(Name = "Mail-Adresse")]
  41. public string MailAddress { get; set; }
  42. /// <summary>
  43. /// User birthdate
  44. /// </summary>
  45. [Display(Name = "Geburtsdatum")]
  46. [DisplayFormat(ApplyFormatInEditMode = false, DataFormatString = "{0:dd.MM.yyyy}")]
  47. public DateTime Birthdate { get; set; }
  48. /// <summary>
  49. /// User activation status
  50. /// </summary>
  51. [Display(Name = "Aktiviert")]
  52. public bool Activated { get; set; }
  53. /// <summary>
  54. /// User policies
  55. /// </summary>
  56. [Display(Name = "Rechte")]
  57. public string[] Policies { get; set; }
  58. #endregion
  59. #region Ctor
  60. /// <summary>
  61. /// Initializes a new instance of the UserModel class
  62. /// </summary>
  63. public UserModel() { }
  64. /// <summary>
  65. /// Initializes a new instance of the UserModel class
  66. /// </summary>
  67. /// <param name="user">Base user entity.</param>
  68. public UserModel(Core.Domain.Rights.User user)
  69. {
  70. if (user == null) return;
  71. Id = user.Id;
  72. Accountname = user.Accountname;
  73. Forename = user.Forename;
  74. Lastname = user.Lastname;
  75. MailAddress = user.MailAddress;
  76. Birthdate = user.Birthdate.HasValue
  77. ? user.Birthdate.Value
  78. : DateTime.MinValue;
  79. Activated = user.Activated.Value;
  80. Policies = user.Policies
  81. .Select(up => up.PolicyName)
  82. .ToArray();
  83. }
  84. #endregion
  85. }
  86. }