using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace AutoServiceWinForms.Models
{
public enum RequestStatus
{
Новая, Принята_в_работу, В_работе, Ожидание_запчастей,
Контроль_качества, Готова_к_выдаче, Выдана, Закрыта, Отменена
}
public class ServiceRequest
{
[Key]
public int Id { get; set; }
[MaxLength(20)]
public string RequestNumber { get; set; } = string.Empty;
[Required(ErrorMessage = "Описание обязательно")]
[MaxLength(1000)]
public string Description { get; set; } = string.Empty;
public RequestStatus Status { get; set; } = RequestStatus.Новая;
[Column(TypeName = "decimal(18,2)")]
public decimal EstimatedCost { get; set; }
public DateTime CreatedAt { get; set; } = DateTime.Now;
public DateTime? DesiredDate { get; set; }
public string? MasterNotes { get; set; }
[ForeignKey("Vehicle")]
public int VehicleId { get; set; }
public Vehicle? Vehicle { get; set; }
public void GenerateNumber()
{
RequestNumber = $"AS-{DateTime.Now:yyyyMMdd}-{Id:D4}";
}
}
}