Files
StructureHelper/DataAccess/DTOs/DTOEntities/Shapes/LinePolygonShapeDTO.cs
2025-10-26 22:19:25 +05:00

55 lines
1.3 KiB
C#

using Newtonsoft.Json;
using StructureHelperCommon.Models.Shapes;
namespace DataAccess.DTOs
{
public class LinePolygonShapeDTO : ILinePolygonShape
{
private readonly List<IVertex> _vertices = [];
[JsonProperty("Id")]
public Guid Id { get; }
[JsonProperty("Vertices")]
public List<IVertex> VerticesList {get => _vertices;}
[JsonProperty("IsClosed")]
public bool IsClosed { get; set; }
[JsonIgnore]
public IReadOnlyList<IVertex> Vertices => _vertices;
public LinePolygonShapeDTO(Guid id)
{
Id = id;
}
public IVertex AddVertex(IVertex vertex)
{
_vertices.Add(vertex);
return vertex;
}
public IVertex AddVertexAfter(IVertex existing, IVertex vertex)
{
throw new NotImplementedException();
}
public IVertex AddVertexBefore(IVertex existing, IVertex vertex)
{
throw new NotImplementedException();
}
public void Clear()
{
_vertices.Clear();
}
public IVertex InsertVertex(int index, IVertex vertex)
{
throw new NotImplementedException();
}
public void RemoveVertex(IVertex vertex)
{
throw new NotImplementedException();
}
}
}