public void Set(QuickFix.Fields.Currency val)
 {
     this.Currency = val;
 }
        //receive contract parameters
        public void OnMessage(QuickFix.FIX42.SecurityDefinition message, QuickFix.SessionID session)
        {
            //parseMessage(message, session);

            string SecEx = null;
            string symbol = null;
            string secID = null;

            try
            {
                QuickFix.Fields.SecurityExchange se = new QuickFix.Fields.SecurityExchange();
                if (message.IsSetField(se))
                { SecEx = message.GetField(se).ToString(); }

                QuickFix.Fields.Symbol s = new QuickFix.Fields.Symbol();
                if (message.IsSetField(s))
                { symbol = message.GetField(s).ToString(); }

                QuickFix.Fields.SecurityID sid = new QuickFix.Fields.SecurityID();
                if (message.IsSetField(sid))
                { secID = message.GetField(sid).ToString(); }

                string cur = null;
                decimal exPtVal = 0.00M;

                QuickFix.Fields.ExchPointValue epv = new QuickFix.Fields.ExchPointValue();
                if (message.IsSetField(epv))
                { exPtVal = message.GetField(epv).getValue(); }

                QuickFix.Fields.Currency ccy = new QuickFix.Fields.Currency();
                if (message.IsSetField(ccy))
                { cur = message.GetField(ccy).getValue(); }

                updateSecurity(SecEx, symbol, secID, cur, exPtVal);
            }
            catch (Exception ex)
            {
                updateDisplay("QuickFIX Error");
                log.WriteLog(ex.ToString());
            }
        }