using System.ComponentModel.DataAnnotations;
using TecniStamp.Domain;

namespace TecniStamp.Model;

public class MacchinarioViewModel : BaseViewModel
{
    [Required(ErrorMessage = "Il nome è obbligatorio")]
    public string Nome { get; set; }

    [Required(ErrorMessage = "La descrizione è obbligatoria")]
    public string Descrizione { get; set; }

    public override void Validate()
    {
    }

    public static implicit operator MacchinarioViewModel(Macchinario model)
    {
        return model == null
            ? null
            : new MacchinarioViewModel()
            {
                Id = model.Id,
                Descrizione = model.Descrizione,
                Nome = model.Nome,
            };
    }
    
    public Macchinario Map(Macchinario model)
    {
        model.Descrizione = Descrizione;
        model.Nome = Nome;
            
        return model;
    }
}