using RobotNet.MapShares.Property;

namespace RobotNet.MapShares.Dtos;

#nullable disable

public class ElementDto
{
    public Guid Id { get; set; }
    public Guid MapId { get; set; }
    public Guid ModelId { get; set; }
    public string ModelName { get; set; }
    public Guid NodeId { get; set; }
    public string Name { get; set; }
    public string NodeName { get; set; }
    public double X { get; set; }
    public double Y { get; set; }
    public double Theta { get; set; }
    public double OffsetX { get; set; }
    public double OffsetY { get; set; }
    public bool IsOpen { get; set; }
    public string Content { get; set; }
}

public class ElementCreateModel
{
    public Guid Id { get; set; }
    public Guid MapId { get; set; }
    public Guid ModelId { get; set; }
    public Guid NodeId { get; set; }
    public string Name { get; set; }
    public double OffsetX { get; set; }
    public double OffsetY { get; set; }
}

public class ElementUpdateModel
{
    public Guid Id { get; set; }
    public string Name { get; set; }
    public double OffsetX { get; set; }
    public double OffsetY { get; set; }
    public bool IsOpen { get; set; }
    public string Content { get; set; }
}

public class ElementPropertyUpdateModel
{
    public ElementProperty[] Properties { get; set; } = [];
}