using System; using System.Collections.Generic; using EstusShots.Shared.Dto; using EstusShots.Shared.Interfaces; namespace EstusShots.Shared.Models.Parameters { // GetEpisodes /// /// Parameter class for loading all episodes for a season /// public class GetEpisodesParameter : IApiParameter { /// /// ID of the season for which to load the episode list /// public Guid SeasonId { get; set; } public GetEpisodesParameter(Guid seasonId) { SeasonId = seasonId; } public GetEpisodesParameter() { SeasonId = Guid.Empty; } } /// /// Parameter class returned from the API with all loaded episodes for a season /// public class GetEpisodesResponse : IApiResponse { /// /// List of all episodes in the requested season /// public List Episodes { get; set; } public GetEpisodesResponse(List episodes) { Episodes = episodes; } public GetEpisodesResponse() { Episodes = new List(); } } // GetEpisode /// /// Parameter class for loading a single episode /// public class GetEpisodeParameter : IApiParameter { /// /// ID of the episode /// public Guid EpisodeId { get; set; } public GetEpisodeParameter(Guid episodeId) { EpisodeId = episodeId; } public GetEpisodeParameter() { EpisodeId = Guid.Empty; } } /// /// Parameter class returned from the API with a single loaded episode /// public class GetEpisodeResponse : IApiResponse { /// /// The loaded episode /// public Episode Episode { get; set; } public GetEpisodeResponse(Episode episode) { Episode = episode; } public GetEpisodeResponse() { } } // SaveEpisode /// /// Parameter class for creating or updating episode objects /// public class SaveEpisodeParameter : IApiParameter { /// /// The new or updated episode /// public Episode Episode { get; set; } public SaveEpisodeParameter(Episode episode) { Episode = episode; } public SaveEpisodeParameter() { Episode = new Episode(); } } /// /// Parameter class returned from the API after creating or updating an episode /// public class SaveEpisodeResponse : IApiResponse { /// /// ID of the created or updated episode /// public Guid EpisodeId { get; set; } public SaveEpisodeResponse(Guid episodeId) { EpisodeId = episodeId; } public SaveEpisodeResponse() { } } }