private static void EnumCpp(StringBuilder code, EnumConfig config)
        {
            code.Append($@"

/**
* @brief {ToRemString(config.Caption)}ö¾Ù
*/
    enum class {config.Name}Classify
{{");
            foreach (var item in config.Items)
            {
                code.Append($@"

    //{item.Caption}");
                int vl;
                if (int.TryParse(item.Value, out vl))
                {
                    code.Append($@"
    {item.Name} = 0x{vl:X},");
                }
                else
                {
                    code.Append($@"
    {item.Name} = item.Value,");
                }
            }
            code.Append(@"
};");
        }
Example #2
0
 private void Foreach(Action <EnumConfig> action, EnumConfig enumConfig)
 {
     if (enumConfig != null)
     {
         action(enumConfig);
     }
 }
Example #3
0
        /// <summary>
        ///     生成枚举
        /// </summary>
        public static void TypeDefaultScript(StringBuilder code, EnumConfig enumc)
        {
            code.Append($@"
/**
 * {enumc.Caption}
 */
var {enumc.Name.ToLWord()} = [");
            bool isFirst = true;

            foreach (var item in enumc.Items)
            {
                if (isFirst)
                {
                    isFirst = false;
                }
                else
                {
                    code.Append(',');
                }
                code.Append($@"
    {{ value: {item.Value}, text: '{item.Caption}' }}");
            }
            code.Append($@"
];

/**
 * {enumc.Caption}之表格格式化方法
 */
function {enumc.Name.ToLWord()}Format(value) {{
    return arrayFormat(value, {enumc.Name.ToLWord()});
}}
");
        }
Example #4
0
        /// <summary>
        ///     生成枚举
        /// </summary>
        public static void EnumName(StringBuilder code, EnumConfig enumc, List <EnumConfig> doed)
        {
            if (doed.Contains(enumc))
            {
                return;
            }
            doed.Add(enumc);
            code.Append($@"
        /// <summary>
        ///     {enumc.Caption}名称转换
        /// </summary>
        public static string ToCaption(this {enumc.Name} value)
        {{
            switch(value)
            {{");
            foreach (var item in enumc.Items)
            {
                code.Append($@"
                case {enumc.Name}.{item.Name}:
                    return ""{item.Caption}"";");
            }
            code.Append($@"
                default:
                    return ""{enumc.Caption}(未知)"";
            }}
        }}
");
        }
Example #5
0
        public void Configuration(IAppBuilder app)
        {
            ConfigureAuth(app);

            ParamaterConfig.Initialize();
            EnumConfig.Start();
        }
 private static void ForeachByCurrent(Action <EnumConfig> action, EnumConfig enumConfig)
 {
     if (enumConfig != null)
     {
         action(enumConfig);
     }
 }
Example #7
0
        /// <summary>
        /// 枚举编辑的方法(UI后期实现)
        /// </summary>
        /// <param name="enumConfig"></param>
        /// <returns></returns>
        private static void EditEnumCommand(EnumConfig enumConfig)
        {
            var window = new EnumEdit();
            var vm     = (EnumEditViewModel)window.DataContext;

            vm.Model.Config = enumConfig;
            window.ShowDialog();
        }
Example #8
0
        void IPolicyConfigControl.ReadFromConfig(PolicyConfig config)
        {
            EnumConfig controlConfig = config.EnumConfig;

            Visibilities.Bind(controlConfig.VisibilitiesToCheck);

            SummaryDocumentationTagCheckBox.Checked = controlConfig.SummaryDocumentationRequired;
        }
Example #9
0
        void IPolicyConfigControl.WriteToConfig(PolicyConfig config)
        {
            EnumConfig controlConfig = config.EnumConfig;

            controlConfig.VisibilitiesToCheck = Visibilities.GetVisibilites();

            controlConfig.SummaryDocumentationRequired = SummaryDocumentationTagCheckBox.Checked;
        }
Example #10
0
 public PolicyConfig()
 {
     ClassConfig     = new ClassConfig();
     StructConfig    = new ClassConfig();
     InterfaceConfig = new ClassConfig();
     DelegateConfig  = new DelegateConfig();
     MethodConfig    = new MethodConfig();
     EventConfig     = new EventConfig();
     FieldConfig     = new FieldConfig();
     PropertyConfig  = new PropertyConfig();
     EnumConfig      = new EnumConfig();
 }
Example #11
0
        protected override void ProcessInternal(INamedTypeSymbol symbol, PolicyConfig policyConfig, IViolationReporter violationReporter)
        {
            EnumConfig enumConfig = policyConfig.EnumConfig;

            if (!AnyVisibilityMatches(symbol.DeclaredAccessibility, enumConfig.VisibilitiesToCheck))
            {
                return;
            }

            IDocumentationComment classDocumentation = symbol.GetDocumentationComment();

            if (enumConfig.SummaryDocumentationRequired && string.IsNullOrWhiteSpace(classDocumentation.SummaryText))
            {
                violationReporter.Report(ViolationFromSymbol(ViolationMessage.MissingSummaryDocumentation, symbol));
            }
        }
Example #12
0
        /// <summary>
        /// 根据系统配置的配置编号获取对应的配置信息
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public EDRS.Model.XY_DZJZ_XTPZ GetConfigById(EnumConfig econfig)
        {
            string where = string.Empty;

            object[] values = new object[1];

            where     = " and CONFIGID=:CONFIGID and SYSTEMMARK=1";
            values[0] = (int)econfig;

            List <EDRS.Model.XY_DZJZ_XTPZ> modelList = GetModelList(where, values);

            if (modelList != null && modelList.Count > 0)
            {
                return(modelList[0]);
            }
            return(null);
        }
Example #13
0
        public PolicyConfig LoadDefaults()
        {
            ClassConfig.LoadDefaults();
            StructConfig.LoadDefaults();
            InterfaceConfig.LoadDefaults();
            DelegateConfig.LoadDefaults();
            MethodConfig.LoadDefaults();
            EventConfig.LoadDefaults();
            FieldConfig.LoadDefaults();
            PropertyConfig.LoadDefaults();
            EnumConfig.LoadDefaults();

            SkipMerges    = true;
            SkipBranches  = true;
            SkipRollbacks = true;
            SkipUndeletes = true;

            return(this);
        }
Example #14
0
        public void ToggleRuleActivation(bool activate, bool recursive = true)
        {
            SkipMerges    = activate;
            SkipBranches  = activate;
            SkipRollbacks = activate;
            SkipUndeletes = activate;

            if (!recursive)
            {
                return;
            }

            ClassConfig.ToggleRuleActivation(activate);
            StructConfig.ToggleRuleActivation(activate);
            InterfaceConfig.ToggleRuleActivation(activate);
            DelegateConfig.ToggleRuleActivation(activate);
            MethodConfig.ToggleRuleActivation(activate);
            EventConfig.ToggleRuleActivation(activate);
            FieldConfig.ToggleRuleActivation(activate);
            PropertyConfig.ToggleRuleActivation(activate);
            EnumConfig.ToggleRuleActivation(activate);
        }
        private static void EnumCode(StringBuilder code, EnumConfig config)
        {
            code.Append($@"

    /// <summary>
    /// {ToRemString(config.Caption)}
    /// </summary>
    /// <remark>
    /// {ToRemString(config.Description)}
    /// </remark>");
            if (config.IsFlagEnum)
            {
                code.Append(@"
    [Flags]");
            }
            code.Append($@"
    public enum {config.Name}
    {{");
            foreach (var item in config.Items)
            {
                code.Append($@"
        /// <summary>
        /// {ToRemString(item.Caption)}
        /// </summary>");
                int vl;
                if (int.TryParse(item.Value, out vl))
                {
                    code.Append($@"
        {item.Name} = 0x{vl:X},");
                }
                else
                {
                    code.Append($@"
        {item.Name} = item.Value,");
                }
            }
            code.Append(@"
    }");
        }
Example #16
0
        private void ReadEnum(Type type)
        {
            EnumConfig config = _project.Enums.FirstOrDefault(p => p.Name == type.Name) ?? new EnumConfig
            {
                Name = type.Name
            };

            _project.Add(config);
            GetInfo(config, type);
            foreach (var field in type.GetFields(BindingFlags.Static | BindingFlags.Public))
            {
                var col = config.Items.FirstOrDefault(p => p.Name == field.Name);
                if (col == null)
                {
                    config.Add(col = new EnumItem
                    {
                        Name  = field.Name,
                        Value = Convert.ToInt64(field.GetValue(null)).ToString()
                    });
                }
                GetInfo(col, type, field);
            }
        }
Example #17
0
        private void SaveEnum(EnumConfig type, string path, bool checkState = true)
        {
            var filename = Path.Combine(path, type.Name + ".enm");

            if (checkState && !CheckCanSave(type, filename))
            {
                return;
            }
            DeleteOldFile(type, filename, false);

            if (type.IsDelete)
            {
                Solution.Enums.Remove(type);
            }
            else
            {
                foreach (var field in type.Items.Where(p => p.IsDelete).ToArray())
                {
                    type.Items.Remove(field);
                }
            }
            Serializer(filename, type);
        }
Example #18
0
 public void Configuration(IAppBuilder app)
 {
     EnumConfig.Start();
 }
Example #19
0
        public static void CheckEnum(PropertyConfig column)
        {
            var line = column.Description?.Trim(CoderBase.NoneLanguageChar) ?? "";

            StringBuilder sb          = new StringBuilder();
            StringBuilder caption     = new StringBuilder();
            bool          preIsNumber = false;
            bool          startEnum   = false;
            EnumConfig    ec          = new EnumConfig
            {
                Name        = column.Parent.Name.ToUWord() + column.Name.ToUWord(),
                Description = column.Description,
                Caption     = column.Caption,
                Items       = new ConfigCollection <EnumItem>()
            };
            EnumItem ei = new EnumItem();

            foreach (var c in line)
            {
                if (c >= '0' && c <= '9')
                {
                    if (!preIsNumber)
                    {
                        if (!startEnum)
                        {
                            caption.Append(sb);
                        }
                        else if (sb.Length > 0)
                        {
                            new List <string>().Add(sb.ToString());
                            ei.Caption = sb.ToString();
                        }
                        sb        = new StringBuilder();
                        startEnum = true;
                    }
                    preIsNumber = true;
                }
                else
                {
                    if (preIsNumber)
                    {
                        if (sb.Length > 0)
                        {
                            ei = new EnumItem
                            {
                                Value = sb.ToString()
                            };
                            ec.Items.Add(ei);
                            sb = new StringBuilder();
                        }
                    }
                    preIsNumber = false;
                }
                sb.Append(c);
            }

            if (!startEnum)
            {
                return;
            }
            if (sb.Length > 0)
            {
                if (preIsNumber)
                {
                    ec.Items.Add(new EnumItem
                    {
                        Value = sb.ToString()
                    });
                }
                else
                {
                    ei.Caption = sb.ToString();
                }
            }

            if (ec.Items.Count > 0)
            {
                ec.LinkField       = column.Key;
                column.EnumConfig  = ec;
                column.CustomType  = ec.Name;
                column.Description = line;
                foreach (var item in ec.Items)
                {
                    if (string.IsNullOrEmpty(item.Caption))
                    {
                        column.EnumConfig = null;
                        column.CustomType = null;
                        return;
                    }
                    var arr = item.Caption.Trim(CoderBase.NoneNameChar).Split(CoderBase.NoneNameChar, StringSplitOptions.RemoveEmptyEntries);
                    if (arr.Length == 0)
                    {
                        column.EnumConfig = null;
                        column.CustomType = null;
                        return;
                    }
                    item.Caption = arr[0];
                    item.Name    = BaiduFanYi.FanYiWord(item.Caption.MulitReplace2("", "表示"));
                }
                if (caption.Length > 0)
                {
                    column.Caption = caption.ToString();
                }
            }
            else
            {
                column.EnumConfig = null;
                column.CustomType = null;
            }
        }
Example #20
0
 private void Foreach(Func <EnumConfig, bool> condition, Action <EnumConfig> action, EnumConfig enumConfig)
 {
     if (enumConfig != null && condition(enumConfig))
     {
         action(enumConfig);
     }
 }
 private static void ForeachByCurrent(Func <EnumConfig, bool> condition, Action <EnumConfig> action, EnumConfig enumConfig)
 {
     if (enumConfig != null && condition(enumConfig))
     {
         action(enumConfig);
     }
 }