Seperation of concerns: Seperated used File Management form Overall FIle Management

This commit is contained in:
schnulller
2022-06-05 15:18:32 +02:00
parent abc27c6d04
commit c95059b2e8
22 changed files with 211 additions and 186 deletions

25
HaWeb/Models/FileList.cs Normal file
View File

@@ -0,0 +1,25 @@
namespace HaWeb.Models;
using HaWeb.XMLParser;
using System.Text.Json.Serialization;
public class FileList {
private HashSet<XMLRootDocument>? _Files;
[JsonIgnore]
public IXMLRoot XMLRoot { get; private set; }
public FileList(IXMLRoot xmlRoot) {
XMLRoot = xmlRoot;
}
public void Add(XMLRootDocument document) {
if (document.Prefix != XMLRoot.Prefix)
throw new Exception("Diese Liste kann nur Elemente des Typs " + XMLRoot.Prefix + " enthalten");
if (_Files == null) _Files = new HashSet<XMLRootDocument>();
if (!_Files.Contains(document)) _Files.Add(document);
}
public List<XMLRootDocument>? GetFileList()
=> this._Files != null ? this._Files.ToList() : null;
}