matt 3459d449ce Complete DTO Layer Implementation - Fix Controller Compilation
- Created 37 individual DTO classes across all domains
- Common DTOs: ErrorResponseDto, SuccessResponseDto for consistent API responses
- Player DTOs: 10 classes for profile, castle, VIP, teleportation, resources, combat prep
- Combat DTOs: 11 classes for field interception system, marches, battles, analytics
- Alliance DTOs: 3 classes for status, coalitions, research advancement
- Kingdom DTOs: 4 classes for status, KvK events, voting, tax distribution
- Purchase DTOs: 6 classes for validation, processing, balance monitoring, fraud detection

All DTOs include proper validation attributes, comprehensive XML documentation,
and support for core innovations (field interception, anti-pay-to-win, coalitions).

Controllers should now compile successfully - ready for compilation testing.
2025-10-19 20:46:41 -05:00

36 lines
1.0 KiB
C#

/*
* File: D:\shadowed-realms-mobile\ShadowedRealmsMobile\src\server\ShadowedRealms.Shared\DTOs\Combat\MarchCancellationRequestDto.cs
* Created: 2025-10-19
* Last Modified: 2025-10-19
* Description: Request DTO for march cancellation
* Last Edit Notes: Individual file implementation for march cancellation input validation
*/
using System.ComponentModel.DataAnnotations;
namespace ShadowedRealms.Shared.DTOs.Combat
{
/// <summary>
/// Request DTO for march cancellation
/// </summary>
public class MarchCancellationRequestDto
{
/// <summary>
/// ID of the march to cancel
/// </summary>
[Required]
[Range(1, int.MaxValue)]
public int MarchId { get; set; }
/// <summary>
/// Reason for cancellation
/// </summary>
[StringLength(200)]
public string? CancellationReason { get; set; }
/// <summary>
/// Whether to apply early return penalties
/// </summary>
public bool AcceptPenalties { get; set; } = true;
}
}