Example #1
0
        public static string TextEnum(
            IEnumerable<object> values, 
            ListConjunction conjunction = ListConjunction.And,
            bool serialComma = false)
        {
            var sb = new StringBuilder();
            int i = 1;
            string previous = null;

            foreach (var value in values)
            {
                if (i == 1)
                {
                    sb.Append(value);
                }
                else
                {
                    if (previous != null)
                    {
                        sb.Append(", ");
                        sb.Append(previous);
                    }

                    previous = value.ToString();
                }

                i++;
            }

            if (previous != null)
            {
                if (serialComma)
                {
                    sb.Append(",");
                }

                switch (conjunction)
                {
                    case ListConjunction.And:
                        sb.Append(" and ");
                        break;
                    case ListConjunction.Or:
                        sb.Append(" or ");
                        break;
                    case ListConjunction.Nor:
                        sb.Append(" nor ");
                        break;
                }
                sb.Append(previous);
            }

            return sb.ToString();
        }
 public static HtmlString TextEnum(
     this HtmlHelper helper,
     IEnumerable<object> values,
     ListConjunction conjunction = ListConjunction.And,
     bool serialComma = false)
 {
     return new HtmlString(Util.TextEnum(values, conjunction, serialComma));
 }