using HotelContracts.BindingModels; using HotelContracts.ViewModels; using HotelDataModels.Models; 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 HotelDataBaseImplement.Models { public class Dinner : IDinnerModel { public int Id { get; set; } public int HeadwaiterId { get; set; } [Required] public string DinnerName { get; set; } = string.Empty; [Required] public double DinnetPrice { get; set; } public virtual Headwaiter Headwaiters { get; set; } [ForeignKey("DinnerId")] public virtual List RoomDinners { get; set; } [ForeignKey("DinnercId")] public virtual List ConferenceBookingDinners { get; set; } public static Dinner? Create(DinnerBindingModel model) { if (model == null) { return null; } return new Dinner() { Id = model.Id, DinnerName = model.DinnerName, DinnetPrice = model.DinnetPrice }; } public static Dinner Create(DinnerViewModel model) { return new Dinner { Id = model.Id, DinnerName = model.DinnerName, DinnetPrice = model.DinnetPrice }; } public void Update(DinnerBindingModel model) { if (model == null) { return; } DinnerName = model.DinnerName; DinnetPrice = model.DinnetPrice; } public DinnerViewModel GetViewModel => new() { Id = Id, DinnerName = DinnerName, DinnetPrice = DinnetPrice }; } }