コード例 #1
0
        public static string TryParse(string code, out ChartColumnType type)
        {
            if (fromCodes.TryGetValue(code, out type))
            {
                return(null);
            }

            return("{0} is not a valid type code, use {1} instead".FormatWith(code, fromCodes.Keys.CommaOr()));
        }
コード例 #2
0
        public static bool IsChartColumnType(QueryToken token, ChartColumnType ct)
        {
            if (token == null)
                return false;

            var type =  token.GetChartColumnType();

            if(type == null)
                return false;

            return Flag(ct, type.Value);
        }
コード例 #3
0
        public static string GetComposedCode(this ChartColumnType columnType)
        {
            var result = columnType.GetCode();

            if (result.HasText())
            {
                return(result);
            }

            return(EnumExtensions.GetValues <ChartColumnType>()
                   .Where(a => (int)a < ChartColumnTypeUtils.GroupMargin && columnType.HasFlag(a))
                   .ToString(GetCode, ","));
        }
コード例 #4
0
ファイル: ChartScriptColumn.cs プロジェクト: ywscr/extensions
        public static string?TryParseComposed(string code, out ChartColumnType type)
        {
            type = default(ChartColumnType);
            foreach (var item in code.Split(','))
            {
                string?error = TryParse(item, out ChartColumnType temp);
                if (error.HasText())
                {
                    return(error);
                }

                type |= temp;
            }
            return(null);
        }
コード例 #5
0
        public static bool IsChartColumnType(QueryToken token, ChartColumnType ct)
        {
            if (token == null)
            {
                return(false);
            }

            var type = token.GetChartColumnType();

            if (type == null)
            {
                return(false);
            }

            return(Flag(ct, type.Value));
        }
コード例 #6
0
 public ChartScriptColumn(string displayName, ChartColumnType columnType)
 {
     this.DisplayName = displayName;
     this.ColumnType  = columnType;
 }
コード例 #7
0
 public static string GetCode(this ChartColumnType columnType)
 {
     return(codes.GetOrThrow(columnType));
 }
コード例 #8
0
 public static bool Flag(ChartColumnType ct, ChartColumnType flag)
 {
     return((ct & flag) == flag);
 }
コード例 #9
0
        public static string TryParseComposed(string code, out ChartColumnType type)
        {
            type = default(ChartColumnType);
            foreach (var item in code.Split(','))
            {
                ChartColumnType temp;
                string error = TryParse(item, out temp);

                if (error.HasText())
                    return error;

                type |= temp;
            }
            return null;
        }
コード例 #10
0
 public static string TryParse(string code, out ChartColumnType type)
 {
     if (fromCodes.TryGetValue(code, out type))
         return null;
     
     return "{0} is not a valid type code, use {1} instead".FormatWith(code, fromCodes.Keys.CommaOr());
 }
コード例 #11
0
 public static bool Flag(ChartColumnType ct, ChartColumnType flag)
 {
     return (ct & flag) == flag;
 }