using ModelTools.Attributes; using ModelTools.ViewModels; using System; namespace SecurityBusinessLogic.ViewModels { /// /// Список пользователей /// public class UserListViewModel : ListViewModel { } /// /// Элемент пользователей /// public class UserViewModel : ElementViewModel { [ViewModelProperty("Пользователь", true, true)] [MapConfiguration("UserName")] public string Login { get; set; } [ViewModelProperty("Студент", false, true)] [MapConfiguration("StudentId")] public Guid? StudentId { get; set; } [ViewModelProperty("Преподаватель", false, true)] [MapConfiguration("LecturerId")] public Guid? LecturerId { get; set; } [ViewModelProperty("Сотрудник", false, true)] [MapConfiguration("EmployeeId")] public Guid? EmployeeId { get; set; } [ViewModelProperty("Фото", false, true)] [MapConfiguration("Avatar")] public byte[] Avatar { get; set; } [ViewModelProperty("Посл. визит", true, false, 100)] [MapConfiguration("DateLastVisit")] public DateTime? DateLastVisit { get; set; } [ViewModelProperty("Блокировка", false, true)] [MapConfiguration("IsBanned")] public bool IsBanned { get; set; } [ViewModelProperty("Блокир.", true, false, 100)] public string Banned => IsBanned ? "Да" : "Нет"; [ViewModelProperty("Дата Б.", false, true, 100)] [MapConfiguration("DateBanned")] public DateTime? DateBanned { get; set; } [ViewModelProperty("Дата Б.", true, false, 100)] public string DateBannedTitle => DateBanned.HasValue ? DateBanned.Value.ToShortDateString() : string.Empty; [ViewModelProperty("Количество попыток входа", false, false)] [MapConfiguration("CountAttempt")] public int CountAttempt { get; set; } public override string ToString() => Login; } }