50 lines
1.8 KiB
C#

using Marco.Pms.Model.Employees;
using Marco.Pms.Model.Projects;
using Marco.Pms.Model.Utilities;
using Microsoft.AspNetCore.Mvc.ModelBinding.Validation;
using System.ComponentModel.DataAnnotations.Schema;
namespace Marco.Pms.Model.Inventory
{
public class PurchaseOrder : TenantRelation
{
public Guid Id { get; set; }
public Guid ItemSupplierMappingId { get; set; }
[ValidateNever]
[ForeignKey("ItemSupplierMappingId")]
public ItemSupplierMapping? ItemSupplierMapping { get; set; }
public Guid ProjectId { get; set; }
[ValidateNever]
[ForeignKey("ProjectId")]
public Project? Project { get; set; }
public Guid RequisitionBatchId { get; set; }
public int NumberOfItems { get; set; }
public double PricePerItem { get; set; }
public double TotalBasePrice { get; set; }
public double TotalTaxPrice { get; set; }
public double TotalDiscountPrice { get; set; }
public double TotalPrice { get; set; }
public Guid PurchaseOrderStatusId { get; set; }
[ValidateNever]
[ForeignKey("PurchaseOrderStatusId")]
public PurchaseOrderStatus? PurchaseOrderStatus { get; set; }
public Guid BatchId { get; set; }
public string PurchaseOrderUId { get; set; } = "PO-00001";
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; }
}
}