58 lines
1.6 KiB
C#

using SYBDContracts.BindingModels;
using SYBDContracts.ViewModels;
using SYBDDataModels.Models;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace SYBDDatabaseImplement.Models
{
public class Worker : IWorkerModel
{
public int Id { get; set; }
[Required]
public string Fullname { get; set; } = string.Empty;
[Required]
public string Address { get; set; } = string.Empty;
[Required]
public int Salary { get; set; }
[ForeignKey("WorkerId")]
public virtual List<Order> Orders { get; set; } = new();
public static Worker Create(WorkerViewModel model)
{
return new Worker
{
Id = model.Id,
Fullname = model.Fullname,
Address = model.Address,
Salary = model.Salary,
};
}
public static Worker? Create(WorkerBindingModel model)
{
return new Worker()
{
Id = model.Id,
Fullname = model.Fullname,
Address = model.Address,
Salary = model.Salary,
};
}
public void Update(WorkerBindingModel model)
{
Fullname = model.Fullname;
Address = model.Address;
Salary = model.Salary;
}
public WorkerViewModel GetViewModel => new()
{
Id = Id,
Fullname = Fullname,
Address = Address,
Salary = Salary
};
}
}