using AbstractIceCreamShopDataModels.Models;
using IceCreamShopContracts.Attributes;
using IceCreamShopContracts.Attributes;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace IceCreamShopContracts.ViewModels
{
    public class ShopViewModel : IShopModel
    {
        [Column(visible: false)]
        public int Id { get; set; }

        [Column("Название магазина", gridViewAutoSize: GridViewAutoSize.AllCells, isUseAutoSize: true)]
        public string Name { get; set; } = string.Empty;

        [Column("Адрес", gridViewAutoSize: GridViewAutoSize.Fill, isUseAutoSize: true)]
        public string Adress { get; set; } = string.Empty;

        [Column("Дата открытия", gridViewAutoSize: GridViewAutoSize.AllCells, isUseAutoSize: true, format: "f")]
        public DateTime OpeningDate { get; set; }

        [Column("Вместимость магазина", gridViewAutoSize: GridViewAutoSize.DisplayedCells, isUseAutoSize: true)]
        public int IceCreamMaxCount { get; set; }

        [Column(visible: false)]
        public Dictionary<int, (IIceCreamModel, int)> ShopIceCreams { get; set; } = new();
    }
}
