using BarContracts.Attrubites;
using BarDataModels.Enums;
using BarDataModels.Models;

namespace BarContracts.ViewModels
{
	public class OrderViewModel : IOrderModel
    {
		[Column(Title: "Номер", GridViewAutoSize: GridViewAutoSize.AllCells, IsUseAutoSize: true)]
		public int Id { get; set; }

		[Column(Visible: false)]
		public int CocktailId { get; set; }

		[Column(Title: "Коктейль", GridViewAutoSize: GridViewAutoSize.AllCells, IsUseAutoSize: true)]
		public string CocktailName { get; set; } = string.Empty;

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

		[Column(Title: "Клиент", Width: 120)]
		public string ClientFIO { get; set; } = string.Empty;

		[Column(Title: "Почта клиента", Width: 190)]
		public string ClientEmail { get; set; } = string.Empty;

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

		[Column(Title: "Исполнитель", Width: 120)]
		public string? ImplementerFIO { get; set; }

		[Column(Title: "Количество", Width: 100)]
		public int Count { get; set; }

		[Column(Title: "Сумма", Width: 75)]
		public double Sum { get; set; }

		[Column(Title: "Статус", Width: 70)]
		public OrderStatus Status { get; set; } = OrderStatus.Undefined;

		[Column(Title: "Дата создания", Width: 120)]
		public DateTime DateCreate { get; set; } = DateTime.Now;

		[Column(Title: "Дата выполнения", Width: 120)]
		public DateTime? DateImplement { get; set; }
    }
}
