PIbd-22_CourseWork_Hospital.../Polyclinic/HospitalDatabaseImplement/Models/Drug.cs

56 lines
1.5 KiB
C#
Raw Permalink Normal View History

2024-05-01 23:49:06 +04:00
using HospitalContracts.BindingModels;
using HospitalContracts.ViewModels;
using HospitalDataModels.Models;
using SecuritySystemDatabaseImplement;
using System.ComponentModel.DataAnnotations;
namespace HospitalDatabaseImplement.Models
{
public class Drug : IDrugModel
{
public int Id { get; set; }
[Required]
public string Name { get; set; } = string.Empty;
[Required]
public string Comment { get; set; } = string.Empty;
[Required]
public int ProcedureId { get; set; }
[Required]
public int? SymptomId { get; set; }
public virtual Symptom? Symptom { get; set; }
public virtual Procedure? Procedure { get; set; }
public static Drug Create(DrugBindingModel bindingModel)
{
return new Drug()
{
Id = bindingModel.Id,
Name = bindingModel.Name,
Comment = bindingModel.Comment,
ProcedureId = bindingModel.ProcedureId,
SymptomId = bindingModel.SymptomId
};
}
public void Update(DrugBindingModel bindingModel)
{
Name = bindingModel.Name;
Comment = bindingModel.Comment;
}
public DrugViewModel GetViewModel => new()
{
Id = Id,
Name = Name,
Comment = Comment,
ProcedureId = ProcedureId,
SymptomId = Symptom?.Id ?? null
};
}
}