public void InsertTrade(TradeDTO dto) { if (dto == null) { throw new ArgumentException("参数为空!"); } var supplier = _supplierRepository.Get(dto.SupplierId); var newTrade = TradeFactory.CreateTrade(dto.Name, dto.Description, dto.StartDate, dto.TradeType); newTrade.ChangeCurrentIdentity(dto.Id); newTrade.SetStatus((TradeStatus) dto.Status); // TODO:设置交易编号,如果当天的记录被删除过,本方法导致会出现重复交易号 var date = DateTime.Now.Date; var seq = _tradeRepository.GetFiltered(t => t.CreateDate > date).Count() + 1; newTrade.SetTradeNumber(seq); // 设置供应商 newTrade.SetSupplier(supplier); _tradeRepository.Add(newTrade); }
public void UpdateTrade(TradeDTO dto) { if (dto == null) { throw new ArgumentException("参数为空!"); } var current = _tradeRepository.Get(dto.Id); if (current != null) { // 更新当前记录 var supplier = _supplierRepository.Get(dto.SupplierId); current.UpdateTrade(dto.Name, dto.Description, dto.StartDate); current.SetStatus((TradeStatus) dto.Status); current.SetSupplier(supplier); _tradeRepository.Modify(current); } }
public void DeleteTrade(TradeDTO dto) { if (dto == null) { throw new ArgumentException("参数为空!"); } var deleteTrade = _tradeRepository.Get(dto.Id); if (deleteTrade != null) { _tradeRepository.Remove(deleteTrade); } }