using Contracts.BindingModel; using Contracts.ViewModel; using DataModels.Models; using Microsoft.EntityFrameworkCore.Infrastructure; using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; using System.Linq; using System.Text; using System.Threading.Tasks; namespace DatabaseImplement.Models { public class LabWork : ILabWork { public int Id { get; set; } [Required] public string Theme { get; set; } = string.Empty; [Required] public string FCs { get; set; } [Required] public string Discipline { get; set; } [Required] public string Questions { get; set; } public static LabWork? Create(LabWorkBindingModel model) { if (model == null) { return null; } return new LabWork() { Id = model.Id, Theme = model.Theme, FCs = model.FCs, Discipline = model.Discipline, Questions = model.Questions }; } public void Update(LabWorkBindingModel? model) { if (model == null) { return; } Id = model.Id; Theme = model.Theme; FCs = model.FCs; Discipline = model.Discipline; Questions = model.Questions; } public LabWorkViewModel GetViewModel => new() { Id = Id, Theme = Theme, FCs = FCs, Discipline = Discipline, Questions = Questions }; } }