using SushiBarDataModels.Enums;
using SushiBarDataModels;
using SushiBarContracts.Attributes;

namespace SushiBarContracts.ViewModels
{
    public class OrderViewModel : IOrderModel
    {
        [Column(title: "Номер", gridViewAutoSize: GridViewAutoSize.Fill, isUseAutoSize: true)]
        public int Id { get; set; }

        [Column(visible: false)]
        public int SushiId { get; set; }

        [Column(visible: false)]
        public int ClientId { get; set; }

        [Column(visible: false)]
        public int? ImplementerId { get; set; }

        [Column(title: "Имя клиента", width: 250)]
        public string ClientFIO { get; set; } = string.Empty;

        [Column(title: "Имя исполнителя", width: 150)]
        public string? ImplementerFIO { get; set; }

        [Column(title: "Суши", width: 100)]
        public string SushiName { get; set; } = string.Empty;

        [Column(title: "Количество", gridViewAutoSize: GridViewAutoSize.Fill, isUseAutoSize: true)]
        public int Count { get; set; }

        [Column(title: "Сумма", gridViewAutoSize: GridViewAutoSize.Fill, isUseAutoSize: true)]
        public double Sum { get; set; }


        [Column(title: "Статус", width: 80)]
        public OrderStatus Status { get; set; } = OrderStatus.Неизвестен;


        [Column(title: "Дата создания", gridViewAutoSize: GridViewAutoSize.Fill, isUseAutoSize: true)]
        public DateTime DateCreate { get; set; } = DateTime.Now;


        [Column(title: "Дата выполнения", gridViewAutoSize: GridViewAutoSize.Fill, isUseAutoSize: true)]
        public DateTime? DateImplement { get; set; }
    }
}