using GiftShopContracts.BindingModels; using GiftShopContracts.ViewModels; using GiftShopDataModels.Models; namespace GiftShopListImplement.Models { internal class Gift : IGiftModel { public int Id { get; private set; } public string GiftName { get; private set; } = string.Empty; public double Price { get; private set; } public Dictionary GiftComponents { get; private set; } = new Dictionary(); public static Gift? Create(GiftBindingModel? model) { if (model == null) { return null; } return new Gift() { Id = model.Id, GiftName = model.GiftName, Price = model.Price, GiftComponents = model.GiftComponents }; } public void Update(GiftBindingModel? model) { if (model == null) { return; } GiftName = model.GiftName; Price = model.Price; GiftComponents = model.GiftComponents; } public GiftViewModel GetViewModel => new() { Id = Id, GiftName = GiftName, Price = Price, GiftComponents = GiftComponents }; } }