private static void AddOptionExpirationsToHugo(ReconciliationLib.HugoDataSet.MerrillOptionTradesDataTable merrillOptionTrades, out int addedExpirations, out int notAddedExpirations, out int errorsAddingExpirations) { addedExpirations = 0; notAddedExpirations = 0; errorsAddingExpirations = 0; foreach (ReconciliationLib.HugoDataSet.MerrillOptionTradesRow row in merrillOptionTrades.Rows) { if (ReconciliationLib.Utilities.IsExpiration(row.TradeMediumName) && !ReconciliationLib.Utilities.IsCancelOrCorrection(row.CancelCode)) { switch (ReconciliationLib.Utilities.AddOptionExpiration(new OptionTrade(row))) { case 0: addedExpirations++; break; case 1: notAddedExpirations++; break; default: errorsAddingExpirations++; break; } } } }
private static int FindMerrillOptionTrade(ReconciliationLib.HugoDataSet.MerrillOptionTradesDataTable merrillOptionTrades, List <int> matchedMerrillTradeIds, OptionTrade hugoOptionTrade) { foreach (ReconciliationLib.HugoDataSet.MerrillOptionTradesRow merrillRow in merrillOptionTrades.Rows) { OptionTrade merrillOptionTrade = new OptionTrade(merrillRow); if (!matchedMerrillTradeIds.Contains(merrillOptionTrade.TradeId.Value)) { if (merrillOptionTrade.Equals(hugoOptionTrade)) { return(merrillRow.TradeId); } } } return(-1); }
private static int AddOptionTrades() { // get all trades ReconciliationLib.HugoDataSet.MerrillOptionTradesDataTable merrillOptionTrades = ReconciliationLib.Utilities.GetMerrillOptionTrades(null, null); ReconciliationLib.HugoDataSet.HugoOptionTradesDataTable hugoOptionTrades = ReconciliationLib.Utilities.GetHugoOptionTrades(null, null, false); // get matched Merrill trade ids List <int> matchedMerrillTradeIds = new List <int>(); foreach (ReconciliationLib.HugoDataSet.HugoOptionTradesRow hugoRow in hugoOptionTrades.Rows) { int merrillTradeId = FindMerrillOptionTrade(merrillOptionTrades, matchedMerrillTradeIds, new OptionTrade(hugoRow)); if (merrillTradeId >= 0) { matchedMerrillTradeIds.Add(merrillTradeId); } } // add all unmatched trades int nAddedTrades = 0; foreach (ReconciliationLib.HugoDataSet.MerrillOptionTradesRow merrillRow in merrillOptionTrades.Rows) { OptionTrade optionTrade = new OptionTrade(merrillRow); if (!matchedMerrillTradeIds.Contains(optionTrade.TradeId.Value)) { if (VerifyOptionTrade(optionTrade)) { if (null != ReconciliationLib.Utilities.AddOptionTrade(optionTrade)) { nAddedTrades++; } } } } return(nAddedTrades); }