private void InitPartitions() { Template.Partitions.Clear(); foreach (var item in lstPart.Items) { var part = new PartitionDefinition { Name = item.Cells[0].Value.ToStringSafely(), FileName = item.Cells[1].Value.ToStringSafely(), Output = item.Cells[2].Value.ToStringSafely(), Loop = item.Cells[3].Value.ToStringSafely() == string.Empty ? PartitionLoop.None : (PartitionLoop)Enum.Parse(typeof(PartitionLoop), item.Cells[3].Value.ToStringSafely()), Syntax = item.Cells[4].Value.ToStringSafely() }; if (string.IsNullOrEmpty(part.Name) || string.IsNullOrEmpty(part.FileName) || string.IsNullOrEmpty(part.Output)) { continue; } part.FilePath = Path.Combine(StaticUnity.TemplateProvider.WorkDir, Template.Id, part.FileName); Template.Partitions.Add(part); } }
private GenerateResult ProcessPartitionCodeFile(PartitionDefinition part, TemplateHost host, object schema, object profile, TemplateOption option, string content) { if (host.Errors.HasErrors) { var sb = new StringBuilder(); sb.AppendLine("生成 " + (schema ?? "全局") + " 的 " + part.Name + " 时出错。"); foreach (CompilerError error in host.Errors) { sb.AppendLine(error.ErrorText); } Console.WriteLine(sb.ToString()); MessageBoxHelper.ShowError(sb.ToString()); return(null); } else { var result = new GenerateResult(part, content); if (option.WriteToDisk && result.WriteToDisk) { PartitionWriter.Write(result, schema, profile, option.OutputDirectory); } return(result); } }
private GenerateResult ProcessPartitionCodeFile(PartitionDefinition part, object schema, object profile, TemplateOption option, string content) { var result = new GenerateResult(part, content); if (option.WriteToDisk && result.WriteToDisk) { PartitionWriter.Write(result, schema, profile, option.OutputDirectory); } return(result); }
/// <summary> /// </summary> /// <param name="definition"></param> public PartitionDefinitionWriter(PartitionDefinition definition){ Definition = definition; Parameters = definition; }
public GenerateResult(PartitionDefinition part, string content) { Partition = part; Content = content; WriteToDisk = !string.IsNullOrEmpty(part.FilePath); }
/// <summary> /// </summary> /// <param name="definition"></param> public PartitionDefinitionWriter(PartitionDefinition definition) { Definition = definition; Parameters = definition; }