2021-08-09 15:41:42 +05:00
|
|
|
|
using Microsoft.EntityFrameworkCore;
|
|
|
|
|
using System.Collections.Generic;
|
2021-04-02 17:28:07 +05:00
|
|
|
|
using System.ComponentModel.DataAnnotations;
|
|
|
|
|
using System.ComponentModel.DataAnnotations.Schema;
|
|
|
|
|
|
|
|
|
|
#nullable disable
|
|
|
|
|
|
|
|
|
|
namespace AsbCloudDb.Model
|
|
|
|
|
{
|
|
|
|
|
[Table("t_user"), Comment("Пользователи облака")]
|
2021-04-23 10:21:25 +05:00
|
|
|
|
public partial class User : IId
|
2021-04-02 17:28:07 +05:00
|
|
|
|
{
|
|
|
|
|
[Key]
|
|
|
|
|
[Column("id")]
|
|
|
|
|
public int Id { get; set; }
|
|
|
|
|
|
2021-07-21 12:30:51 +05:00
|
|
|
|
[Column("id_company")]
|
|
|
|
|
public int? IdCompany { get; set; }
|
2021-04-02 17:28:07 +05:00
|
|
|
|
|
|
|
|
|
[Column("id_role")]
|
|
|
|
|
public int? IdRole { get; set; }
|
|
|
|
|
|
|
|
|
|
[Column("login")]
|
|
|
|
|
[StringLength(255)]
|
|
|
|
|
public string Login { get; set; }
|
|
|
|
|
|
|
|
|
|
[Column("password_hash"), Comment("соленый хэш пароля.\nпервые 5 символов - соль")]
|
|
|
|
|
[StringLength(255)]
|
|
|
|
|
public string PasswordHash { get; set; }
|
|
|
|
|
|
|
|
|
|
[Column("state"), Comment("состояние:\n100 - удален")]
|
|
|
|
|
public short? State { get; set; }
|
|
|
|
|
|
|
|
|
|
[Column("level")]
|
|
|
|
|
public int? Level { get; set; }
|
|
|
|
|
|
2021-04-23 10:21:25 +05:00
|
|
|
|
[Column("name"), Comment("имя")]
|
2021-04-02 17:28:07 +05:00
|
|
|
|
[StringLength(255)]
|
|
|
|
|
public string Name { get; set; }
|
|
|
|
|
|
2021-04-23 10:21:25 +05:00
|
|
|
|
[Column("surname"), Comment("фамилия")]
|
2021-04-02 17:28:07 +05:00
|
|
|
|
[StringLength(255)]
|
|
|
|
|
public string Surname { get; set; }
|
|
|
|
|
|
2021-04-23 10:21:25 +05:00
|
|
|
|
[Column("patronymic"), Comment("отчество")]
|
2021-04-02 17:28:07 +05:00
|
|
|
|
[StringLength(255)]
|
|
|
|
|
public string Patronymic { get; set; }
|
|
|
|
|
|
2021-09-07 14:42:56 +05:00
|
|
|
|
[Column("email"), Comment("должность")]
|
|
|
|
|
[StringLength(255)]
|
|
|
|
|
public string Email { get; set; }
|
|
|
|
|
|
|
|
|
|
[Column("phone"), Comment("номер телефона")]
|
|
|
|
|
[StringLength(50)]
|
|
|
|
|
public string Phone { get; set; }
|
|
|
|
|
|
|
|
|
|
[Column("position"), Comment("email")]
|
|
|
|
|
[StringLength(255)]
|
|
|
|
|
public string Position { get; set; }
|
|
|
|
|
|
|
|
|
|
|
2021-07-21 12:30:51 +05:00
|
|
|
|
[ForeignKey(nameof(IdCompany))]
|
|
|
|
|
[InverseProperty(nameof(Model.Company.Users))]
|
|
|
|
|
public virtual Company Company { get; set; }
|
2021-04-02 17:28:07 +05:00
|
|
|
|
|
|
|
|
|
[ForeignKey(nameof(IdRole))]
|
|
|
|
|
[InverseProperty(nameof(Model.UserRole.Users))]
|
|
|
|
|
public virtual UserRole Role { get; set; }
|
2021-04-23 10:21:25 +05:00
|
|
|
|
|
2021-08-13 17:26:19 +05:00
|
|
|
|
|
|
|
|
|
[InverseProperty(nameof(Model.FileInfo.Author))]
|
|
|
|
|
public virtual ICollection<FileInfo> Files { get; set; }
|
2021-07-27 16:55:32 +05:00
|
|
|
|
|
2021-04-23 10:21:25 +05:00
|
|
|
|
public string MakeDisplayName()
|
|
|
|
|
{
|
|
|
|
|
if (string.IsNullOrEmpty(Surname))
|
|
|
|
|
return Login;
|
|
|
|
|
|
|
|
|
|
var s = Surname;
|
|
|
|
|
if (!string.IsNullOrEmpty(Name))
|
|
|
|
|
{
|
|
|
|
|
s += $"{Name[0]}.";
|
|
|
|
|
if (!string.IsNullOrEmpty(Patronymic))
|
|
|
|
|
s += $" {Patronymic[0]}.";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return s;
|
|
|
|
|
}
|
2021-04-02 17:28:07 +05:00
|
|
|
|
}
|
|
|
|
|
}
|