using System;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace CAPI.Custom.Entities
{
[Table("publ_InventoryManagement")]
public class InventoryManagement : ISurfacePublishedEntity, ISurfaceChildEntity
{
protected string _partNumber = string.Empty;
[Column("InventoryManagement_InventoryManagementLocation_InventoryManagementPartNumber")]
public string PartNumber
{
get { return _partNumber.ToUpperNonEmpty(); }
set { _partNumber = value.ToUpperNonEmpty(); }
}
protected string _uniqueNumber = string.Empty;
[Column("InventoryManagement_InventoryManagementLocation_InventoryManagementUniqueNumber")]
public string UniqueNumber
{
get { return _uniqueNumber.ToUpperNonEmpty(); }
set { _uniqueNumber = value.ToUpperNonEmpty(); }
}
[Column("InventoryManagement_InventoryManagementFinancialDetails_InventoryManagementAverageUnitCost")]
public decimal? AverageUnitCost { get; set; } = 0;
[Column("InventoryManagement_InventoryManagementFinancialDetails_InventoryManagementTotalOnHandValue")]
public decimal? TotalOnHandValue { get; set; } = 0;
[Column("InventoryManagement_InventoryManagementLocation_InventoryManagementArea")]
public string Area { get; set; } = string.Empty;
[Column("InventoryManagement_InventoryManagementLocation_InventoryManagementBay")]
public string Bay { get; set; } = string.Empty;
[Column("InventoryManagement_InventoryManagementLocation_InventoryManagementBin")]
public string Bin { get; set; } = string.Empty;
[Column("InventoryManagement_InventoryManagementLocation_InventoryManagementBinLocation")]
public string BinLocation { get; set; } = string.Empty;
[Column("InventoryManagement_InventoryManagementLocation_InventoryManagementBrand")]
public string Brand { get; set; } = string.Empty;
[Column("InventoryManagement_InventoryManagementLocation_InventoryManagementCondition")]
public string Condition { get; set; } = string.Empty;
[Column("InventoryManagement_InventoryManagementLocation_InventoryManagementDescription")]
public string Description { get; set; } = string.Empty;
[Column("InventoryManagement_InventoryManagementLocation_InventoryManagementIsle")]
public string Isle { get; set; } = string.Empty;
[Column("InventoryManagement_InventoryManagementLocation_InventoryManagementPosition")]
public string Position { get; set; } = string.Empty;
[Column("InventoryManagement_InventoryManagementLocation_InventoryManagementShelf")]
public string Shelf { get; set; } = string.Empty;
[Column("InventoryManagement_InventoryManagementLocation_WarehouseLocationName")]
public string WarehouseLocationName { get; set; } = string.Empty;
[Column("InventoryManagement_InventoryManagementStockDetails_InventoryManagementAvailable")]
public int? Available { get; set; } = 0;
[Column("InventoryManagement_InventoryManagementStockDetails_InventoryManagementCommitted")]
public int? Committed { get; set; } = 0;
[Column("InventoryManagement_InventoryManagementStockDetails_InventoryManagementOnHand")]
public int? OnHand { get; set; } = 0;
[Column("InventoryManagement_InventoryManagementStockDetails_InventoryManagementOnOrder")]
public int? OnOrder { get; set; } = 0;
[Column("isActive")]
public bool? isActive { get; set; }
[Column("itemID")]
public int itemID { get; set; }
///
/// Links to PartsMaster
///
[Column("ParentSurfaceItemId")]
public int? ParentSurfaceItemId { get; set; }
[Key]
[Column("recId")]
public int recId { get; set; }
[Column("surfaceId")]
public int surfaceId { get; set; }
}
}
//namespace CAPI.Custom.Entities
//{
// [Table("publ_InventoryManagement")]
// public class InventoryManagement : IPublishedEntity//, IChildSurfaceItem // ParentSurfaceItemId has type of string
// {
// protected string _partNumber = string.Empty;
// [Column("InventoryManagement_InventoryManagementLocation_InventoryManagementPartNumber")]
// public string PartNumber
// {
// get { return _partNumber.ToUpperNonEmpty(); }
// set { _partNumber = value.ToUpperNonEmpty(); }
// }
// protected string _uniqueNumber = string.Empty;
// [Column("InventoryManagement_InventoryManagementLocation_InventoryManagementUniqueNumber")]
// public string UniqueNumber
// {
// get { return _uniqueNumber.ToUpperNonEmpty(); }
// set { _uniqueNumber = value.ToUpperNonEmpty(); }
// }
// [Column("InventoryManagement_InventoryManagementFinancialDetails_InventoryManagementAverageUnitCost")]
// public string AverageUnitCost { get; set; } = "0";
// [Column("InventoryManagement_InventoryManagementFinancialDetails_InventoryManagementTotalOnHandValue")]
// public string TotalOnHandValue { get; set; } = "0";
// [Column("isActive")]
// public bool? isActive { get; set; } = true;
// [Column("itemID")]
// public int itemID { get; set; }
// [Column("InventoryManagement_InventoryManagementLocation_InventoryManagementArea")]
// public string Area { get; set; } = string.Empty;
// [Column("InventoryManagement_InventoryManagementLocation_InventoryManagementBay")]
// public string Bay { get; set; } = string.Empty;
// [Column("InventoryManagement_InventoryManagementLocation_InventoryManagementBin")]
// public string Bin { get; set; } = string.Empty;
// [Column("InventoryManagement_InventoryManagementLocation_InventoryManagementBinLocation")]
// public string BinLocation { get; set; } = string.Empty;
// [Column("InventoryManagement_InventoryManagementLocation_InventoryManagementBrand")]
// public string Brand { get; set; } = string.Empty;
// [Column("InventoryManagement_InventoryManagementLocation_InventoryManagementCondition")]
// public string Condition { get; set; } = string.Empty;
// [Column("InventoryManagement_InventoryManagementLocation_InventoryManagementDescription")]
// public string Description { get; set; } = string.Empty;
// [Column("InventoryManagement_InventoryManagementLocation_InventoryManagementIsle")]
// public string Isle { get; set; } = string.Empty;
// [Column("InventoryManagement_InventoryManagementLocation_InventoryManagementPosition")]
// public string Position { get; set; } = string.Empty;
// [Column("InventoryManagement_InventoryManagementLocation_InventoryManagementShelf")]
// public string Shelf { get; set; } = string.Empty;
// [Column("InventoryManagement_InventoryManagementLocation_WarehouseLocationName")]
// public string WarehouseLocationName { get; set; } = string.Empty;
// ///
// /// Points to Inventory Item
// ///
// [Column("ParentSurfaceItemId")]
// public string ParentSurfaceItemId { get; set; } = string.Empty;
// [Key]
// [Column("recId")]
// public int recId { get; set; }
// [Column("InventoryManagement_InventoryManagementStockDetails_InventoryManagementAvailable")]
// public string Available { get; set; } = "0";
// [Column("InventoryManagement_InventoryManagementStockDetails_InventoryManagementCommitted")]
// public string Committed { get; set; } = "0";
// [Column("InventoryManagement_InventoryManagementStockDetails_InventoryManagementOnHand")]
// public string OnHand { get; set; } = "0";
// [Column("InventoryManagement_InventoryManagementStockDetails_InventoryManagementOnOrder")]
// public string OnOrder { get; set; } = "0";
// [Column("surfaceId")]
// public int surfaceId { get; set; }
// //[Column("UniqueManagementNumber")]
// //[DatabaseGenerated(DatabaseGeneratedOption.Computed)]
// //[NotMapped]
// //public string UniqueManagementNumber => $"{UniqueNumber}-{BinLocation}";
// #region Other Fields
// [Column("allowClone")]
// public bool allowClone { get; set; } = false;
// [Column("allowEdit")]
// public bool? allowEdit { get; set; } = true;
// [Column("allowRemove")]
// public bool? allowRemove { get; set; } = true;
// [Column("allowView")]
// public bool? allowView { get; set; } = false;
// [Column("cloneAccessType")]
// public int cloneAccessType { get; set; } = 0;
// [Column("editAccessType")]
// public int editAccessType { get; set; } = 2;
// [Column("isComplete")]
// public bool isComplete { get; set; } = false;
// [Column("linkUser")]
// public bool? linkUser { get; set; } = false;
// [Column("removeAccessType")]
// public int removeAccessType { get; set; } = 3;
// [Column("showWizardStatus")]
// public bool showWizardStatus { get; set; } = false;
// [Column("surfaceLinkItems")]
// public string surfaceLinkItems { get; set; } = string.Empty;
// [Column("userLinkEmail")]
// public string userLinkEmail { get; set; } = string.Empty;
// [Column("userLinkId")]
// public int userLinkId { get; set; } = 0;
// [Column("userType")]
// public int? userType { get; set; } = 4;
// [Column("viewAccessType")]
// public int viewAccessType { get; set; } = 0;
// #endregion
// }
//}