matt 9a7fa52bc4 bash# Navigate to your repository
cd D:\shadowed-realms-mobile\ShadowedRealmsMobile\

# Add all the Alliance DTO files
git add src/server/ShadowedRealms.Shared/DTOs/Alliance/

# Commit with descriptive message
git commit -m "Complete Alliance DTOs: 42 files for comprehensive alliance system

- Add all Request/Response DTO pairs for alliance operations
- Include alliance creation, updates, and status management
- Add coalition formation, management, and dissolution DTOs
- Include democratic leadership election and voting DTOs
- Add territory claiming, defense, and contested zone DTOs
- Include member management, activity tracking, and removal DTOs
- Add treasury operations, resource trading, and status DTOs
- Include role management and permission DTOs
- Add research advancement and building construction DTOs

Features supported:
* Complete alliance lifecycle management with democratic processes
* Coalition mechanics preserving alliance identity during KvK events
* Territory system with contested zones and defensive operations
* Treasury and resource management with trading capabilities
* Member activity tracking and automated management tools
* Research trees with collective advancement and benefits
* Building construction with collaborative resource commitment
* Anti-pay-to-win democratic leadership selection processes

All DTOs include:
- Proper file headers with creation dates and descriptions
- Comprehensive XML documentation for all properties
- Validation attributes on request DTOs following established patterns
- Consistent naming conventions and extensible Dictionary properties
- Kingdom-scoped design considerations for horizontal scaling
- Production-ready structure supporting server-authoritative design
2025-10-22 17:11:29 -05:00

81 lines
2.6 KiB
C#

/*
* File: D:\shadowed-realms-mobile\ShadowedRealmsMobile\src\server\ShadowedRealms.Shared\DTOs\Alliance\ResearchAdvancementResponseDto.cs
* Created: 2025-10-22
* Last Modified: 2025-10-22
* Description: Response DTO for alliance research advancement operations
* Last Edit Notes: Initial implementation for research tree progression results
*/
namespace ShadowedRealms.Shared.DTOs.Alliance
{
/// <summary>
/// Response DTO for alliance research advancement operations
/// </summary>
public class ResearchAdvancementResponseDto
{
/// <summary>
/// Alliance identifier conducting research
/// </summary>
public int AllianceId { get; set; }
/// <summary>
/// Research advancement success status
/// </summary>
public bool Success { get; set; }
/// <summary>
/// Advancement result message
/// </summary>
public string Message { get; set; } = string.Empty;
/// <summary>
/// Research project that was advanced
/// </summary>
public Dictionary<string, object> ResearchProject { get; set; } = new();
/// <summary>
/// New research level achieved
/// </summary>
public int NewLevel { get; set; }
/// <summary>
/// Previous research level
/// </summary>
public int PreviousLevel { get; set; }
/// <summary>
/// Benefits unlocked by this advancement
/// </summary>
public List<Dictionary<string, object>> UnlockedBenefits { get; set; } = new();
/// <summary>
/// Resource costs for the advancement
/// </summary>
public Dictionary<string, long> AdvancementCosts { get; set; } = new();
/// <summary>
/// Alliance members who contributed to research
/// </summary>
public List<Dictionary<string, object>> Contributors { get; set; } = new();
/// <summary>
/// Next available research opportunities
/// </summary>
public List<Dictionary<string, object>> NextResearchOptions { get; set; } = new();
/// <summary>
/// Research advancement timestamp
/// </summary>
public DateTime AdvancedAt { get; set; }
/// <summary>
/// Estimated time for next research level
/// </summary>
public TimeSpan? EstimatedNextAdvancement { get; set; }
/// <summary>
/// Alliance-wide bonuses gained from advancement
/// </summary>
public Dictionary<string, object> AllianceBonuses { get; set; } = new();
}
}