using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations; using System.Linq; using System.Text; using System.Threading.Tasks; using TaskTrackerContracts.BindingModels; using TaskTrackerContracts.ViewModels; using TaskTrackerDataModels.Models; namespace TaskTrackerDatabase.Models { public class Exam : IExamModel { public int Id { get; set; } [Required] public int SubjectId { get; set; } [Required] public DateTime Date { get; set; } public virtual Subject Subject { get; set; } public static Exam? Create(ExamBindingModel? model) { if (model == null) { return null; } return new Exam() { Id = model.Id, SubjectId = model.SubjectId, Date = model.Date, }; } public void Update(ExamBindingModel? model) { if (model == null) { return; } Date = model.Date; } public ExamViewModel GetViewModel => new() { Id = Id, SubjectId = SubjectId, Date = Date, }; } }