using ComputerShopDataModels.Enums;
using ComputerShopDataModels.Models;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json;

namespace ComputerShopContracts.ViewModels
{
    public class OrderViewModel : IOrderModel
    {
        [DisplayName("Сумма")]
        public double Sum { get; set; }

        [DisplayName("Статус")]
        public OrderStatus Status { get; set; } = OrderStatus.Неизвестен;

        [DisplayName("Дата создания")]
        public DateTime DateCreate { get; set; } = DateTime.Now;
        public Dictionary<int, (IAssemblyModel, int)> OrderAssemblies
		{
            get;
            set;
        } = new();

        [DisplayName("Дата выполнения")]
        public DateTime? DateImplement { get; set; }

        [DisplayName("Номер")]
        public int Id { get; set; }
        public int ClientId { get; set; }

        [DisplayName("ФИО клиента")]
        public string ClientFIO { get; set; } = string.Empty;


        public OrderViewModel() { }

        [JsonConstructor]
        public OrderViewModel(Dictionary<int, (IAssemblyModel, int)> OrderAssemblies)
        {
            this.OrderAssemblies = OrderAssemblies;
        }
    }
}
