using Furion.DatabaseAccessor;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Metadata.Builders;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace Admin.NET.Core
{
///
/// 单据表
///
[Table("wms_order")]
[Comment("单据表")]
public class WmsOrder : DEntityBase, IEntityTypeBuilder
{
///
/// Billdate
///
[Comment("单据大类")]
[Required]
public long OrderLargeCategory { get; set; }
///
/// 单据小类
///
[Comment("单据小类")]
[Required]
public long OrderSubclass { get; set; }
///
/// 上位系统单据唯一识别码
///
[Comment("上位系统单据唯一识别码")]
public long SOID { get; set; }
///
/// 单据编号
///
[Comment("单据编号")]
[Required]
[MaxLength(255)]
public string NO { get; set; }
///
/// 创建日期
///
[Comment("创建日期")]
public DateTimeOffset? Billdate { get; set; }
///
/// 送货通知单号
///
[Comment("送货通知单号")]
[MaxLength(255)]
public string SourceBillNo { get; set; }
///
/// 供应商编码
///
[Comment("供应商编码")]
[MaxLength(255)]
public string Vendorcode { get; set; }
///
/// 供应商名称
///
[Comment("供应商名称")]
[MaxLength(255)]
public string Vendorname { get; set; }
///
/// 公司名称
///
[Comment("公司名称")]
[MaxLength(255)]
public string Companyname { get; set; }
///
/// 仓管员
///
[Comment("仓管员")]
[MaxLength(255)]
public string WarehouseKeepername { get; set; }
///
/// 贸易方式
///
[Comment("贸易方式")]
public TradeMode TradeMode { get; set; }
///
/// 仓储中心
///
[Comment("仓储中心")]
[MaxLength(255)]
public string WarehouseCentername { get; set; }
///
/// 仓间
///
[Comment("仓间")]
[MaxLength(255)]
public string StoreRoomname { get; set; }
///
/// 报关单号
///
[Comment("报关单号")]
[MaxLength(255)]
public string DeclarationCode { get; set; }
///
/// 专业
///
[Comment("专业")]
[MaxLength(255)]
public string Majorname { get; set; }
///
/// 备注
///
[Comment("备注")]
[MaxLength(500)]
public string Remarks { get; set; }
///
/// 单据状态
///
[Comment("单据状态")]
[Required]
public OrderStatusEnum OrderStatus { get; set; } = OrderStatusEnum.WEIXIAFA;
///
/// 单据明细
///
public ICollection WareOrderDetails { get; set; }
///
/// 1对多配置关系
///
///
///
///
public void Configure(EntityTypeBuilder entityBuilder, DbContext dbContext, Type dbContextLocator)
{
// 一对多配置
entityBuilder.HasMany(x => x.WareOrderDetails)
.WithOne(x => x.WareOrder)
.HasForeignKey(x => x.OrderId);
}
}
}