using ForumContracts.BindingModels; using ForumContracts.ViewModels; using ForumDataModels.Models; using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; using System.Linq; using System.Reflection; using System.Text; using System.Threading.Tasks; namespace ForumDatabaseImplement.Models { public class Category : ICategoryModel { [Required] public string Name { get; set; } = string.Empty; [Required] public string Description { get; set; } = string.Empty; public int Id { get; set; } [ForeignKey("CategoryId")] public virtual List Questions { get; set; } = new(); public static Category? Create(CategoryBindingModel model) { if (model == null) { return null; } return new Category() { Id = model.Id, Name = model.Name, Description = model.Description }; } public static Category Create(CategoryViewModel model) { return new Category { Id = model.Id, Name = model.Name, Description = model.Description }; } public void Update(CategoryBindingModel model) { if (model == null) { return; } Name = model.Name; Description = model.Description; } public CategoryViewModel? GetViewModel() { return new() { Id = Id, Name = Name, Description = Description }; } } }