public static void WriteProperties(string solutionPath, IGeneratedItem generatedItem) { generatedItem.CheckArgument(nameof(generatedItem)); var separator = ";"; var fileName = $"{generatedItem.FullName}{generatedItem.FileExtension}"; var filePath = Path.Combine(solutionPath, fileName); var resultItems = new List <Property>(); if (File.Exists(filePath)) { resultItems.AddRange(File.ReadAllLines(filePath).Select(l => ToProperty(l, separator))); } foreach (var line in generatedItem.SourceCode) { var entry = ToProperty(line, separator); var existEntry = resultItems.FirstOrDefault(e => e.AppName.Equals(entry.AppName) && e.EntityName.Equals(entry.EntityName) && e.PropertyName.Equals(entry.PropertyName) && e.Attribute.Equals(entry.Attribute)); if (existEntry == null) { resultItems.Add(entry); } } File.WriteAllLines(filePath, resultItems.Select(p => ToCsv(p, separator)), Encoding.Default); }
public static void WriteAngularGeneratedItem(string solutionPath, IGeneratedItem generatedItem) { generatedItem.CheckArgument(nameof(generatedItem));