using PlumbingRepairContracts.Attributes;
using PlumbingRepairDataModels.Enums;
using PlumbingRepairDataModels.Models;
using System.ComponentModel;

namespace PlumbingRepairContracts.ViewModels
{
    public class OrderViewModel : IOrderModel
    {
		[Column("Номер", gridViewAutoSize: GridViewAutoSize.AllCells, isUseAutoSize: true)]
		public int Id { get; set; }
		[Column(visible: false)]
		public int WorkId { get; set; }
		[Column("Название изделия", gridViewAutoSize: GridViewAutoSize.AllCells, isUseAutoSize: true)]
		public string WorkName { get; set; } = string.Empty;
		[Column(visible: false)]
		public int ClientId { get; set; }
		[Column("ФИО клиента", gridViewAutoSize: GridViewAutoSize.AllCells, isUseAutoSize: true)]
		public string ClientFIO { get; set; } = string.Empty;
		[Column(visible: false)]
		public int? ImplementerId { get; set; }
		[Column("ФИО исполнителя", gridViewAutoSize: GridViewAutoSize.AllCells, isUseAutoSize: true)]
		public string ImplementerFIO { get; set; } = string.Empty;
		[Column("Количество", gridViewAutoSize: GridViewAutoSize.AllCells, isUseAutoSize: true)]
		public int Count { get; set; }
		[Column("Сумма", gridViewAutoSize: GridViewAutoSize.AllCells, isUseAutoSize: true)]
		public double Sum { get; set; }
		[Column("Статус", gridViewAutoSize: GridViewAutoSize.AllCells, isUseAutoSize: true)]
		public OrderStatus Status { get; set; } = OrderStatus.Неизвестен;
		[Column("Дата создания", width: 130)]
		public DateTime DateCreate { get; set; } = DateTime.Now;
		[Column("Дата выполнения", width: 130)]
		public DateTime? DateImplement { get; set; }
    }
}
