using System; using System.Collections.Generic; using EstusShots.Shared.Dto; using EstusShots.Shared.Interfaces; namespace EstusShots.Shared.Models.Parameters { # region GetEnemies /// /// Parameter class for the GetEnemies API controller. /// public class GetEnemiesParameter : IApiParameter { /// /// (Optional) Load enemies for this season /// public Guid SeasonId { get; set; } public GetEnemiesParameter(Guid seasonId) { SeasonId = seasonId; } public GetEnemiesParameter() { SeasonId = Guid.Empty; } } /// /// Parameter class returned from the GetEnemies API controller. /// public class GetEnemiesResponse : IApiResponse { /// /// The loaded enemies /// public List Enemies { get; set; } public GetEnemiesResponse(List enemies) { Enemies = enemies; } public GetEnemiesResponse() { } } # endregion # region GetEnemy /// /// Parameter class for the GetEnemy API controller. /// public class GetEnemyParameter : IApiParameter { /// /// ID of the enemy to load /// public Guid EnemyId { get; set; } public GetEnemyParameter(Guid enemyId) { EnemyId = enemyId; } public GetEnemyParameter() { } } /// /// Parameter class returned from the GetEnemy API controller. /// public class GetEnemyResponse : IApiResponse { /// /// A detailed Enemy object /// public Enemy Enemy { get; set; } public GetEnemyResponse(Enemy enemy) { Enemy = enemy; } public GetEnemyResponse() { } } # endregion # region SaveEnemy /// /// Parameter class for the SaveEnemy API controller. /// public class SaveEnemyParameter : IApiParameter { /// /// The enemy object to create or update /// public Enemy Enemy { get; set; } public SaveEnemyParameter(Enemy enemy) { Enemy = enemy; } public SaveEnemyParameter() { } } /// /// Parameter class returned from the SaveEnemy API controller. /// public class SaveEnemyResponse : IApiResponse { /// /// ID of the created or updated enemy object /// public Guid EnemyId { get; set; } public SaveEnemyResponse(Guid enemyId) { EnemyId = enemyId; } public SaveEnemyResponse() { } } # endregion # region DeleteEnemy /// /// Parameter class for the DeleteEnemy API controller. /// public class DeleteEnemyParameter : IApiParameter { /// /// ID of the enemy to delete /// public Guid EnemyId { get; set; } public DeleteEnemyParameter(Guid enemyId) { EnemyId = enemyId; } public DeleteEnemyParameter() { } } /// /// Parameter class returned from the DeleteEnemy API controller. /// public class DeleteEnemyResponse : IApiResponse { public DeleteEnemyResponse() { } } # endregion }