using IceCreamShopContracts.BindingModels; using IceCreamShopContracts.ViewModels; using IceCreamShopDataModels.Models; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Xml.Linq; namespace IceCreamShopListImplement.Models { public class Shop : IShopModel { public int Id { get; private set; } public string ShopName { get; private set; } public string Address { get; private set; } public DateTime DateOpen { get; private set; } public int MaxCapacity { get; private set; } public Dictionary ShopIceCreams { get; private set; } = new(); public static Shop? Create (ShopBindingModel model) { if (model == null) return null; return new Shop() { Id = model.Id, ShopName = model.ShopName, Address = model.Address, DateOpen = model.DateOpen, ShopIceCreams = new() }; } public void Update(ShopBindingModel? model) { if (model == null) { return; } ShopName = model.ShopName; Address = model.Address; DateOpen = model.DateOpen; ShopIceCreams = model.ShopIceCreams; } public ShopViewModel GetViewModel => new() { Id = Id, ShopName = ShopName, Address = Address, DateOpen = DateOpen, ShopIceCreams = ShopIceCreams }; } }