private void UpdateContractListFromGrid(IList <IBSimplefiedContract> contracts, Grid grid) { contracts.Clear(); // The last row is always empty for (var i = 1; i < grid.Rows.Count - 1; i++) { try { var contract = new IBSimplefiedContract { SecurityType = (IBSecurityType)grid[i, (int)IBGridColumn.SecType].Value, Currency = (string)grid[i, (int)IBGridColumn.Currency].Value, Exchange = (string)grid[i, (int)IBGridColumn.Exchange].Value, Symbol = (string)grid[i, (int)IBGridColumn.Symbol].Value, Rollover = (string)grid[i, (int)IBGridColumn.Rollover].Value, PutOrCall = (string)grid[i, (int)IBGridColumn.PutOrCall].Value }; // SecurityType always has to be present... // String fields are always "safe" if (contract.SecurityType == IBSecurityType.FutureOption || contract.SecurityType == IBSecurityType.Option) { contract.Expiry = (DateTime)grid[i, (int)IBGridColumn.Expiry].Value; contract.Strike = (double)grid[i, (int)IBGridColumn.Strike].Value; contract.Multiplier = (int)grid[i, (int)IBGridColumn.Multiplier].Value; } if (contract.SecurityType == IBSecurityType.FutureOption) { contract.Expiry = (DateTime)grid[i, (int)IBGridColumn.Expiry].Value; contract.Multiplier = (int)grid[i, (int)IBGridColumn.Multiplier].Value; } contracts.Add(contract); } catch (NullReferenceException) { } } }
private void UpdateContractListFromGrid(IList<IBSimplefiedContract> contracts, Grid grid) { contracts.Clear(); // The last row is always empty for (var i = 1; i < grid.Rows.Count - 1; i++) { try { var contract = new IBSimplefiedContract { SecurityType = (IBSecurityType) grid[i, (int) IBGridColumn.SecType].Value, Currency = (string) grid[i, (int) IBGridColumn.Currency].Value, Exchange = (string) grid[i, (int) IBGridColumn.Exchange].Value, Symbol = (string) grid[i, (int) IBGridColumn.Symbol].Value, Rollover = (string) grid[i, (int) IBGridColumn.Rollover].Value, PutOrCall = (string) grid[i, (int) IBGridColumn.PutOrCall].Value }; // SecurityType always has to be present... // String fields are always "safe" if (contract.SecurityType == IBSecurityType.FutureOption || contract.SecurityType == IBSecurityType.Option) { contract.Expiry = (DateTime) grid[i, (int) IBGridColumn.Expiry].Value; contract.Strike = (double) grid[i, (int) IBGridColumn.Strike].Value; contract.Multiplier = (int) grid[i, (int) IBGridColumn.Multiplier].Value; } if (contract.SecurityType == IBSecurityType.FutureOption) { contract.Expiry = (DateTime) grid[i, (int) IBGridColumn.Expiry].Value; contract.Multiplier = (int) grid[i, (int) IBGridColumn.Multiplier].Value; } contracts.Add(contract); } catch (NullReferenceException) { } } }