line-gestao-api/Dtos/LinesBatchExcelPreviewDtos.cs

113 lines
4.0 KiB
C#

using System;
using System.Collections.Generic;
namespace line_gestao_api.Dtos
{
public sealed class LinesBatchExcelPreviewResultDto
{
public string? FileName { get; set; }
public string? SheetName { get; set; }
public int NextItemStart { get; set; }
public int TotalRows { get; set; }
public int ValidRows { get; set; }
public int InvalidRows { get; set; }
public int DuplicateRows { get; set; }
public bool CanProceed { get; set; }
public List<LinesBatchExcelIssueDto> HeaderErrors { get; set; } = new();
public List<LinesBatchExcelIssueDto> HeaderWarnings { get; set; } = new();
public List<LinesBatchExcelPreviewRowDto> Rows { get; set; } = new();
}
public sealed class LinesBatchExcelPreviewRowDto
{
public int SourceRowNumber { get; set; }
public int? SourceItem { get; set; }
public int? GeneratedItemPreview { get; set; }
public bool Valid { get; set; }
public bool DuplicateLinhaInFile { get; set; }
public bool DuplicateChipInFile { get; set; }
public bool DuplicateLinhaInSystem { get; set; }
public bool DuplicateChipInSystem { get; set; }
public CreateMobileLineDto Data { get; set; } = new();
public List<LinesBatchExcelIssueDto> Errors { get; set; } = new();
public List<LinesBatchExcelIssueDto> Warnings { get; set; } = new();
}
public sealed class LinesBatchExcelIssueDto
{
public string? Column { get; set; }
public string Message { get; set; } = string.Empty;
}
public sealed class AssignReservaLinesRequestDto
{
public string? ClienteDestino { get; set; }
public string? UsuarioDestino { get; set; }
public string? SkilDestino { get; set; }
public List<Guid> LineIds { get; set; } = new();
}
public sealed class MoveLinesToReservaRequestDto
{
public List<Guid> LineIds { get; set; } = new();
}
public sealed class AssignReservaLinesResultDto
{
public int Requested { get; set; }
public int Updated { get; set; }
public int Failed { get; set; }
public List<AssignReservaLineItemResultDto> Items { get; set; } = new();
}
public sealed class AssignReservaLineItemResultDto
{
public Guid Id { get; set; }
public int Item { get; set; }
public string? Linha { get; set; }
public string? Chip { get; set; }
public string? ClienteAnterior { get; set; }
public string? ClienteNovo { get; set; }
public bool Success { get; set; }
public string Message { get; set; } = string.Empty;
}
public sealed class BatchLineStatusUpdateRequestDto
{
// "block" | "unblock"
public string? Action { get; set; }
public string? BlockStatus { get; set; }
public bool ApplyToAllFiltered { get; set; }
public List<Guid> LineIds { get; set; } = new();
// Filtros da tela Geral
public string? Search { get; set; }
public string? Skil { get; set; }
public List<string> Clients { get; set; } = new();
public string? AdditionalMode { get; set; }
public string? AdditionalServices { get; set; }
public string? Usuario { get; set; }
}
public sealed class BatchLineStatusUpdateResultDto
{
public int Requested { get; set; }
public int Updated { get; set; }
public int Failed { get; set; }
public List<BatchLineStatusUpdateItemResultDto> Items { get; set; } = new();
}
public sealed class BatchLineStatusUpdateItemResultDto
{
public Guid Id { get; set; }
public int Item { get; set; }
public string? Linha { get; set; }
public string? Usuario { get; set; }
public string? StatusAnterior { get; set; }
public string? StatusNovo { get; set; }
public bool Success { get; set; }
public string Message { get; set; } = string.Empty;
}
}