Files
StandManager/StandManager/Model/UtenteViewModel.cs
2025-12-23 08:14:28 +01:00

49 lines
1.6 KiB
C#

using StandManager.Domain.Entita;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace StandManager.Model
{
public class UtenteViewModel
{
public Guid Id { get; set; }
public string Username { get; set; }
[Required]
[EmailAddress(ErrorMessage = "Email non valida")]
public string Email { get; set; }
public string Password { get; set; }
[Required(ErrorMessage = "Il nome è obbligatorio")]
public string Nome { get; set; }
[Required(ErrorMessage = "Il cognome è obbligatorio")]
public string Cognome { get; set; }
public Guid RuoloId { get; set; }
public Guid CapoareaId { get; set; }
public bool IsCapoarea { get; set; }
public string Info => $"{Nome} {Cognome}";
public static implicit operator UtenteViewModel(Utente? model)
{
return model == null ? null : new UtenteViewModel
{
Id = model.Id,
Username = model.Username,
Email = model.Email,
Nome = model.Nome,
Cognome = model.Cognome,
RuoloId = model.Ruolo?.Id ?? Guid.Empty,
CapoareaId = model.Capoarea?.Id ?? Guid.Empty,
IsCapoarea = model.IsCapoarea
};
}
public Utente Map(Utente model)
{
model.Nome = Nome;
model.Cognome = Cognome;
model.Email = Email;
model.IsCapoarea = IsCapoarea;
return model;
}
}
}