public virtual void UpdateStockPoolInfo(StockPoolInfo stockPool) { if (stockPool == null) { throw new ArgumentNullException(nameof(stockPool)); } _stockPoolInfoRepository.Update(stockPool); var preivousRecord = _stockPoolEntryRepository.Table.Where(x => x.StockId == stockPool.StockId).OrderByDescending(x => x.FromDate).FirstOrDefault(); if (preivousRecord != null) { if (stockPool.TargetPrincipal != preivousRecord.TargetPrincipal || stockPool.BandPrincipal != preivousRecord.BandPrincipal) { var poolRecord = new StockPoolEntry { StockId = stockPool.StockId, AddFlag = false, BandPrincipal = stockPool.BandPrincipal, TargetPrincipal = stockPool.TargetPrincipal, FromDate = _commonService.GetCurrentServerTime(), ToDate = null, Remarks = null, }; _stockPoolEntryRepository.Insert(poolRecord); preivousRecord.ToDate = _commonService.GetCurrentServerTime(); _stockPoolEntryRepository.Update(preivousRecord); } } }
public virtual void AddStockPoolInfo(StockPoolInfo stockPool) { if (stockPool == null) { throw new ArgumentNullException(nameof(stockPool)); } _stockPoolInfoRepository.Insert(stockPool); var poolRecord = new StockPoolEntry { StockId = stockPool.StockId, AddFlag = true, BandPrincipal = stockPool.BandPrincipal, TargetPrincipal = stockPool.TargetPrincipal, FromDate = _commonService.GetCurrentServerTime(), ToDate = null, Remarks = null, }; _stockPoolEntryRepository.Insert(poolRecord); }