2025-08-25 00:06:43 -03:00
|
|
|
|
2025-08-27 18:15:12 -03:00
|
|
|
using System.ComponentModel.DataAnnotations;
|
|
|
|
|
2025-08-25 00:06:43 -03:00
|
|
|
namespace CampusWorkshops.Api.Dtos;
|
|
|
|
|
2025-08-27 18:15:12 -03:00
|
|
|
// DTO para criação de Workshop com validações
|
2025-08-25 00:06:43 -03:00
|
|
|
public record CreateWorkshopRequest(
|
2025-08-27 18:15:12 -03:00
|
|
|
[Required(ErrorMessage = "Título é obrigatório")]
|
|
|
|
[StringLength(120, MinimumLength = 3, ErrorMessage = "Título deve ter entre 3 e 120 caracteres")]
|
|
|
|
string Title,
|
|
|
|
|
|
|
|
[StringLength(2000, ErrorMessage = "Descrição não pode exceder 2000 caracteres")]
|
2025-08-25 00:06:43 -03:00
|
|
|
string? Description,
|
2025-08-27 18:15:12 -03:00
|
|
|
|
|
|
|
[Required(ErrorMessage = "Data de início é obrigatória")]
|
2025-08-25 00:06:43 -03:00
|
|
|
DateTimeOffset StartAt,
|
2025-08-27 18:15:12 -03:00
|
|
|
|
|
|
|
[Required(ErrorMessage = "Data de fim é obrigatória")]
|
2025-08-25 00:06:43 -03:00
|
|
|
DateTimeOffset EndAt,
|
2025-08-27 18:15:12 -03:00
|
|
|
|
|
|
|
[StringLength(200, ErrorMessage = "Localização não pode exceder 200 caracteres")]
|
2025-08-25 00:06:43 -03:00
|
|
|
string? Location,
|
2025-08-27 18:15:12 -03:00
|
|
|
|
|
|
|
[Range(1, 1000, ErrorMessage = "Capacidade deve estar entre 1 e 1000")]
|
2025-08-25 00:06:43 -03:00
|
|
|
int Capacity,
|
2025-08-27 18:15:12 -03:00
|
|
|
|
2025-08-25 00:06:43 -03:00
|
|
|
bool IsOnline
|
|
|
|
);
|