ManageMapEntitiesResponse.cs 1.88 KB
namespace Rcs.Application.MessageBus.Responses;

/// <summary>
/// 管理地图嵌套实体响应
/// </summary>
public class ManageMapEntitiesResponse
{
    /// <summary>
    /// 地图ID
    /// </summary>
    public Guid MapId { get; }

    /// <summary>
    /// 地图编码
    /// </summary>
    public string MapCode { get; }

    /// <summary>
    /// 是否成功
    /// </summary>
    public bool Success { get; }

    /// <summary>
    /// 消息
    /// </summary>
    public string Message { get; }

    /// <summary>
    /// 操作详情
    /// </summary>
    public OperationResult? OperationDetails { get; }

    public ManageMapEntitiesResponse(Guid mapId, string mapCode, bool success = true, string message = "操作成功", OperationResult? operationDetails = null)
    {
        MapId = mapId;
        MapCode = mapCode;
        Success = success;
        Message = message;
        OperationDetails = operationDetails;
    }
}

/// <summary>
/// 操作结果详情
/// </summary>
public class OperationResult
{
    /// <summary>
    /// 节点操作结果
    /// </summary>
    public EntityOperationResult? Nodes { get; set; }

    /// <summary>
    /// 边操作结果
    /// </summary>
    public EntityOperationResult? Edges { get; set; }

    /// <summary>
    /// 资源操作结果
    /// </summary>
    public EntityOperationResult? Resources { get; set; }
}

/// <summary>
/// 实体操作结果
/// </summary>
public class EntityOperationResult
{
    /// <summary>
    /// 添加成功的数量
    /// </summary>
    public int AddedCount { get; set; }

    /// <summary>
    /// 更新成功的数量
    /// </summary>
    public int UpdatedCount { get; set; }

    /// <summary>
    /// 删除成功的数量
    /// </summary>
    public int DeletedCount { get; set; }

    /// <summary>
    /// 错误信息
    /// </summary>
    public List<string> Errors { get; set; } = new();
}