61 lines
1.7 KiB
C#
61 lines
1.7 KiB
C#
using YLErp.DBModels.Consts;
|
|
|
|
namespace YLErp.Modules.TradeModule
|
|
{
|
|
/// <summary>
|
|
/// 交易文档数据操作服务
|
|
/// </summary>
|
|
public class TradeDocumentDataService : YLBaseService
|
|
{
|
|
public TradeDocumentDataService(YLBaseService baseService) : base(baseService)
|
|
{
|
|
|
|
}
|
|
|
|
public TradeDocumentDataService(OptUserInfo userInfo) : base(userInfo)
|
|
{
|
|
}
|
|
|
|
/// <summary>
|
|
/// 如果状态是修改待确认状态,要删除原来已经生成的确认书
|
|
/// </summary>
|
|
public void DeleteBooksAfterEditTrade(trade trade)
|
|
{
|
|
//如果状态是修改待确认状态,要删除原来已经生成的确认书
|
|
if (trade.TradeStatus == ConsTrade.修改待确认)
|
|
{
|
|
InnerDeleteConfirmBook(trade.id);
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 删除确认书
|
|
/// </summary>
|
|
public int DeleteConfirmBook(int tradeId, string contractType = ContractTypeEnum.Trade)
|
|
{
|
|
return InnerDeleteConfirmBook(tradeId, contractType);
|
|
}
|
|
|
|
private int InnerDeleteConfirmBook(int tradeId, params string[] contractTypes)
|
|
{
|
|
var doc = from contractRelation in DbContext.trade_contract_r
|
|
where contractRelation.TradeId == tradeId && contractRelation.IsValid
|
|
select contractRelation;
|
|
|
|
if (contractTypes.Length > 0)
|
|
{
|
|
doc = doc.Where(O => contractTypes.Contains(O.Type));
|
|
}
|
|
|
|
if (!doc.Any())
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
doc.ToList().ForEach(O => O.IsValid = false);
|
|
|
|
return DbContext.SaveChanges();
|
|
}
|
|
}
|
|
}
|