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
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
|
|
|
|
}
|
|
|