using BankContracts.BindingModels; using BankContracts.ViewModels; using BankDataModels.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 BankDataBaseImplement.Models { public class Credit : ICreditModel { public int Id { get; set; } public int HeadwaiterId { get; set; } [Required] public string DinnerName { get; set; } = string.Empty; [Required] public double DinnerPrice { get; set; } public virtual Client Headwaiters { get; set; } [ForeignKey("DinnerId")] public virtual List RoomDinners { get; set; } [ForeignKey("DinnercId")] public virtual List ConferenceBookingDinners { get; set; } public static Credit? Create(CreditBindingModel model) { if (model == null) { return null; } return new Credit() { Id = model.Id, DinnerName = model.DinnerName, DinnerPrice = model.DinnerPrice }; } public static Credit Create(CreditViewModel model) { return new Credit { Id = model.Id, DinnerName = model.DinnerName, DinnerPrice = model.DinnerPrice }; } public void Update(CreditBindingModel model) { if (model == null) { return; } DinnerName = model.DinnerName; DinnerPrice = model.DinnerPrice; } public CreditViewModel GetViewModel => new() { Id = Id, DinnerName = DinnerName, DinnerPrice = DinnerPrice }; } }