Ejemplo n.º 1
0
        internal static string GenerateColumnNamesMappingForSortByColumns(DType sourceType)
        {
            Contracts.Assert(sourceType.IsTable);

            var    allColumns = sourceType.GetNames(DPath.Root);
            string separator  = string.Empty;

            var primitiveColumnsAndComparatorIds = new StringBuilder();

            primitiveColumnsAndComparatorIds.Append("{");

            foreach (var column in allColumns)
            {
                if (column.Type.IsPrimitive && !column.Type.IsOptionSet)
                {
                    primitiveColumnsAndComparatorIds.AppendFormat("{0}\"{1}\":{2}", separator, CharacterUtils.EscapeString(column.Name),
                                                                  GetSortComparatorIdForType(column.Type));
                    separator = ",";
                }
            }
            primitiveColumnsAndComparatorIds.Append("}");

            return(primitiveColumnsAndComparatorIds.ToString());
        }