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 ClientId { get; set; } [Required] public string CreditName { get; set; } = string.Empty; [Required] public double CreditPrice { get; set; } public virtual Client Headwaiters { get; set; } [ForeignKey("CreditId")] public virtual List<RoomCredit> RoomCredits { get; set; } [ForeignKey("CreditcId")] public virtual List<ConferenceBookingDinner> ConferenceBookingCredits { get; set; } public static Credit? Create(CreditBindingModel model) { if (model == null) { return null; } return new Credit() { Id = model.Id, CreditName = model.CreditName, CreditPrice = model.CreditPrice }; } public static Credit Create(CreditViewModel model) { return new Credit { Id = model.Id, CreditName = model.CreditName, CreditPrice = model.CreditPrice }; } public void Update(CreditBindingModel model) { if (model == null) { return; } CreditName = model.CreditName; CreditPrice = model.CreditPrice; } public CreditViewModel GetViewModel => new() { Id = Id, CreditName = CreditName, CreditPrice = CreditPrice }; } }