using Core.Entities;
namespace Core.Models;
///
/// Result of parsing event occurrence text data.
/// Contains parsed occurrences, errors, and warnings.
///
public class EventOccurrenceParseResult
{
///
/// Dictionary of parsed event occurrences, keyed by EventDefinition.
/// For special events (GeneralSchedule, MeetTheCandidates, ChapterOfficerMeeting, VotingDelegateMeeting, SocialGathering),
/// the EventDefinition key will be the static instance.
///
public IDictionary> Occurrences { get; set; } = new Dictionary>();
///
/// List of parsing errors (critical issues that prevented parsing).
///
public List Errors { get; set; } = new();
///
/// List of parsing warnings (non-critical issues that occurred during parsing).
///
public List Warnings { get; set; } = new();
///
/// Total number of event occurrences successfully parsed.
///
public int TotalParsed => Occurrences.Values.Sum(list => list.Count);
///
/// Indicates whether parsing was successful (no errors).
///
public bool IsSuccess => Errors.Count == 0;
}