/*
* File: D:\shadowed-realms-mobile\ShadowedRealmsMobile\src\server\ShadowedRealms.Shared\DTOs\Alliance\HostSelectionResponseDto.cs
* Created: 2025-10-22
* Last Modified: 2025-10-22
* Description: Response DTO for KvK host selection and democratic leadership
* Last Edit Notes: Initial creation following established Alliance DTO patterns
*/
namespace ShadowedRealms.Shared.DTOs.Alliance
{
///
/// Response DTO for KvK host selection and democratic leadership
///
public class HostSelectionResponseDto
{
///
/// Unique identifier for the host selection process
///
public int SelectionId { get; set; }
///
/// KvK event this selection is for
///
public int KvKEventId { get; set; }
///
/// Current host alliance (if selected)
///
public int? HostAllianceId { get; set; }
///
/// Name of the host alliance
///
public string? HostAllianceName { get; set; }
///
/// Alliances eligible to be hosts
///
public List> EligibleHosts { get; set; } = new();
///
/// Current voting results
///
public Dictionary VotingResults { get; set; } = new();
///
/// Alliances that have voted
///
public List> VotingParticipants { get; set; } = new();
///
/// Selection criteria and requirements
///
public Dictionary SelectionCriteria { get; set; } = new();
///
/// Time remaining for voting
///
public TimeSpan? VotingTimeRemaining { get; set; }
///
/// Minimum votes required for selection
///
public int MinimumVotes { get; set; }
///
/// Selection status (Nominating, Voting, Completed, Failed)
///
public string SelectionStatus { get; set; } = string.Empty;
///
/// Host responsibilities and privileges
///
public Dictionary HostResponsibilities { get; set; } = new();
///
/// When the selection process started
///
public DateTime SelectionStarted { get; set; }
///
/// When this selection information was last updated
///
public DateTime LastUpdated { get; set; } = DateTime.UtcNow;
}
}