using DotNetSiemensPLCToolBoxLibrary.Projectfiles; using System.Collections.ObjectModel; using System.Text; namespace S7Explorer.Models { public class ProjectStructure : ProjectItem { public Project? ProjectData { get; set; } public string ProjectPath { get; set; } = string.Empty; public string ProjectVersion { get; set; } = string.Empty; public DateTime CreationDate { get; set; } public DateTime LastModifiedDate { get; set; } public ProjectItem BlocksFolder { get; } = new ProjectItem { Name = "Blocks" }; public ProjectItem SymbolsFolder { get; } = new ProjectItem { Name = "Symbols" }; public ProjectItem HardwareFolder { get; } = new ProjectItem { Name = "Hardware" }; public ProjectStructure() { Name = "Project"; Children.Add(BlocksFolder); Children.Add(SymbolsFolder); Children.Add(HardwareFolder); } public override object? GetDetailsObject() { return new { ProjectPath, ProjectVersion, CreationDate, LastModifiedDate }; } public override string GetIcon() { return "Project"; } public override string GetExportText() { StringBuilder sb = new StringBuilder(); sb.AppendLine($"Project: {Name}"); sb.AppendLine($"Path: {ProjectPath}"); sb.AppendLine($"Version: {ProjectVersion}"); sb.AppendLine($"Created: {CreationDate}"); sb.AppendLine($"Last Modified: {LastModifiedDate}"); sb.AppendLine(); return sb.ToString(); } } }