using SushiBarContracts.BindingModel; using SushiBarContracts.ViewModels; using SushiBarDataModels.Models; namespace SushiBarListImplements.Sushis { public class Sushi : ISushiModel { public int Id { get; private set; } public string SushiName { get; private set; } = string.Empty; public double Price { get; private set; } public Dictionary SushiComponents { get; private set; } = new Dictionary(); public static Sushi? Create(SushiBindingModel? model) { if (model == null) { return null; } return new Sushi() { Id = model.Id, SushiName = model.SushiName, Price = model.Price, SushiComponents = model.SushiComponents }; } public void Update(SushiBindingModel? model) { if (model == null) { return; } SushiName = model.SushiName; Price = model.Price; SushiComponents = model.SushiComponents; } public SushiViewModel GetViewModel => new() { Id = Id, SushiName = SushiName, Price = Price, SushiComponents = SushiComponents }; } }