You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

155 lines
5.0 KiB

using System;
using Win_in.Sfs.Shared.Domain;
using Win_in.Sfs.Shared.Domain.Entities;
namespace Win_in.Sfs.Basedata.Domain;
/// <summary>
/// 采购价格单
/// </summary>
public class PurchasePriceSheet : SfsBaseDataAggregateRootBase
{
/// <summary>
/// ERP料号
/// </summary>
[IgnoreUpdate]
public string ItemCode { get; set; }
/// <summary>
/// 供应商编号
/// </summary>
[IgnoreUpdate]
public string SupplierCode { get; set; }
/// <summary>
/// 价格单描述
/// </summary>
public string Description { get; set; }
/// <summary>
/// 采购价格
/// </summary>
public decimal PurchasePrice { get; set; }
///// <summary>
///// 货币ID
///// </summary>
//public Guid CurrencyId { get; set; }
///// <summary>
///// 物料价格
///// </summary>
//public decimal MaterialPrice { get; set; }
///// <summary>
///// 成品价格
///// </summary>
//public decimal ProductPrice { get; set; }
#region details handler
//public virtual void AddDetail(IGuidGenerator guidGenerator, PurchasePriceDetail detail)
//{
// Check.NotNull(guidGenerator, nameof(guidGenerator));
// Check.NotNull(detail, nameof(PurchasePriceDetail));
// if (IsInDetails(detail.ItemId, detail.BeginTime))
// {
// //to do 需要规范异常的处理逻辑
// throw new Exception(detail.ItemId + ":" + detail.BeginTime + " 已经在明细中存在!");
// }
// Check.NotNull(detail.ItemId, nameof(detail.ItemId));
// PurchasePriceDetails.Add(new PurchasePriceDetail(guidGenerator.Create(), Id, BranchId, detail.ItemId, detail.BeginTime, detail.EndTime, detail.PurchasePrice, detail.Enabled, detail.IsTempPrice, detail.IsModelShare, detail.ModelSharePrice));
//}
//public virtual void AddDetails(IGuidGenerator guidGenerator, IEnumerable<PurchasePriceDetail> details)
//{
// Check.NotNull(guidGenerator, nameof(guidGenerator));
// foreach (var detail in details)
// {
// AddDetail(guidGenerator, detail);
// }
//}
//public virtual bool IsInDetails(Guid itemId, DateTime beginTime)
//{
// return PurchasePriceDetails.Any(d => d.ItemId == itemId && d.BeginTime == beginTime && d.IsDeleted == false);
//}
////public virtual void RemoveDetail([NotNull] Guid purchasePriceSheetId, [NotNull] Guid itemId, [NotNull] DateTime beginTime)
////{
//// Check.NotNull(itemId, nameof(itemId));
//// Check.NotNull(purchasePriceSheetId, nameof(purchasePriceSheetId));
//// PurchasePriceDetails.RemoveAll(userDetail =>
//// userDetail.ItemId == itemId
//// && userDetail.PurchasePriceSheetId == purchasePriceSheetID
//// && userDetail.BeginTime == beginTime);
////}
//////public virtual void RemoveDetails(List<Guid> itemIds)
//////{
////// foreach (var itemName in itemNames)
////// {
////// RemoveDetail(itemName);
////// }
//////}
////public virtual void RemoveDetail([NotNull] Guid detailId)
////{
//// Check.NotNull(detailId, nameof(detailId));
//// PurchasePriceDetails.RemoveAll(userDetail =>
//// userDetail.Id == detailId);
////}
////public virtual void RemoveDetails(List<Guid> detailIds)
////{
//// foreach (var detailId in detailIds)
//// {
//// RemoveDetail(detailId);
//// }
////}
//public virtual bool UpdateDetail(IGuidGenerator guidGenerator, PurchasePriceDetail detail)
//{
// Check.NotNull(detail, nameof(PurchasePriceDetail));
// var item = FindDetail(detail.ItemId, detail.BeginTime);
// if (item == null)
// {
// AddDetail(guidGenerator, detail);
// }
// else
// {
// Check.NotNull(item, nameof(PurchasePriceDetail));
// item.PurchasePrice = detail.PurchasePrice;
// item.EndTime = detail.EndTime;
// item.IsTempPrice = detail.IsTempPrice;
// item.IsModelShare = detail.IsModelShare;
// item.ModelSharePrice = detail.ModelSharePrice;
// item.Enabled = detail.Enabled;
// }
// return true;
//}
//public virtual PurchasePriceDetail FindDetail(Guid itemId, DateTime beginTime)
//{
// if (!IsInDetails(itemId, beginTime))
// {
// return null;
// }
// var item = PurchasePriceDetails.FirstOrDefault(p => p.PurchasePriceSheetId == Id && p.ItemId == itemId && p.BeginTime == beginTime && p.IsDeleted == false);
// return item;
//}
//public virtual bool IsInDetails(Guid detailKey)
//{
// return PurchasePriceDetails.Any(d => d.Id == detailKey && d.IsDeleted == false);
//}
//public PurchasePriceDetail FindDetail(Guid detailKey)
//{
// var item = PurchasePriceDetails.FirstOrDefault(p => p.PurchasePriceSheetId == Id && p.Id == detailKey && p.IsDeleted == false);
// return item;
//}
#endregion
}