Files
zszq-trs/YLErpDAL/Modules/TradeModule/TradeDocumentDataService.cs
T
2024-05-09 14:06:26 +08:00

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();
}
}
}