Exemplo n.º 1
0
        private static string GetDefaultInitialize(VarDefine var)
        {
            switch (var.TypeNow)
            {
            case VarDefine.EType.String:
            case VarDefine.EType.Date:
                return($"\"{var.Default}\"");

            case VarDefine.EType.Int:
            case VarDefine.EType.Long:
            case VarDefine.EType.Float:
            case VarDefine.EType.Double:
                return(var.Default);

            case VarDefine.EType.Enum:
                return($"Config.Enums.{var.FullNamePinyin().Replace('.', '_')}.{var.DefaultPinyin}]");

            default:
                throw new Exception("unknown type");
            }
        }
Exemplo n.º 2
0
        public static void GenLoad(StreamWriter sw, string baseTable, VarDefine varDefine, Bean.VarData varData, Property.DataOutputFlags flags)
        {
            switch (varDefine.TypeNow)
            {
            case VarDefine.EType.Date:
                // 先使用string. 看看lua怎么用。
                if (false == string.IsNullOrEmpty(varData.Value))
                {
                    sw.WriteLine($"{baseTable}.{varDefine.NamePinyin} = \"{varData.Value}\"");
                }
                else if (false == string.IsNullOrEmpty(varDefine.Default))
                {
                    sw.WriteLine($"{baseTable}.{varDefine.NamePinyin} = \"{varDefine.Default}\"");
                }
                break;

            case VarDefine.EType.Int:
            case VarDefine.EType.Float:
            case VarDefine.EType.Double:
            case VarDefine.EType.Long:
                if (false == string.IsNullOrEmpty(varData.Value))
                {
                    sw.WriteLine($"{baseTable}.{varDefine.NamePinyin} = {varData.Value}");
                }
                else if (false == string.IsNullOrEmpty(varDefine.Default))
                {
                    sw.WriteLine($"{baseTable}.{varDefine.NamePinyin} = {varDefine.Default}");
                }
                break;

            case VarDefine.EType.Enum:
                var enumClassName = varDefine.FullNamePinyin().Replace('.', '_');
                if (false == string.IsNullOrEmpty(varData.Value))
                {
                    sw.WriteLine($"{baseTable}.{varDefine.NamePinyin} = Config.Enums.{enumClassName}.{varData.ValuePinyin}");
                }
                else if (false == string.IsNullOrEmpty(varDefine.Default))
                {
                    sw.WriteLine($"{baseTable}.{varDefine.NamePinyin} = Config.Enums.{enumClassName}.{varDefine.DefaultPinyin}");
                }
                break;

            case VarDefine.EType.String:
                if (false == string.IsNullOrEmpty(varData.Value))
                {
                    sw.WriteLine($"{baseTable}.{varDefine.NamePinyin} = \"{varData.Value}\"");
                }
                else if (false == string.IsNullOrEmpty(varDefine.Default))
                {
                    sw.WriteLine($"{baseTable}.{varDefine.NamePinyin} = \"{varDefine.Default}\"");
                }
                else
                {
                    sw.WriteLine($"{baseTable}.{varDefine.NamePinyin} = \"\"");
                }
                break;

            case VarDefine.EType.List:
                sw.WriteLine($"{baseTable}.{varDefine.NamePinyin} = {{}}");
                foreach (var bean in varData.Beans)
                {
                    var beanVarName = $"{baseTable}.{varDefine.NamePinyin}[{bean.RowIndex + 1}]";
                    sw.WriteLine($"{beanVarName} = {{}}");
                    GenLoad(sw, beanVarName, varDefine.Reference, bean, flags);
                }
                break;
            }
        }