Beispiel #1
0
        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);
        }
Beispiel #2
0
        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);
            }
        }
Beispiel #3
0
        public void DeleteTrade(TradeDTO dto)
        {
            if (dto == null)
            {
                throw new ArgumentException("参数为空!");
            }

            var deleteTrade = _tradeRepository.Get(dto.Id);
            if (deleteTrade != null)
            {
                _tradeRepository.Remove(deleteTrade);
            }
        }