public static void GenLoad(StreamWriter sw, string prefix, VarDefine varDefine, Bean.VarData varData, Property.DataOutputFlags flags) { switch (varDefine.TypeNow) { case VarDefine.EType.Date: if (false == string.IsNullOrEmpty(varData.Value)) { sw.WriteLine($"{prefix}V{varDefine.Name}: new Date(\"{varData.Value}\"),"); } break; case VarDefine.EType.Double: if (false == string.IsNullOrEmpty(varData.Value)) { sw.WriteLine($"{prefix}V{varDefine.Name}: {varData.Value},"); } break; case VarDefine.EType.Enum: sw.WriteLine($"{prefix}V{varDefine.Name}: {varDefine.FullName().Replace('.', '_')}.{varData.Value}"); break; case VarDefine.EType.Float: if (false == string.IsNullOrEmpty(varData.Value)) { sw.WriteLine($"{prefix}V{varDefine.Name}: {varData.Value},"); } break; case VarDefine.EType.Int: if (false == string.IsNullOrEmpty(varData.Value)) { sw.WriteLine($"{prefix}V{varDefine.Name}: {varData.Value},"); } break; case VarDefine.EType.Long: if (false == string.IsNullOrEmpty(varData.Value)) { sw.WriteLine($"{prefix}V{varDefine.Name}: {varData.Value},"); } break; case VarDefine.EType.String: var strValue = (null == varData.Value) ? "" : varData.Value; sw.WriteLine($"{prefix}V{varDefine.Name}: \"{strValue}\","); break; case VarDefine.EType.List: sw.WriteLine($"{prefix}V{varDefine.Name}: ["); foreach (var bean in varData.Beans) { sw.Write(prefix + " "); GenLoad(sw, prefix + " ", varDefine.Reference, bean, flags); sw.WriteLine(","); } sw.WriteLine($"{prefix}],"); break; } }
public static string GetDefaultInitialize(VarDefine var) { switch (var.TypeNow) { case VarDefine.EType.Double: if (string.IsNullOrEmpty(var.Default)) { break; } return($" = {var.Default};"); case VarDefine.EType.Enum: if (string.IsNullOrEmpty(var.Default)) { break; } return($" = {var.Name}.{var.Default};"); case VarDefine.EType.Float: if (string.IsNullOrEmpty(var.Default)) { break; } return($" = {var.Default};"); case VarDefine.EType.Int: if (string.IsNullOrEmpty(var.Default)) { break; } return($" = {var.Default};"); case VarDefine.EType.List: return($" = new List<{var.Reference.FullName()}>();"); case VarDefine.EType.Date: if (string.IsNullOrEmpty(var.Default)) { return($" = new DateTime();"); } return($" = new DateTime(\"{var.Default}\")"); case VarDefine.EType.Long: if (string.IsNullOrEmpty(var.Default)) { break; } return($" = {var.Default};"); case VarDefine.EType.String: return($" = \"{var.Default}\";"); default: throw new Exception("unknown type"); } return(""); }
private bool ExistData(VerifyParam param, VarDefine foreignVar) { foreach (var beanData in foreignVar.Parent.Document.Beans) { Bean.VarData varData = beanData.GetLocalVarData(foreignVar.Name); if (null != varData && param.NewValue.Equals(varData.Value)) { return(true); } } return(false); }
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 string GetName(VarDefine var) { switch (var.TypeNow) { case VarDefine.EType.Double: return("double"); case VarDefine.EType.Enum: return(var.Name); case VarDefine.EType.Float: return("float"); case VarDefine.EType.Int: return("int"); case VarDefine.EType.List: return($"List<{var.Reference.FullName()}>"); case VarDefine.EType.Date: return("DateTime"); case VarDefine.EType.Long: return("long"); case VarDefine.EType.String: return("string"); default: throw new Exception("unknown type"); } }
public static string GetName(VarDefine var) { switch (var.TypeNow) { case VarDefine.EType.Double: return("number"); case VarDefine.EType.Enum: return(var.FullName().Replace('.', '_')); case VarDefine.EType.Float: return("number"); case VarDefine.EType.Int: return("number"); case VarDefine.EType.List: return($"Array<_{var.Reference.FullName().Replace('.', '_')}>"); case VarDefine.EType.Date: return("Date"); case VarDefine.EType.Long: return("bigint"); case VarDefine.EType.String: return("string"); default: throw new Exception("unknown type"); } }
public static void GenLoader(System.IO.StreamWriter sw, Document doc, VarDefine var, string prefix, Property.DataOutputFlags flags) { switch (var.TypeNow) { case VarDefine.EType.Double: sw.WriteLine($"{prefix}if (!string.IsNullOrEmpty(e.InnerText))"); sw.WriteLine($"{prefix} V{var.Name} = double.Parse(e.InnerText);"); break; case VarDefine.EType.Enum: sw.WriteLine($"{prefix}V{var.Name} = ({var.Name})System.Enum.Parse(typeof({var.Name}), e.InnerText);"); break; case VarDefine.EType.Float: sw.WriteLine($"{prefix}if (!string.IsNullOrEmpty(e.InnerText))"); sw.WriteLine($"{prefix} V{var.Name} = float.Parse(e.InnerText);"); break; case VarDefine.EType.Int: sw.WriteLine($"{prefix}if (!string.IsNullOrEmpty(e.InnerText))"); sw.WriteLine($"{prefix} V{var.Name} = int.Parse(e.InnerText);"); break; case VarDefine.EType.List: sw.WriteLine($"{prefix}Manager.LoadList(e, (XmlElement eInList) =>"); sw.WriteLine($"{prefix}{{"); sw.WriteLine($"{prefix} var beanInList = new {var.Reference.FullName()}(eInList);"); sw.WriteLine($"{prefix} V{var.Name}.Add(beanInList);"); if (false == FormMain.Instance.PropertyManager.Properties.TryGetValue(Property.IdList.PName, out var pid)) { throw new Exception("Property.Id miss!"); } foreach (var varRef in var.Reference.Variables) { if (false == varRef.IsKeyable()) { continue; } if (false == varRef.PropertiesList.Contains(pid)) { continue; } sw.WriteLine($"{prefix} V{var.Name}Map{varRef.Name}.Add(beanInList.V{varRef.Name}, beanInList);"); } sw.WriteLine($"{prefix}}});"); break; case VarDefine.EType.Long: sw.WriteLine($"{prefix}if (!string.IsNullOrEmpty(e.InnerText))"); sw.WriteLine($"{prefix} V{var.Name} = long.Parse(e.InnerText);"); break; case VarDefine.EType.String: sw.WriteLine($"{prefix}V{var.Name} = e.InnerText;"); break; case VarDefine.EType.Date: sw.WriteLine($"{prefix}V{var.Name} = DateTime.Parse(e.InnerText);"); break; 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; } }