using Marco.Pms.Model.Employees; using Marco.Pms.Model.Master; using Marco.Pms.Model.Utilities; using Microsoft.AspNetCore.Mvc.ModelBinding.Validation; using System.ComponentModel.DataAnnotations.Schema; namespace Marco.Pms.Model.Inventory { public class ProductDetail : TenantRelation { public Guid Id { get; set; } public string Name { get; set; } = default!; public string Description { get; set; } = default!; public string ProductUId { get; set; } = "PGM-PDT-00001"; public string? ModelNumber { get; set; } public Guid? ProductAttributeId { get; set; } public Guid ProductId { get; set; } [ValidateNever] [ForeignKey("ProductId")] public Product? Product { get; set; } public Guid TechnicalUnitId { get; set; } [ValidateNever] [ForeignKey("TechnicalUnitId")] public TechnicalUnit? TechnicalUnit { get; set; } public Guid ManufacturerId { get; set; } [ValidateNever] [ForeignKey("ManufacturerId")] public Manufacturer? Manufacturer { get; set; } public double BasePrice { get; set; } public Guid CurrencyId { get; set; } [ValidateNever] [ForeignKey("CurrencyId")] public CurrencyMaster? Currency { get; set; } public Guid CountryId { get; set; } [ValidateNever] [ForeignKey("CountryId")] public CountryMaster? Country { get; set; } public bool IsActive { get; set; } = true; public DateTime CreatedAt { get; set; } public Guid CreatedById { get; set; } [ValidateNever] [ForeignKey("CreatedById")] public Employee? CreatedBy { get; set; } public DateTime? UpdatedAt { get; set; } public Guid? UpdatedById { get; set; } [ValidateNever] [ForeignKey("UpdatedById")] public Employee? UpdatedBy { get; set; } } }