using PolyclinicContracts.BindingModels; using PolyclinicContracts.ViewModels; using PolyclinicDataModels.Enums; using PolyclinicDataModels.Models; using System.ComponentModel.DataAnnotations; namespace PolyclinicDatabaseImplement.Models { public class User : IUserModel { [Required] public string FIO { get; private set; } = string.Empty; [Required] public string Email { get; private set; } = string.Empty; [Required] public string Password { get; private set; } = string.Empty; [Required] public UserRole Role { get; private set; } = UserRole.Неизвестный; public int Id { get; private set; } public static User? Create(UserBindingModel? model) { if (model == null) { return null; } return new User { FIO = model.FIO, Email = model.Email, Password = model.Password, Role = model.Role, Id = model.Id }; } public void Update(UserBindingModel? model) { if (model == null) { return; } FIO = model.FIO; Email = model.Email; Password = model.Password; Role = model.Role; FIO = model.FIO; } public UserViewModel GetViewModel => new() { FIO = FIO, Email = Email, Password = Password, Role = Role, Id = Id }; } }