62 lines
1.7 KiB
C#

using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using TransportCompanyContracts.BindingModels;
using TransportCompanyContracts.ViewModels;
using TransportCompanyDataModels.Models;
namespace TransportCompanyDatabaseImplement.Models
{
public class Driver : IDriverModel
{
public int Id { get; private set; }
[Required]
public string DriverFio { get; private set; } = string.Empty;
[Required]
public string PhoneNumber { get; private set; } = string.Empty;
[ForeignKey("DriverId")]
public virtual List<Transportation> Transportations { get; set; } = new();
public static Driver? Create(DriverBindingModel model)
{
if (model == null)
{
return null;
}
return new Driver()
{
Id = model.Id,
DriverFio = model.DriverFio,
PhoneNumber = model.PhoneNumber
};
}
public static Driver Create(DriverViewModel model)
{
return new Driver
{
Id = model.Id,
DriverFio = model.DriverFio,
PhoneNumber = model.PhoneNumber
};
}
public void Update(DriverBindingModel model)
{
if (model == null)
{
return;
}
DriverFio = model.DriverFio;
PhoneNumber = model.PhoneNumber;
}
public DriverViewModel GetViewModel => new()
{
Id = Id,
DriverFio = DriverFio,
PhoneNumber = PhoneNumber
};
}
}