Example #1
0
        /// <summary>
        /// Realiza a junção das mensagens informadas.
        /// </summary>
        /// <param name="left"></param>
        /// <param name="separator"></param>
        /// <param name="messages"></param>
        /// <returns></returns>
        public static IMessageFormattable Join(this IMessageFormattable left, string separator, params IMessageFormattable[] messages)
        {
            int index = 0;

            if (left == null)
            {
                if (messages == null || messages.Length == 0)
                {
                    return(null);
                }
                for (; index < messages.Length; index++)
                {
                    if (messages[index] != null)
                    {
                        left = messages[index];
                        break;
                    }
                }
            }
            for (; index < messages.Length; index++)
            {
                if (messages[index] != null)
                {
                    if (left == null)
                    {
                        left = messages[index];
                    }
                    else
                    {
                        left = new Text.JoinMessageFormattable(left, separator, messages[index]);
                    }
                }
            }
            return(left);
        }
Example #2
0
        /// <summary>
        /// Junta as mensagem informadas.
        /// </summary>
        /// <param name="messages"></param>
        /// <param name="separator">Separador.</param>
        /// <returns></returns>
        public static IMessageFormattable Join(this IEnumerable <IMessageFormattable> messages, string separator)
        {
            messages.Require("messages").NotNull();
            var enumerator = messages.GetEnumerator();
            IMessageFormattable current = null;

            if (!enumerator.MoveNext())
            {
                return(MessageFormattable.Empty);
            }
            current = enumerator.Current;
            while (enumerator.MoveNext())
            {
                if (current == null)
                {
                    current = enumerator.Current;
                }
                else
                {
                    current = new Text.JoinMessageFormattable(current, separator, enumerator.Current);
                }
            }
            return(current);
        }