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"); } }
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; } }