S7Explorer/Models/ProjectStructure.cs

56 lines
1.7 KiB
C#

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();
}
}
}