コード例 #1
0
        //Delete a record
        public void DeleteTrade(Trade trade)
        {
            try
            {
                using (var unitOfWork = new EFUnitOfWork())
                {
                    var tradeRepo =
                        new TradeRepository(new EFRepository <Trade>(), unitOfWork);
                    {
                        ObjectSet <Trade> tradeObj =
                            ((CurrentDeskClientsEntities)tradeRepo.Repository.UnitOfWork.Context).Trades;
                        var getOldTrade = tradeObj.Where(t => t.OrderID == trade.OrderID).FirstOrDefault();

                        if (getOldTrade != null)
                        {
                            tradeRepo.Delete(getOldTrade);
                            tradeRepo.Save();
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                CommonErrorLogger.CommonErrorLog(ex, System.Reflection.MethodBase.GetCurrentMethod().Name);
            }
        }
コード例 #2
0
        //Synch Trades table
        public void SaveOpenTrades(List <Trade> lstTrade)
        {
            try
            {
                using (var unitOfWork = new EFUnitOfWork())
                {
                    var tradeRepo =
                        new TradeRepository(new EFRepository <Trade>(), unitOfWork);

                    ObjectSet <Trade> tradeObj =
                        ((CurrentDeskClientsEntities)tradeRepo.Repository.UnitOfWork.Context).Trades;

                    var lstDBTrade = tradeObj.ToList();


                    var lstNewTrades = lstTrade.Where(nt => !lstDBTrade.Select(db => db.OrderID).Contains(nt.OrderID)).ToList();
                    foreach (var trades in lstNewTrades)
                    {
                        tradeRepo.Add(trades);
                    }

                    // Delete close trades
                    var lstOldDBTrades = lstDBTrade.Where(od => !lstTrade.Select(db => db.OrderID).Contains(od.OrderID)).ToList();
                    foreach (var od in lstOldDBTrades)
                    {
                        tradeRepo.Delete(od);
                    }

                    tradeRepo.Save();
                }
            }
            catch (Exception ex)
            {
                CommonErrorLogger.CommonErrorLog(ex, System.Reflection.MethodBase.GetCurrentMethod().Name);
            }
        }