Ya perdí el hilo de los cambios pero ahi van.

This commit is contained in:
2025-05-23 15:47:39 -03:00
parent e7e185a9cb
commit 3c1fe15b1f
141 changed files with 9764 additions and 190 deletions

View File

@@ -0,0 +1,18 @@
namespace GestionIntegral.Api.Dtos.Radios
{
public class CancionDto
{
public int Id { get; set; }
public string? Tema { get; set; }
public string? CompositorAutor { get; set; }
public string? Interprete { get; set; }
public string? Sello { get; set; }
public string? Placa { get; set; }
public int? Pista { get; set; }
public string? Introduccion { get; set; }
public int? IdRitmo { get; set; } // Renombrado de Ritmo a IdRitmo para claridad en DTO
public string? NombreRitmo { get; set; } // Para mostrar en UI
public string? Formato { get; set; }
public string? Album { get; set; }
}
}

View File

@@ -0,0 +1,17 @@
namespace GestionIntegral.Api.Dtos.Radios
{
public class CancionEnListaDto // Lo que se va a escribir en cada fila del Excel
{
public string? Tema { get; set; }
public string? Interprete { get; set; }
public string? CompositorAutor { get; set; }
public string? Album { get; set; }
public string? Sello { get; set; }
public string? Placa { get; set; } // Nro de Catálogo / Identificador
public int? Pista { get; set; }
public string? Ritmo { get; set; } // Nombre del ritmo
public string? Formato { get; set; }
public string? Introduccion { get; set; } // Para saber duración o cues
// Podrías añadir campos como "HoraProgramada" si la generación es por franjas
}
}

View File

@@ -0,0 +1,34 @@
using System.ComponentModel.DataAnnotations;
namespace GestionIntegral.Api.Dtos.Radios
{
public class CreateCancionDto
{
[StringLength(255)]
public string? Tema { get; set; } // Tema podría ser el campo más importante
[StringLength(255)]
public string? CompositorAutor { get; set; }
[StringLength(255)]
public string? Interprete { get; set; }
[StringLength(255)]
public string? Sello { get; set; }
[StringLength(255)]
public string? Placa { get; set; }
public int? Pista { get; set; }
[StringLength(255)]
public string? Introduccion { get; set; }
public int? IdRitmo { get; set; } // FK
[StringLength(255)]
public string? Formato { get; set; }
[StringLength(255)]
public string? Album { get; set; }
}
}

View File

@@ -0,0 +1,12 @@
using System.ComponentModel.DataAnnotations;
namespace GestionIntegral.Api.Dtos.Radios
{
public class CreateRitmoDto
{
[StringLength(255, ErrorMessage = "El nombre del ritmo no puede exceder los 255 caracteres.")]
// Aunque la BD permite NULL, para crear usualmente se requeriría un nombre.
// Si se permite crear ritmos sin nombre, quitar [Required]
[Required(ErrorMessage = "El nombre del ritmo es obligatorio.")]
public string NombreRitmo { get; set; } = string.Empty;
}
}

View File

@@ -0,0 +1,23 @@
using System.ComponentModel.DataAnnotations;
namespace GestionIntegral.Api.Dtos.Radios
{
public class GenerarListaRadioRequestDto
{
[Required(ErrorMessage = "El mes es obligatorio.")]
[Range(1, 12, ErrorMessage = "El mes debe estar entre 1 y 12.")]
public int Mes { get; set; }
[Required(ErrorMessage = "El año es obligatorio.")]
[Range(2000, 2999, ErrorMessage = "El año debe ser un valor válido (ej. 2024).")] // Ajusta el rango si es necesario
public int Anio { get; set; }
[Required(ErrorMessage = "La institución es obligatoria.")]
[RegularExpression("^(AADI|SADAIC)$", ErrorMessage = "La institución debe ser 'AADI' o 'SADAIC'.")]
public string Institucion { get; set; } = string.Empty;
[Required(ErrorMessage = "La radio es obligatoria.")]
[RegularExpression("^(FM 99.1|FM 100.3)$", ErrorMessage = "La radio debe ser 'FM 99.1' o 'FM 100.3'.")]
public string Radio { get; set; } = string.Empty;
}
}

View File

@@ -0,0 +1,16 @@
namespace GestionIntegral.Api.Dtos.Radios
{
public class ProgramacionHorariaExcelDto
{
public int Dia { get; set; }
public int Hora { get; set; }
public string? TituloObra { get; set; } // Mapeado desde Cancion.Tema
public string? CompositorAutor { get; set; }
public string? Interprete { get; set; }
public string? Sello { get; set; }
public string? Album { get; set; }
// No se incluyen Pista, Introducción, Formato, Placa, NombreRitmo
// porque el Excel original de VB.NET no los tenía.
// Si se decide mantenerlos en el futuro, se podrían añadir aquí.
}
}

View File

@@ -0,0 +1,8 @@
namespace GestionIntegral.Api.Dtos.Radios
{
public class RitmoDto
{
public int Id { get; set; }
public string? NombreRitmo { get; set; }
}
}

View File

@@ -0,0 +1,34 @@
using System.ComponentModel.DataAnnotations;
namespace GestionIntegral.Api.Dtos.Radios
{
public class UpdateCancionDto
{
[StringLength(255)]
public string? Tema { get; set; }
[StringLength(255)]
public string? CompositorAutor { get; set; }
[StringLength(255)]
public string? Interprete { get; set; }
[StringLength(255)]
public string? Sello { get; set; }
[StringLength(255)]
public string? Placa { get; set; }
public int? Pista { get; set; }
[StringLength(255)]
public string? Introduccion { get; set; }
public int? IdRitmo { get; set; }
[StringLength(255)]
public string? Formato { get; set; }
[StringLength(255)]
public string? Album { get; set; }
}
}

View File

@@ -0,0 +1,10 @@
using System.ComponentModel.DataAnnotations;
namespace GestionIntegral.Api.Dtos.Radios
{
public class UpdateRitmoDto
{
[StringLength(255, ErrorMessage = "El nombre del ritmo no puede exceder los 255 caracteres.")]
[Required(ErrorMessage = "El nombre del ritmo es obligatorio.")]
public string NombreRitmo { get; set; } = string.Empty;
}
}