private List <Message> GenerateMessages()
        {
            List <Message> result = new List <Message>();
            var            rreq   = (ReferenceRequest)base._request;

            var securities = new Dictionary <string, Dictionary <string, object> >();

            foreach (var security in rreq.Securities)
            {
                if (!securities.ContainsKey(security))
                {
                    bool isOption = Regex.IsMatch(security.ToUpper(), @"[A-Z]{1,4}\s+\d{6}[CP]\d{8} EQUITY"); //options look like: AAPL 150117C00600000 EQUITY

                    var fieldData = new Dictionary <string, object>();

                    if (!securities.ContainsKey(security))
                    {
                        securities.Add(security, fieldData);
                    }
                    else
                    {
                    }

                    List <string> badFields = new List <string>();
                    foreach (var field in rreq.Fields)
                    {
                        object value = Types.RandomDataGenerator.ReferenceDataFromFieldName(field, security, isOption, rreq);
                        if (value != null && !fieldData.ContainsKey(field))
                        {
                            fieldData.Add(field, value);
                        }
                        else
                        {
                        }
                    }
                }
            }

            ReferenceMessage msg = new ReferenceMessage(base._request.correlationId, securities);

            result.Add(msg);

            return(result);
        }
Exemplo n.º 2
0
 internal ReferenceElement(ReferenceMessage arg)
 {
     this._securities = new ReferenceElementSecurityDataArray((ReferenceElementSecurityDataArray)arg.Elements.First());
 }