예제 #1
0
        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);
        }
예제 #2
0
 public static void WriteAngularGeneratedItem(string solutionPath, IGeneratedItem generatedItem)
 {
     generatedItem.CheckArgument(nameof(generatedItem));