Example #1
0
        /// <summary>
        /// Create a copy of <see cref="SecurityLookupMessage"/>.
        /// </summary>
        /// <returns>Copy.</returns>
        public override Message Clone()
        {
            var clone = new SecurityLookupMessage();

            CopyTo(clone);
            return(clone);
        }
Example #2
0
        /// <summary>
        /// Initialize <see cref="SecurityLookupMessage.SecurityTypes"/>.
        /// </summary>
        /// <param name="message">Message security lookup for specified criteria.</param>
        /// <param name="type">Security type.</param>
        /// <param name="types">Securities types.</param>
        public static void SetSecurityTypes(this SecurityLookupMessage message, SecurityTypes?type, IEnumerable <SecurityTypes> types = null)
        {
            if (message == null)
            {
                throw new ArgumentNullException(nameof(message));
            }

            if (type != null)
            {
                message.SecurityType = type.Value;
            }
            else if (types != null)
            {
                var set = types.ToHashSet();

                if (set.Count <= 0)
                {
                    return;
                }

                if (set.Count == 1)
                {
                    message.SecurityType = set.First();
                }
                else
                {
                    message.SecurityTypes = set.ToArray();
                }
            }
        }
Example #3
0
        /// <summary>
        /// Copy the message into the <paramref name="destination" />.
        /// </summary>
        /// <param name="destination">The object, to which copied information.</param>
        public void CopyTo(SecurityLookupMessage destination)
        {
            if (destination == null)
            {
                throw new ArgumentNullException(nameof(destination));
            }

            destination.TransactionId = TransactionId;
            destination.SecurityTypes = SecurityTypes?.ToArray();

            base.CopyTo(destination);
        }
Example #4
0
        /// <summary>
        /// Create a copy of <see cref="SecurityLookupMessage"/>.
        /// </summary>
        /// <returns>Copy.</returns>
        public override Message Clone()
        {
            var clone = new SecurityLookupMessage
            {
                TransactionId = TransactionId,
                SecurityTypes = SecurityTypes,
            };

            CopyTo(clone);

            return(clone);
        }
Example #5
0
        /// <summary>
        /// Get <see cref="SecurityLookupMessage.SecurityTypes"/>.
        /// </summary>
        /// <param name="message">Message security lookup for specified criteria.</param>
        /// <returns>Securities types.</returns>
        public static HashSet <SecurityTypes> GetSecurityTypes(this SecurityLookupMessage message)
        {
            if (message == null)
            {
                throw new ArgumentNullException(nameof(message));
            }

            var types = new HashSet <SecurityTypes>();

            if (message.SecurityType != null)
            {
                types.Add(message.SecurityType.Value);
            }
            else if (message.SecurityTypes != null)
            {
                types.AddRange(message.SecurityTypes);
            }

            return(types);
        }