private static int FindMerrillStockTrade(ReconciliationLib.HugoDataSet.MerrillStockTradesDataTable merrillStockTrades, List <int> matchedMerrillTradeIds, StockTrade hugoStockTrade) { foreach (ReconciliationLib.HugoDataSet.MerrillStockTradesRow merrillRow in merrillStockTrades.Rows) { StockTrade merrillStockTrade = new StockTrade(merrillRow); if (!matchedMerrillTradeIds.Contains(merrillStockTrade.TradeId.Value)) { if (merrillStockTrade.Equals(hugoStockTrade)) { return(merrillRow.TradeId); } } } return(-1); }
private static int AddStockTrades() { // get all trades ReconciliationLib.HugoDataSet.MerrillStockTradesDataTable merrillStockTrades = ReconciliationLib.Utilities.GetMerrillStockTrades(null, false); ReconciliationLib.HugoDataSet.HugoStockTradesDataTable hugoStockTrades = ReconciliationLib.Utilities.GetHugoStockTrades(null, false); // get matched Merrill trade ids List <int> matchedMerrillTradeIds = new List <int>(); foreach (ReconciliationLib.HugoDataSet.HugoStockTradesRow hugoRow in hugoStockTrades.Rows) { int merrillTradeId = FindMerrillStockTrade(merrillStockTrades, matchedMerrillTradeIds, new StockTrade(hugoRow)); if (merrillTradeId >= 0) { matchedMerrillTradeIds.Add(merrillTradeId); } } // add all unmatched trades int nAddedTrades = 0; foreach (ReconciliationLib.HugoDataSet.MerrillStockTradesRow merrillRow in merrillStockTrades.Rows) { StockTrade stockTrade = new StockTrade(merrillRow); if (!matchedMerrillTradeIds.Contains(stockTrade.TradeId.Value)) { if (VerifyStockTrade(stockTrade)) { if (null != ReconciliationLib.Utilities.AddStockTrade(stockTrade)) { nAddedTrades++; } } } } return(nAddedTrades); }