UserEntity.cs 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. using System.ComponentModel.DataAnnotations;
  2. using System.ComponentModel.DataAnnotations.Schema;
  3. using System.Threading.Tasks;
  4. using MafiaTelegramBot.DataBase.EntityDao;
  5. namespace MafiaTelegramBot.DataBase.Entity
  6. {
  7. [Table("users")]
  8. public class UserEntity
  9. {
  10. [Key]
  11. [DatabaseGenerated(DatabaseGeneratedOption.None)]
  12. [Column("id")] public long Id { get; init; }
  13. [Column("chat_id")] public long ChatId { get; init; }
  14. [NotMapped] private string _username = "\\[NoUsername\\]";
  15. [Column("username")] public string Username
  16. {
  17. get => _username;
  18. set
  19. {
  20. var buff = _username;
  21. _username = value;
  22. if (buff != value && buff != "\\[NoUsername\\]") Task.Run(async () => await UserDao.Update(this));
  23. }
  24. }
  25. [Column("nickname")] public string NickName { get; set; } = "\\[NoNickname\\]";
  26. public async Task UpdateNickName(string newName)
  27. {
  28. var buff = NickName;
  29. NickName = newName;
  30. if (buff != newName && buff != "\\[NoNickname\\]")
  31. await UserDao.Update(this);
  32. }
  33. }
  34. }