using HospitalContracts.BindingModels; using HospitalContracts.ViewModels; using HospitalDataModels.Models; using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations.Schema; using System.ComponentModel.DataAnnotations; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Xml.Linq; namespace HospitalDataBaseImplements.Models { public class Symptoms : ISymptomsModel { public int Id { get; private set; } [Required] public string SymptomName { get; set; } = string.Empty; public string? Description { get; set; } = string.Empty; public virtual List IllnessSymptomses { get; set; } = new(); public static Symptoms? Create(SymptomsBindingModel model) { if (model == null) { return null; } return new Symptoms() { Id = model.Id, SymptomName = model.SymptomName, Description = model.Description }; } public static Symptoms Create(SymptomsViewModel model) { return new Symptoms { Id = model.Id, SymptomName = model.SymptomName, Description = model.Description }; } public static Symptoms? Create(XElement element) { if (element == null) { return null; } return new Symptoms() { SymptomName = element.Element("SymptomName")!.Value, Description = element.Element("Description")!.Value }; } public void Update(SymptomsBindingModel model) { if (model == null) { return; } SymptomName = model.SymptomName; Description = model.Description; } public SymptomsViewModel GetViewModel => new() { Id = Id, SymptomName = SymptomName, Description = Description }; } }