├── .gitignore ├── CHANGELOG.md ├── HaloEzAPI.Tests ├── CacheManagerTests │ ├── AddTests.cs │ ├── ContainsTests.cs │ ├── GetTests.cs │ └── RemoveTests.cs ├── HaloAPIServiceTests │ ├── BaseHaloAPIServiceTests.cs │ ├── HaloAPIServiceTests.cs │ ├── MetaData │ │ ├── Halo5 │ │ │ ├── GetCSRDesignationsTests.cs │ │ │ ├── GetCampaignMissionsTests.cs │ │ │ ├── GetEnemiesTests.cs │ │ │ ├── GetFlexibleStatsTests.cs │ │ │ ├── GetGameBaseVariantsTests.cs │ │ │ ├── GetGameVariantTests.cs │ │ │ ├── GetGetCommendationsTests.cs │ │ │ ├── GetImpulsesTests.cs │ │ │ ├── GetMapVariantTests.cs │ │ │ ├── GetMapsTests.cs │ │ │ ├── GetMedalsTests.cs │ │ │ ├── GetPlaylistsTests.cs │ │ │ ├── GetRequisitionPackTests.cs │ │ │ ├── GetRequisitionTests.cs │ │ │ ├── GetSeasonsTests.cs │ │ │ ├── GetSkullsTests.cs │ │ │ ├── GetSpartanRanksTests.cs │ │ │ ├── GetTeamColorsTests.cs │ │ │ ├── GetVehiclesTests.cs │ │ │ └── GetWeaponsTests.cs │ │ └── HaloWars2 │ │ │ ├── GetCSRDesignationsTests.cs │ │ │ ├── GetCampaignLevelsTests.cs │ │ │ ├── GetCampaignLogsTests.cs │ │ │ ├── GetCardKeywordsTests.cs │ │ │ ├── GetCardsTests.cs │ │ │ ├── GetDifficultiesTests.cs │ │ │ ├── GetGameObjectCategoriesTests.cs │ │ │ ├── GetGameObjectsTests.cs │ │ │ └── GetLeaderPowersTests.cs │ ├── Profile │ │ ├── GetProfileEmblemTests.cs │ │ ├── GetProfileImageTests.cs │ │ └── GetSpartanImageTests.cs │ ├── Stats │ │ └── Halo5 │ │ │ ├── GetArenaPostGameCarnageReportTests.cs │ │ │ ├── GetArenaServiceRecordsTests.cs │ │ │ ├── GetCampaignPostGameCarnageReportTests.cs │ │ │ ├── GetCampaignServiceRecordsTests.cs │ │ │ ├── GetCustomGameServiceRecordsTests.cs │ │ │ ├── GetCustomPostGameCarnageReportTests.cs │ │ │ ├── GetMatchEventsTests.cs │ │ │ ├── GetMatchesForPlayerTests.cs │ │ │ ├── GetWarzonePostGameCarnageReportTests.cs │ │ │ ├── GetWarzoneServiceRecordsTests.cs │ │ │ └── PlayerLeaderboardTests.cs │ └── UGC │ │ └── Halo5 │ │ ├── GetGameVariantTests.cs │ │ └── GetMapVariantTests.cs ├── HaloEzAPI.Tests.csproj ├── Properties │ └── AssemblyInfo.cs ├── RequestRateHttpClientTests │ ├── GetRequestTests.cs │ └── SetAPITokenTests.cs └── packages.config ├── HaloEzAPI ├── .vs │ └── HaloEzAPI │ │ └── v15 │ │ └── Server │ │ └── sqlite3 │ │ ├── db.lock │ │ ├── storage.ide │ │ ├── storage.ide-shm │ │ └── storage.ide-wal ├── Abstraction │ ├── Enum │ │ ├── Halo5 │ │ │ ├── AccessControl.cs │ │ │ ├── CommendationType.cs │ │ │ ├── CreditResult.cs │ │ │ ├── CropType.cs │ │ │ ├── DeathDisposition.cs │ │ │ ├── Difficulty.cs │ │ │ ├── EnumResolver.cs │ │ │ ├── EventType.cs │ │ │ ├── Faction.cs │ │ │ ├── Flair.cs │ │ │ ├── FlexibleStatType.cs │ │ │ ├── GameMode.cs │ │ │ ├── KillerAgent.cs │ │ │ ├── MedalType.cs │ │ │ ├── MissionType.cs │ │ │ ├── OwnerType.cs │ │ │ ├── PlayerMatchResult.cs │ │ │ ├── RarityType.cs │ │ │ ├── ReqUseType.cs │ │ │ ├── ResourceType.cs │ │ │ ├── ResultCode.cs │ │ │ ├── RewardSourceType.cs │ │ │ └── WeaponType.cs │ │ ├── HaloWars2 │ │ │ ├── ContentTypeEnum.cs │ │ │ ├── EffectivenessAgainstGameObject.cs │ │ │ ├── LeaderId.cs │ │ │ ├── PlayType.cs │ │ │ └── Rarity.cs │ │ └── Utils │ │ │ └── EnumUtils.cs │ └── Interfaces │ │ ├── IApiCacheManager.cs │ │ ├── IAsyncApiCacheManager.cs │ │ ├── IDetail.cs │ │ ├── IEquipmentDamageDealt.cs │ │ ├── IGuidContentIds.cs │ │ ├── IMatchVariants.cs │ │ ├── IMeleeDamageDealt.cs │ │ ├── IPlayerKDA.cs │ │ ├── IPlayerStat.cs │ │ ├── IRangeDamageDealt.cs │ │ └── IWinLoss.cs ├── Caching │ ├── CacheManager.cs │ └── SingletonCacheManager.cs ├── Converter │ ├── MatchEventConverter.cs │ ├── ScoreConverter.cs │ └── TimeSpanConverter.cs ├── Endpoints.cs ├── Extensions │ └── NameValueCollectionExtensions.cs ├── HaloAPIConfig.cs ├── HaloAPIService.cs ├── HaloEzAPI.csproj ├── HaloEzAPI.nuspec ├── HaloEzAPI.sln ├── IHaloAPIService.cs ├── Limits │ └── RequestRateHttpClient.cs ├── Model │ ├── Request │ │ ├── Order.cs │ │ └── Sort.cs │ └── Response │ │ ├── Error │ │ ├── CommonErrorMessages.cs │ │ └── HaloAPIError.cs │ │ ├── MetaData │ │ ├── Halo5 │ │ │ ├── BaseLevel.cs │ │ │ ├── CSRDesignation.cs │ │ │ ├── CSRTier.cs │ │ │ ├── CampaignMission.cs │ │ │ ├── Category.cs │ │ │ ├── Commendation.cs │ │ │ ├── Enemy.cs │ │ │ ├── FlexibleStat.cs │ │ │ ├── GameBaseVariant.cs │ │ │ ├── GameVariant.cs │ │ │ ├── Impulse.cs │ │ │ ├── Level.cs │ │ │ ├── Map.cs │ │ │ ├── MapVariant.cs │ │ │ ├── Medal.cs │ │ │ ├── Playlist.cs │ │ │ ├── RankReward.cs │ │ │ ├── Requisition.cs │ │ │ ├── RequisitionPack.cs │ │ │ ├── Reward.cs │ │ │ ├── Season.cs │ │ │ ├── Skull.cs │ │ │ ├── SpartanRank.cs │ │ │ ├── SpriteLocation.cs │ │ │ ├── TeamColor.cs │ │ │ ├── Vehicle.cs │ │ │ └── Weapon.cs │ │ └── HaloWars2 │ │ │ ├── Campaign │ │ │ ├── CampaignContentItem.cs │ │ │ ├── CampaignLogContentItem.cs │ │ │ ├── CommonContentInformation.cs │ │ │ ├── HW2CampaignLevel.cs │ │ │ ├── ObjectiveItem.cs │ │ │ └── SkullItem.cs │ │ │ ├── Cards │ │ │ ├── AwardedPackItem.cs │ │ │ ├── HW2CSRDesignation.cs │ │ │ ├── HW2CSRDesignationDisplayInfo.cs │ │ │ ├── HW2Card.cs │ │ │ ├── HW2CardDisplayInfo.cs │ │ │ ├── HW2CardKeyword.cs │ │ │ ├── HW2Difficulty.cs │ │ │ ├── HW2DifficultyDisplayInfo.cs │ │ │ ├── HW2Leader.cs │ │ │ ├── HW2LeaderDisplayInfo.cs │ │ │ ├── HW2LeaderPower.cs │ │ │ ├── HW2LeaderPowerDisplayInfo.cs │ │ │ ├── HW2LeaderPowerInnerViewDisplayInfo.cs │ │ │ ├── HW2Object.cs │ │ │ ├── HW2ObjectDisplayInfo.cs │ │ │ ├── HW2Pack.cs │ │ │ ├── HW2Playlist.cs │ │ │ ├── HW2StartingArmyDisplayInfo.cs │ │ │ └── HW2StartingArmyOptionsView.cs │ │ │ ├── HW2ApiItem.cs │ │ │ ├── Imaging │ │ │ ├── Image.cs │ │ │ ├── ImageItem.cs │ │ │ └── Media.cs │ │ │ ├── Shared │ │ │ ├── Details.cs │ │ │ ├── DisplayInfoItem.cs │ │ │ ├── HW2CSRDesignationTierView.cs │ │ │ ├── HW2CSRDisplayInfoItem.cs │ │ │ ├── HW2CardDisplayInfoItem.cs │ │ │ ├── HW2CsrDesignationTier.cs │ │ │ ├── HW2DifficultyDisplayInfoItem.cs │ │ │ ├── HW2ObjectDisplayInfo.cs │ │ │ ├── HW2Result.cs │ │ │ ├── IdentityMetaData.cs │ │ │ ├── Localization.cs │ │ │ ├── LockedObject.cs │ │ │ ├── Paging.cs │ │ │ └── ViewInnerId.cs │ │ │ └── Views │ │ │ ├── AwardedPackView.cs │ │ │ ├── BaseView.cs │ │ │ ├── CampaignLevelView.cs │ │ │ ├── CampaignLogView.cs │ │ │ ├── CampaignObjectiveView.cs │ │ │ ├── CardDisplayInfoView.cs │ │ │ ├── CardKeywordView.cs │ │ │ ├── ComputerDifficulty.cs │ │ │ ├── DisplayInfoView.cs │ │ │ ├── HW2CSRDesignationDisplayInfoView.cs │ │ │ ├── HW2CSRDesignationView.cs │ │ │ ├── HW2CardDisplayInfoView.cs │ │ │ ├── HW2CardView.cs │ │ │ ├── HW2ComputerDifficultyDisplayInfoView.cs │ │ │ ├── HW2DifficultyDisplayInfoView.cs │ │ │ ├── HW2DifficultyView.cs │ │ │ ├── HW2LeaderDisplayInfoView.cs │ │ │ ├── HW2LeaderPowerView.cs │ │ │ ├── HW2LeaderView.cs │ │ │ ├── HW2ObjectDisplayInfoView.cs │ │ │ ├── HW2ObjectView.cs │ │ │ ├── HW2PlaylistView.cs │ │ │ ├── HW2StartingArmyDisplayInfoView.cs │ │ │ ├── ImageView.cs │ │ │ ├── PackDisplayInfoView.cs │ │ │ └── SkullView.cs │ │ ├── Stats │ │ └── Halo5 │ │ │ ├── Arena │ │ │ ├── ArenaPlayerStat.cs │ │ │ ├── ArenaPlaylistStat.cs │ │ │ ├── ArenaPostGameReport.cs │ │ │ ├── ArenaServiceRecord.cs │ │ │ ├── ArenaServiceRecordQueryResponse.cs │ │ │ └── ArenaStats.cs │ │ │ ├── BasePlayerStat.cs │ │ │ ├── BaseServiceRecord.cs │ │ │ ├── BoostData.cs │ │ │ ├── CSR.cs │ │ │ ├── Campaign │ │ │ ├── CampaignMissionStat.cs │ │ │ ├── CampaignPlayerStat.cs │ │ │ ├── CampaignPostGameReport.cs │ │ │ ├── CampaignRunThroughStats.cs │ │ │ ├── CampaignServiceRecord.cs │ │ │ ├── CampaignServiceRecordQueryResponse.cs │ │ │ └── CampaignStat.cs │ │ │ ├── CreditsEarned.cs │ │ │ ├── CustomGame │ │ │ ├── CustomGameServiceRecord.cs │ │ │ ├── CustomGameServiceRecordQueryResponse.cs │ │ │ ├── CustomGameStat.cs │ │ │ └── CustomPostGameReport.cs │ │ │ ├── Events │ │ │ ├── DeathEvent.cs │ │ │ ├── Event.cs │ │ │ ├── GameEvent.cs │ │ │ ├── ImpulseEvent.cs │ │ │ ├── MedalEvent.cs │ │ │ ├── PlayerEvent.cs │ │ │ ├── RoundEvent.cs │ │ │ ├── WeaponDropEvent.cs │ │ │ └── WeaponEvent.cs │ │ │ ├── FlexibleStats.cs │ │ │ ├── GameBaseVariantStat.cs │ │ │ ├── Id.cs │ │ │ ├── Kill.cs │ │ │ ├── KillDetail.cs │ │ │ ├── Link.cs │ │ │ ├── LinkItem.cs │ │ │ ├── Match.cs │ │ │ ├── MatchCompletedDate.cs │ │ │ ├── MatchDetails.cs │ │ │ ├── MatchEvent.cs │ │ │ ├── MatchPlayer.cs │ │ │ ├── MedalAward.cs │ │ │ ├── MetRequirement.cs │ │ │ ├── MetaCommendationDelta.cs │ │ │ ├── Player.cs │ │ │ ├── PlayerLeaderboardResult.cs │ │ │ ├── PlayerMatchBreakdown.cs │ │ │ ├── PlayerMatches.cs │ │ │ ├── PlayerResult.cs │ │ │ ├── ProgressiveCommendationDelta.cs │ │ │ ├── RawGuid.cs │ │ │ ├── RewardSetObject.cs │ │ │ ├── RoundStat.cs │ │ │ ├── ScenarioStat.cs │ │ │ ├── ServiceRecordResult.cs │ │ │ ├── StatCounter.cs │ │ │ ├── StatTimelapse.cs │ │ │ ├── StatsEnemy.cs │ │ │ ├── Team.cs │ │ │ ├── TeamStat.cs │ │ │ ├── TopGameBaseVariant.cs │ │ │ ├── Variant.cs │ │ │ ├── Warzone │ │ │ ├── WarzonePlayerStat.cs │ │ │ ├── WarzonePostGameReport.cs │ │ │ ├── WarzoneServiceRecord.cs │ │ │ ├── WarzoneServiceRecordQueryResponse.cs │ │ │ └── WarzoneStat.cs │ │ │ ├── WeaponId.cs │ │ │ ├── WeaponKillDetail.cs │ │ │ ├── WorldLocation.cs │ │ │ └── XpInfo.cs │ │ └── UGC │ │ ├── TimeUtc.cs │ │ ├── UGCBase.cs │ │ ├── UGCGameVariant.cs │ │ ├── UGCSearchResult.cs │ │ └── UGCStats.cs ├── Properties │ └── AssemblyInfo.cs ├── ResponseProcessor.cs ├── packages.config └── packages │ ├── Microsoft.Bcl.1.1.10 │ ├── License-Stable.rtf │ ├── Microsoft.Bcl.1.1.10.nupkg │ └── lib │ │ ├── Xamarin.iOS10 │ │ └── _._ │ │ ├── monoandroid │ │ └── _._ │ │ ├── monotouch │ │ └── _._ │ │ ├── net40 │ │ ├── System.IO.dll │ │ ├── System.IO.xml │ │ ├── System.Runtime.dll │ │ ├── System.Runtime.xml │ │ ├── System.Threading.Tasks.dll │ │ ├── System.Threading.Tasks.xml │ │ └── ensureRedirect.xml │ │ ├── net45 │ │ └── _._ │ │ ├── portable-net40+sl4+win8+wp71+wpa81 │ │ ├── System.IO.dll │ │ ├── System.IO.xml │ │ ├── System.Runtime.dll │ │ ├── System.Runtime.xml │ │ ├── System.Threading.Tasks.dll │ │ ├── System.Threading.Tasks.xml │ │ └── ensureRedirect.xml │ │ ├── portable-net40+sl4+win8+wp8+wpa81 │ │ ├── System.IO.dll │ │ ├── System.IO.xml │ │ ├── System.Runtime.dll │ │ ├── System.Runtime.xml │ │ ├── System.Threading.Tasks.dll │ │ ├── System.Threading.Tasks.xml │ │ └── ensureRedirect.xml │ │ ├── portable-net40+sl4+win8 │ │ ├── System.IO.dll │ │ ├── System.IO.xml │ │ ├── System.Runtime.dll │ │ ├── System.Runtime.xml │ │ ├── System.Threading.Tasks.dll │ │ ├── System.Threading.Tasks.xml │ │ └── ensureRedirect.xml │ │ ├── portable-net40+sl5+win8+wp8+wpa81 │ │ ├── System.IO.dll │ │ ├── System.IO.xml │ │ ├── System.Runtime.dll │ │ ├── System.Runtime.xml │ │ ├── System.Threading.Tasks.dll │ │ ├── System.Threading.Tasks.xml │ │ └── ensureRedirect.xml │ │ ├── portable-net40+win8+wp8+wpa81 │ │ ├── System.IO.dll │ │ ├── System.IO.xml │ │ ├── System.Runtime.dll │ │ ├── System.Runtime.xml │ │ ├── System.Threading.Tasks.dll │ │ ├── System.Threading.Tasks.xml │ │ └── ensureRedirect.xml │ │ ├── portable-net40+win8 │ │ ├── System.IO.dll │ │ ├── System.IO.xml │ │ ├── System.Runtime.dll │ │ ├── System.Runtime.xml │ │ ├── System.Threading.Tasks.dll │ │ ├── System.Threading.Tasks.xml │ │ └── ensureRedirect.xml │ │ ├── portable-net45+win8+wp8+wpa81 │ │ └── _._ │ │ ├── portable-net45+win8+wpa81 │ │ └── _._ │ │ ├── portable-net451+win81+wpa81 │ │ └── _._ │ │ ├── portable-net451+win81 │ │ └── _._ │ │ ├── portable-win81+wp81+wpa81 │ │ └── _._ │ │ ├── sl4-windowsphone71 │ │ ├── System.IO.dll │ │ ├── System.IO.xml │ │ ├── System.Runtime.dll │ │ ├── System.Runtime.xml │ │ ├── System.Threading.Tasks.dll │ │ ├── System.Threading.Tasks.xml │ │ └── ensureRedirect.xml │ │ ├── sl4 │ │ ├── System.IO.dll │ │ ├── System.IO.xml │ │ ├── System.Runtime.dll │ │ ├── System.Runtime.xml │ │ ├── System.Threading.Tasks.dll │ │ └── System.Threading.Tasks.xml │ │ ├── sl5 │ │ ├── System.IO.dll │ │ ├── System.IO.xml │ │ ├── System.Runtime.dll │ │ ├── System.Runtime.xml │ │ ├── System.Threading.Tasks.dll │ │ └── System.Threading.Tasks.xml │ │ ├── win8 │ │ └── _._ │ │ ├── wp8 │ │ └── _._ │ │ └── wpa81 │ │ └── _._ │ ├── Microsoft.Bcl.Build.1.0.14 │ ├── License-Stable.rtf │ ├── Microsoft.Bcl.Build.1.0.14.nupkg │ ├── content │ │ ├── net40 │ │ │ └── _._ │ │ ├── netcore45 │ │ │ └── _._ │ │ ├── portable-net40+win8+sl4+wp71+wpa81 │ │ │ └── _._ │ │ ├── sl4-windowsphone71 │ │ │ └── _._ │ │ └── sl4 │ │ │ └── _._ │ └── tools │ │ ├── Install.ps1 │ │ ├── Microsoft.Bcl.Build.Tasks.dll │ │ ├── Microsoft.Bcl.Build.targets │ │ └── Uninstall.ps1 │ ├── Microsoft.Net.Http.2.2.29 │ ├── License-Stable.rtf │ ├── Microsoft.Net.Http.2.2.29.nupkg │ └── lib │ │ ├── Xamarin.iOS10 │ │ ├── System.Net.Http.Extensions.XML │ │ ├── System.Net.Http.Extensions.dll │ │ ├── System.Net.Http.Primitives.dll │ │ └── System.Net.Http.Primitives.xml │ │ ├── monoandroid │ │ ├── System.Net.Http.Extensions.XML │ │ ├── System.Net.Http.Extensions.dll │ │ ├── System.Net.Http.Primitives.dll │ │ └── System.Net.Http.Primitives.xml │ │ ├── monotouch │ │ ├── System.Net.Http.Extensions.XML │ │ ├── System.Net.Http.Extensions.dll │ │ ├── System.Net.Http.Primitives.dll │ │ └── System.Net.Http.Primitives.xml │ │ ├── net40 │ │ ├── System.Net.Http.Extensions.XML │ │ ├── System.Net.Http.Extensions.dll │ │ ├── System.Net.Http.Primitives.dll │ │ ├── System.Net.Http.Primitives.xml │ │ ├── System.Net.Http.WebRequest.dll │ │ ├── System.Net.Http.WebRequest.xml │ │ ├── System.Net.Http.dll │ │ ├── System.Net.Http.xml │ │ └── ensureRedirect.xml │ │ ├── net45 │ │ ├── System.Net.Http.Extensions.XML │ │ ├── System.Net.Http.Extensions.dll │ │ ├── System.Net.Http.Primitives.dll │ │ ├── System.Net.Http.Primitives.xml │ │ └── ensureRedirect.xml │ │ ├── portable-net40+sl4+win8+wp71+wpa81 │ │ ├── System.Net.Http.Extensions.XML │ │ ├── System.Net.Http.Extensions.dll │ │ ├── System.Net.Http.Primitives.XML │ │ ├── System.Net.Http.Primitives.dll │ │ ├── System.Net.Http.dll │ │ ├── System.Net.Http.xml │ │ └── ensureRedirect.xml │ │ ├── portable-net45+win8+wpa81 │ │ ├── System.Net.Http.Extensions.XML │ │ ├── System.Net.Http.Extensions.dll │ │ ├── System.Net.Http.Primitives.dll │ │ ├── System.Net.Http.Primitives.xml │ │ └── ensureRedirect.xml │ │ ├── portable-net45+win8 │ │ ├── System.Net.Http.Extensions.XML │ │ ├── System.Net.Http.Extensions.dll │ │ ├── System.Net.Http.Primitives.dll │ │ ├── System.Net.Http.Primitives.xml │ │ └── ensureRedirect.xml │ │ ├── sl4-windowsphone71 │ │ ├── System.Net.Http.Extensions.XML │ │ ├── System.Net.Http.Extensions.dll │ │ ├── System.Net.Http.Primitives.XML │ │ ├── System.Net.Http.Primitives.dll │ │ ├── System.Net.Http.dll │ │ └── System.Net.Http.xml │ │ ├── win8 │ │ ├── System.Net.Http.Extensions.XML │ │ ├── System.Net.Http.Extensions.dll │ │ ├── System.Net.Http.Primitives.dll │ │ └── System.Net.Http.Primitives.xml │ │ └── wpa81 │ │ ├── System.Net.Http.Extensions.XML │ │ ├── System.Net.Http.Extensions.dll │ │ ├── System.Net.Http.Primitives.dll │ │ └── System.Net.Http.Primitives.xml │ ├── Moq.4.2.1510.2205 │ ├── Moq.4.2.1510.2205.nupkg │ └── lib │ │ ├── net35 │ │ ├── Moq.dll │ │ └── Moq.xml │ │ ├── net40 │ │ ├── Moq.dll │ │ └── Moq.xml │ │ └── sl5 │ │ ├── Moq.Silverlight.dll │ │ └── Moq.Silverlight.xml │ ├── NUnit.2.6.4 │ ├── NUnit.2.6.4.nupkg │ ├── lib │ │ ├── nunit.framework.dll │ │ └── nunit.framework.xml │ └── license.txt │ ├── Newtonsoft.Json.6.0.1 │ ├── Newtonsoft.Json.6.0.1.nupkg │ ├── lib │ │ ├── net20 │ │ │ ├── Newtonsoft.Json.dll │ │ │ └── Newtonsoft.Json.xml │ │ ├── net35 │ │ │ ├── Newtonsoft.Json.dll │ │ │ └── Newtonsoft.Json.xml │ │ ├── net40 │ │ │ ├── Newtonsoft.Json.dll │ │ │ └── Newtonsoft.Json.xml │ │ ├── net45 │ │ │ ├── Newtonsoft.Json.dll │ │ │ └── Newtonsoft.Json.xml │ │ ├── netcore45 │ │ │ ├── Newtonsoft.Json.dll │ │ │ └── Newtonsoft.Json.xml │ │ ├── portable-net40+sl5+wp80+win8+monotouch+monoandroid │ │ │ ├── Newtonsoft.Json.dll │ │ │ └── Newtonsoft.Json.xml │ │ └── portable-net45+wp80+win8 │ │ │ ├── Newtonsoft.Json.dll │ │ │ └── Newtonsoft.Json.xml │ └── tools │ │ └── install.ps1 │ └── repositories.config ├── LICENSE.md ├── PULL_REQUEST_TEMPLATE.md ├── README.md └── docs ├── Features.md ├── Halo5.md ├── HaloWars2.md └── Usage.md /.gitignore: -------------------------------------------------------------------------------- 1 | # git ignore file 2 | #Visual Studio files 3 | *.[Oo]bj 4 | *.user 5 | *.suo 6 | *.aps 7 | *.pch 8 | *.vspscc 9 | *.vssscc 10 | *_i.c 11 | *_p.c 12 | *.ncb 13 | *.suo 14 | *.tlb 15 | *.tlh 16 | *.bak 17 | *.[Cc]ache 18 | *.ilk 19 | *.log 20 | *.lib 21 | *.sbr 22 | *.sdf 23 | *.opensdf 24 | *.unsuccessfulbuild 25 | ipch/ 26 | [Oo]bj 27 | [Bb]in 28 | [Dd]ebug*/ 29 | [Rr]elease*/ 30 | Ankh.NoLoad 31 | 32 | #Tooling 33 | _ReSharper*/ 34 | *.resharper 35 | [Tt]est[Rr]esult* 36 | 37 | #Project files 38 | [Bb]uild/ 39 | 40 | #Subversion files 41 | .svn 42 | 43 | # Office Temp Files 44 | ~$* 45 | 46 | /packages/Newtonsoft.Json.4.5.11/lib/portable-net40+sl4+wp7+win8/Newtonsoft.Json.dll 47 | HaloEzApi/packages* 48 | /.vs/slnx.sqlite 49 | -------------------------------------------------------------------------------- /HaloEzAPI.Tests/CacheManagerTests/ContainsTests.cs: -------------------------------------------------------------------------------- 1 | using HaloEzAPI.Caching; 2 | using HaloEzAPI.Model.Response.Stats.Halo5; 3 | using HaloEzAPI.Tests.HaloAPIServiceTests; 4 | using NUnit.Framework; 5 | 6 | namespace HaloEzAPI.Tests.CacheManagerTests 7 | { 8 | [TestFixture] 9 | public class ContainsTests : BaseHaloAPIServiceTests 10 | { 11 | [Test] 12 | public void Default_DoesNotThrow() 13 | { 14 | Assert.DoesNotThrow(async () => SingletonCacheManager.Instance.Contains(string.Empty)); 15 | } 16 | 17 | [Test] 18 | public void ProvideInvalidKey_ReturnsFalse() 19 | { 20 | Assert.IsFalse(SingletonCacheManager.Instance.Contains(string.Empty)); 21 | } 22 | 23 | [Test] 24 | public void ProvideValidKeyDoesntExist_ReturnsFalse() 25 | { 26 | Assert.IsFalse(SingletonCacheManager.Instance.Contains("VALID")); 27 | } 28 | 29 | [Test] 30 | public void ProvideValidKeyDoesExist_ReturnsTrue() 31 | { 32 | var playerMatches = new PlayerMatches(); 33 | SingletonCacheManager.Instance.Add(playerMatches,"VALID",1); 34 | Assert.IsTrue(SingletonCacheManager.Instance.Contains("VALID")); 35 | } 36 | } 37 | } -------------------------------------------------------------------------------- /HaloEzAPI.Tests/HaloAPIServiceTests/BaseHaloAPIServiceTests.cs: -------------------------------------------------------------------------------- 1 | using HaloEzAPI.Abstraction.Enum.Halo5; 2 | using HaloEzAPI.Caching; 3 | using HaloEzAPI.Limits; 4 | using HaloEzAPI.Model.Response.Error; 5 | using NUnit.Framework; 6 | 7 | namespace HaloEzAPI.Tests.HaloAPIServiceTests 8 | { 9 | public class BaseHaloAPIServiceTests 10 | { 11 | protected HaloAPIService HaloApiService; 12 | 13 | [SetUp] 14 | public void SetUp() 15 | { 16 | HaloApiService = new HaloAPIService("17fb8702802545d386763fc2279454aa"); 17 | SingletonCacheManager.Instance.RemoveAll(); 18 | } 19 | 20 | [Test] 21 | public void Default_InvalidAPIKey_Unauthorized() 22 | { 23 | RequestRateHttpClient.SetAPIToken("INVALID"); 24 | Assert.Throws(async () => await HaloApiService.GetMatchesForPlayer("a", GameMode.Arena), 25 | CommonErrorMessages.AccessDenied); 26 | } 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /HaloEzAPI.Tests/HaloAPIServiceTests/HaloAPIServiceTests.cs: -------------------------------------------------------------------------------- 1 | using NUnit.Framework; 2 | 3 | namespace HaloEzAPI.Tests.HaloAPIServiceTests 4 | { 5 | [TestFixture] 6 | public class HaloAPIServiceTests 7 | { 8 | private HaloAPIService _haloApiService; 9 | 10 | [Test] 11 | public void Default_DoesntThrowException() 12 | { 13 | Assert.DoesNotThrow(() => _haloApiService = new HaloAPIService("TOKEN")); 14 | } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /HaloEzAPI.Tests/HaloAPIServiceTests/MetaData/Halo5/GetCSRDesignationsTests.cs: -------------------------------------------------------------------------------- 1 | using NUnit.Framework; 2 | 3 | namespace HaloEzAPI.Tests.HaloAPIServiceTests.MetaData.Halo5 4 | { 5 | [TestFixture] 6 | public class GetCSRDesignationsTests : BaseHaloAPIServiceTests 7 | { 8 | [Test] 9 | public void Default_DoesNotThrowException() 10 | { 11 | Assert.DoesNotThrow(async () => await HaloApiService.GetCSRDesignations()); 12 | } 13 | 14 | [Test] 15 | public async void Default_DoesNotReturnNull() 16 | { 17 | var result = await HaloApiService.GetCSRDesignations(); 18 | Assert.IsNotNull(result); 19 | } 20 | 21 | [Test] 22 | public async void Default_ReturnsValidCollection() 23 | { 24 | var result = await HaloApiService.GetCSRDesignations(); 25 | CollectionAssert.AllItemsAreNotNull(result); 26 | } 27 | } 28 | } -------------------------------------------------------------------------------- /HaloEzAPI.Tests/HaloAPIServiceTests/MetaData/Halo5/GetCampaignMissionsTests.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Linq; 3 | using NUnit.Framework; 4 | 5 | namespace HaloEzAPI.Tests.HaloAPIServiceTests.MetaData.Halo5 6 | { 7 | [TestFixture] 8 | public class GetCampaignMissionsTests : BaseHaloAPIServiceTests 9 | { 10 | [Test] 11 | public void Default_DoesNotThrowException() 12 | { 13 | Assert.DoesNotThrow(async () => await HaloApiService.GetCampaignMissions()); 14 | } 15 | 16 | [Test] 17 | public async void Default_DoesNotReturnNull() 18 | { 19 | var result = await HaloApiService.GetCampaignMissions(); 20 | Assert.IsNotNull(result); 21 | } 22 | 23 | [Test] 24 | public async void Default_ReturnsValidCollection() 25 | { 26 | var result = await HaloApiService.GetCampaignMissions(); 27 | CollectionAssert.AllItemsAreNotNull(result); 28 | } 29 | 30 | [Test] 31 | public async void Default_ReturnsKnownMission() 32 | { 33 | var result = await HaloApiService.GetCampaignMissions(); 34 | Assert.IsTrue(result.Any(r => r.Id == new Guid("73ed1fd0-45e5-4bb9-ab6a-d2852c04ea7d"))); 35 | } 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /HaloEzAPI.Tests/HaloAPIServiceTests/MetaData/Halo5/GetEnemiesTests.cs: -------------------------------------------------------------------------------- 1 | using NUnit.Framework; 2 | 3 | namespace HaloEzAPI.Tests.HaloAPIServiceTests.MetaData.Halo5 4 | { 5 | [TestFixture] 6 | public class GetEnemiesTests : BaseHaloAPIServiceTests 7 | { 8 | [Test] 9 | public void Default_DoesNotThrowException() 10 | { 11 | Assert.DoesNotThrow(async () => await HaloApiService.GetEnemies()); 12 | } 13 | 14 | [Test] 15 | public async void Default_DoesNotReturnNull() 16 | { 17 | var result = await HaloApiService.GetEnemies(); 18 | Assert.IsNotNull(result); 19 | } 20 | 21 | [Test] 22 | public async void Default_ReturnsValidCollection() 23 | { 24 | var result = await HaloApiService.GetEnemies(); 25 | CollectionAssert.AllItemsAreNotNull(result); 26 | } 27 | } 28 | } -------------------------------------------------------------------------------- /HaloEzAPI.Tests/HaloAPIServiceTests/MetaData/Halo5/GetFlexibleStatsTests.cs: -------------------------------------------------------------------------------- 1 | using NUnit.Framework; 2 | 3 | namespace HaloEzAPI.Tests.HaloAPIServiceTests.MetaData.Halo5 4 | { 5 | [TestFixture] 6 | public class GetFlexibleStatsTests : BaseHaloAPIServiceTests 7 | { 8 | [Test] 9 | public void Default_DoesNotThrowException() 10 | { 11 | Assert.DoesNotThrow(async () => await HaloApiService.GetFlexibleStats()); 12 | } 13 | 14 | [Test] 15 | public async void Default_DoesNotReturnNull() 16 | { 17 | var result = await HaloApiService.GetFlexibleStats(); 18 | Assert.IsNotNull(result); 19 | } 20 | 21 | [Test] 22 | public async void Default_ReturnsValidCollection() 23 | { 24 | var result = await HaloApiService.GetFlexibleStats(); 25 | CollectionAssert.AllItemsAreNotNull(result); 26 | } 27 | } 28 | } -------------------------------------------------------------------------------- /HaloEzAPI.Tests/HaloAPIServiceTests/MetaData/Halo5/GetGameBaseVariantsTests.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Linq; 3 | using NUnit.Framework; 4 | 5 | namespace HaloEzAPI.Tests.HaloAPIServiceTests.MetaData.Halo5 6 | { 7 | [TestFixture] 8 | public class GetGameBaseVariantsTests : BaseHaloAPIServiceTests 9 | { 10 | [Test] 11 | public void Default_DoesNotThrowException() 12 | { 13 | Assert.DoesNotThrow(async () => await HaloApiService.GetGameBaseVariants()); 14 | } 15 | 16 | [Test] 17 | public async void Default_DoesNotReturnNull() 18 | { 19 | var result = await HaloApiService.GetGameBaseVariants(); 20 | Assert.IsNotNull(result); 21 | } 22 | 23 | [Test] 24 | public async void Default_ReturnsValidCollection() 25 | { 26 | var result = await HaloApiService.GetGameBaseVariants(); 27 | CollectionAssert.AllItemsAreNotNull(result); 28 | } 29 | 30 | [Test] 31 | public async void Success_ReturnsKnowGameVariant() 32 | { 33 | var result = await HaloApiService.GetGameBaseVariants(); 34 | Assert.True(result.Any(r=>r.Id == new Guid("1e473914-46e4-408d-af26-178fb115de76"))); 35 | } 36 | } 37 | } -------------------------------------------------------------------------------- /HaloEzAPI.Tests/HaloAPIServiceTests/MetaData/Halo5/GetGameVariantTests.cs: -------------------------------------------------------------------------------- 1 | using HaloEzAPI.Model.Response.Error; 2 | using NUnit.Framework; 3 | 4 | namespace HaloEzAPI.Tests.HaloAPIServiceTests.MetaData.Halo5 5 | { 6 | [TestFixture] 7 | public class GetGameVariantTests : BaseHaloAPIServiceTests 8 | { 9 | private string validId = "f6de5351-3797-41e9-8053-7fb111a3a1a0"; 10 | 11 | [Test] 12 | public void Default_DoesNotThrowException() 13 | { 14 | Assert.DoesNotThrow(async () => await HaloApiService.GetGameVariant(validId), CommonErrorMessages.BadRequest); 15 | } 16 | 17 | [Test] 18 | public void KnownInvalid_ThrowException() 19 | { 20 | Assert.Throws(async () => await HaloApiService.GetGameVariant("afaf"), CommonErrorMessages.BadRequest); 21 | } 22 | 23 | [Test] 24 | [TestCase("f6de5351-3797-41e9-8053-7fb111a3a1a0")] 25 | [TestCase("1571fdac-e0b4-4ebc-a73a-6e13001b71d3")] 26 | public async void Default_DoesNotReturnNull(string id) 27 | { 28 | var result = await HaloApiService.GetGameVariant(id); 29 | Assert.IsNotNull(result); 30 | } 31 | } 32 | } -------------------------------------------------------------------------------- /HaloEzAPI.Tests/HaloAPIServiceTests/MetaData/Halo5/GetGetCommendationsTests.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Linq; 3 | using NUnit.Framework; 4 | 5 | namespace HaloEzAPI.Tests.HaloAPIServiceTests.MetaData.Halo5 6 | { 7 | [TestFixture] 8 | public class GetGetCommendationsTests : BaseHaloAPIServiceTests 9 | { 10 | [Test] 11 | public void Default_DoesNotThrowException() 12 | { 13 | Assert.DoesNotThrow(async () => await HaloApiService.GetCommendations()); 14 | } 15 | 16 | [Test] 17 | public async void Default_DoesNotReturnNull() 18 | { 19 | var result = await HaloApiService.GetCommendations(); 20 | Assert.IsNotNull(result); 21 | } 22 | 23 | [Test] 24 | public async void Default_ReturnsValidCollection() 25 | { 26 | var result = await HaloApiService.GetCommendations(); 27 | CollectionAssert.AllItemsAreNotNull(result); 28 | } 29 | 30 | [Test] 31 | public async void Default_ReturnsKnownMission() 32 | { 33 | var result = await HaloApiService.GetCommendations(); 34 | Assert.IsTrue(result.Any(r => r.Id == new Guid("20dc7d74-be8f-4a60-ae4f-15230855cced"))); 35 | } 36 | } 37 | } -------------------------------------------------------------------------------- /HaloEzAPI.Tests/HaloAPIServiceTests/MetaData/Halo5/GetImpulsesTests.cs: -------------------------------------------------------------------------------- 1 | using NUnit.Framework; 2 | 3 | namespace HaloEzAPI.Tests.HaloAPIServiceTests.MetaData.Halo5 4 | { 5 | [TestFixture] 6 | public class GetImpulsesTests : BaseHaloAPIServiceTests 7 | { 8 | [Test] 9 | public void Default_DoesNotThrowException() 10 | { 11 | Assert.DoesNotThrow(async () => await HaloApiService.GetImpulses()); 12 | } 13 | 14 | [Test] 15 | public async void Default_DoesNotReturnNull() 16 | { 17 | var result = await HaloApiService.GetImpulses(); 18 | Assert.IsNotNull(result); 19 | } 20 | 21 | [Test] 22 | public async void Default_ReturnsValidCollection() 23 | { 24 | var result = await HaloApiService.GetImpulses(); 25 | CollectionAssert.AllItemsAreNotNull(result); 26 | } 27 | } 28 | } -------------------------------------------------------------------------------- /HaloEzAPI.Tests/HaloAPIServiceTests/MetaData/Halo5/GetMapVariantTests.cs: -------------------------------------------------------------------------------- 1 | using NUnit.Framework; 2 | 3 | namespace HaloEzAPI.Tests.HaloAPIServiceTests.MetaData.Halo5 4 | { 5 | [TestFixture] 6 | public class GetMapVariantTests : BaseHaloAPIServiceTests 7 | { 8 | private string _validId = "5ce8af68-9986-46fe-98ff-ab09d0878fb7"; 9 | 10 | [Test] 11 | public void Default_DoesNotThrowException() 12 | { 13 | Assert.DoesNotThrow(async () => await HaloApiService.GetMapVariant(_validId)); 14 | } 15 | 16 | [Test] 17 | public async void Default_DoesNotReturnNull() 18 | { 19 | var result = await HaloApiService.GetMapVariant(_validId); 20 | Assert.IsNotNull(result); 21 | } 22 | 23 | [Test] 24 | public async void Success_ReturnsKnownImage() 25 | { 26 | var result = await HaloApiService.GetMapVariant(_validId); 27 | Assert.AreEqual(result.MapImageUrl, 28 | "https://content.halocdn.com/media/Default/games/halo-5-guardians/map-images/arena/empire-34bb3fecab0e4962844d1fdd436d0bcf.jpg"); 29 | } 30 | } 31 | } -------------------------------------------------------------------------------- /HaloEzAPI.Tests/HaloAPIServiceTests/MetaData/Halo5/GetMedalsTests.cs: -------------------------------------------------------------------------------- 1 | using NUnit.Framework; 2 | 3 | namespace HaloEzAPI.Tests.HaloAPIServiceTests.MetaData.Halo5 4 | { 5 | [TestFixture] 6 | public class GetMedalsTests : BaseHaloAPIServiceTests 7 | { 8 | [Test] 9 | public void Default_DoesNotThrowException() 10 | { 11 | Assert.DoesNotThrow(async () => await HaloApiService.GetMedals()); 12 | } 13 | 14 | [Test] 15 | public async void Default_DoesNotReturnNull() 16 | { 17 | var result = await HaloApiService.GetMedals(); 18 | Assert.IsNotNull(result); 19 | } 20 | 21 | [Test] 22 | public async void Default_ReturnsValidCollection() 23 | { 24 | var result = await HaloApiService.GetMedals(); 25 | CollectionAssert.AllItemsAreNotNull(result); 26 | } 27 | } 28 | } -------------------------------------------------------------------------------- /HaloEzAPI.Tests/HaloAPIServiceTests/MetaData/Halo5/GetPlaylistsTests.cs: -------------------------------------------------------------------------------- 1 | using NUnit.Framework; 2 | 3 | namespace HaloEzAPI.Tests.HaloAPIServiceTests.MetaData.Halo5 4 | { 5 | [TestFixture] 6 | public class GetPlaylistsTests : BaseHaloAPIServiceTests 7 | { 8 | [Test] 9 | public void Default_DoesNotThrowException() 10 | { 11 | Assert.DoesNotThrow(async () => await HaloApiService.GetPlaylists()); 12 | } 13 | 14 | [Test] 15 | public async void Default_DoesNotReturnNull() 16 | { 17 | var result = await HaloApiService.GetPlaylists(); 18 | Assert.IsNotNull(result); 19 | } 20 | 21 | [Test] 22 | public async void Default_ReturnsValidCollection() 23 | { 24 | var result = await HaloApiService.GetPlaylists(); 25 | CollectionAssert.AllItemsAreNotNull(result); 26 | } 27 | } 28 | } -------------------------------------------------------------------------------- /HaloEzAPI.Tests/HaloAPIServiceTests/MetaData/Halo5/GetRequisitionPackTests.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using HaloEzAPI.Model.Response.Error; 3 | using NUnit.Framework; 4 | 5 | namespace HaloEzAPI.Tests.HaloAPIServiceTests.MetaData.Halo5 6 | { 7 | [TestFixture] 8 | public class GetRequisitionPackTests : BaseHaloAPIServiceTests 9 | { 10 | private Guid validId = new Guid("3a1614d9-20a4-4817-a189-88cb781e9152"); 11 | 12 | [Test] 13 | public void Default_DoesNotThrowException() 14 | { 15 | Assert.DoesNotThrow(async () => await HaloApiService.GetRequisitionPack(validId), CommonErrorMessages.BadRequest); 16 | } 17 | 18 | [Test] 19 | public void KnownInvalid_ThrowException() 20 | { 21 | Assert.Throws(async () => await HaloApiService.GetRequisitionPack(Guid.Empty), CommonErrorMessages.BadRequest); 22 | } 23 | 24 | [Test] 25 | [TestCase("3a1614d9-20a4-4817-a189-88cb781e9152")] 26 | [TestCase("3ce05b60-a118-4ad1-9617-bc04f64ac4d8")] 27 | [TestCase("5f96269a-58f8-473e-9897-42a4deb1bf09")] 28 | public async void Default_DoesNotReturnNull(string id) 29 | { 30 | var result = await HaloApiService.GetRequisitionPack(new Guid(id)); 31 | Assert.IsNotNull(result); 32 | } 33 | } 34 | } -------------------------------------------------------------------------------- /HaloEzAPI.Tests/HaloAPIServiceTests/MetaData/Halo5/GetRequisitionTests.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using HaloEzAPI.Model.Response.Error; 3 | using NUnit.Framework; 4 | 5 | namespace HaloEzAPI.Tests.HaloAPIServiceTests.MetaData.Halo5 6 | { 7 | [TestFixture] 8 | public class GetRequisitionTests : BaseHaloAPIServiceTests 9 | { 10 | private Guid validId = new Guid("e4f549b2-90af-4dab-b2bc-11a46ea44103"); 11 | 12 | [Test] 13 | public void Default_DoesNotThrowException() 14 | { 15 | Assert.DoesNotThrow(async () => await HaloApiService.GetRequisition(validId), CommonErrorMessages.BadRequest); 16 | } 17 | 18 | [Test] 19 | public void KnownInvalid_ThrowException() 20 | { 21 | Assert.Throws(async () => await HaloApiService.GetRequisition(Guid.Empty), CommonErrorMessages.BadRequest); 22 | } 23 | 24 | [Test] 25 | public async void Default_DoesNotReturnNull() 26 | { 27 | var result = await HaloApiService.GetRequisition(validId); 28 | Assert.IsNotNull(result); 29 | } 30 | } 31 | } -------------------------------------------------------------------------------- /HaloEzAPI.Tests/HaloAPIServiceTests/MetaData/Halo5/GetSeasonsTests.cs: -------------------------------------------------------------------------------- 1 | using System.Linq; 2 | using NUnit.Framework; 3 | 4 | namespace HaloEzAPI.Tests.HaloAPIServiceTests.MetaData.Halo5 5 | { 6 | [TestFixture] 7 | public class GetSeasonsTests : BaseHaloAPIServiceTests 8 | { 9 | [Test] 10 | public void Default_DoesNotThrowException() 11 | { 12 | Assert.DoesNotThrow(async () => await HaloApiService.GetSeasons()); 13 | } 14 | 15 | [Test] 16 | public async void Default_DoesNotReturnNull() 17 | { 18 | var result = await HaloApiService.GetSeasons(); 19 | Assert.IsNotNull(result); 20 | } 21 | 22 | [Test] 23 | public async void Default_ReturnsValidCollection() 24 | { 25 | var result = await HaloApiService.GetSeasons(); 26 | CollectionAssert.AllItemsAreNotNull(result); 27 | } 28 | 29 | [Test] 30 | public async void Default_PlaylistsNotEmpty() 31 | { 32 | var result = await HaloApiService.GetSeasons(); 33 | Assert.True(result.All(r=>r.Playlists.Any())); 34 | } 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /HaloEzAPI.Tests/HaloAPIServiceTests/MetaData/Halo5/GetSkullsTests.cs: -------------------------------------------------------------------------------- 1 | using NUnit.Framework; 2 | 3 | namespace HaloEzAPI.Tests.HaloAPIServiceTests.MetaData.Halo5 4 | { 5 | [TestFixture] 6 | public class GetSkullsTests : BaseHaloAPIServiceTests 7 | { 8 | [Test] 9 | public void Default_DoesNotThrowException() 10 | { 11 | Assert.DoesNotThrow(async () => await HaloApiService.GetSkulls()); 12 | } 13 | 14 | [Test] 15 | public async void Default_DoesNotReturnNull() 16 | { 17 | var result = await HaloApiService.GetSkulls(); 18 | Assert.IsNotNull(result); 19 | } 20 | 21 | [Test] 22 | public async void Default_ReturnsValidCollection() 23 | { 24 | var result = await HaloApiService.GetSkulls(); 25 | CollectionAssert.AllItemsAreNotNull(result); 26 | } 27 | } 28 | } -------------------------------------------------------------------------------- /HaloEzAPI.Tests/HaloAPIServiceTests/MetaData/Halo5/GetTeamColorsTests.cs: -------------------------------------------------------------------------------- 1 | using NUnit.Framework; 2 | 3 | namespace HaloEzAPI.Tests.HaloAPIServiceTests.MetaData.Halo5 4 | { 5 | [TestFixture] 6 | public class GetTeamColorsTests : BaseHaloAPIServiceTests 7 | { 8 | [Test] 9 | public void Default_DoesNotThrowException() 10 | { 11 | Assert.DoesNotThrow(async () => await HaloApiService.GetTeamColours()); 12 | } 13 | 14 | [Test] 15 | public async void Default_DoesNotReturnNull() 16 | { 17 | var result = await HaloApiService.GetTeamColours(); 18 | Assert.IsNotNull(result); 19 | } 20 | 21 | [Test] 22 | public async void Default_ReturnsValidCollection() 23 | { 24 | var result = await HaloApiService.GetTeamColours(); 25 | CollectionAssert.AllItemsAreNotNull(result); 26 | } 27 | } 28 | } -------------------------------------------------------------------------------- /HaloEzAPI.Tests/HaloAPIServiceTests/MetaData/Halo5/GetVehiclesTests.cs: -------------------------------------------------------------------------------- 1 | using NUnit.Framework; 2 | 3 | namespace HaloEzAPI.Tests.HaloAPIServiceTests.MetaData.Halo5 4 | { 5 | [TestFixture] 6 | public class GetVehiclesTests : BaseHaloAPIServiceTests 7 | { 8 | [Test] 9 | public void Default_DoesNotThrowException() 10 | { 11 | Assert.DoesNotThrow(async () => await HaloApiService.GetVehicles()); 12 | } 13 | 14 | [Test] 15 | public async void Default_DoesNotReturnNull() 16 | { 17 | var result = await HaloApiService.GetVehicles(); 18 | Assert.IsNotNull(result); 19 | } 20 | 21 | [Test] 22 | public async void Default_ReturnsValidCollection() 23 | { 24 | var result = await HaloApiService.GetVehicles(); 25 | CollectionAssert.AllItemsAreNotNull(result); 26 | } 27 | } 28 | } -------------------------------------------------------------------------------- /HaloEzAPI.Tests/HaloAPIServiceTests/MetaData/Halo5/GetWeaponsTests.cs: -------------------------------------------------------------------------------- 1 | using NUnit.Framework; 2 | 3 | namespace HaloEzAPI.Tests.HaloAPIServiceTests.MetaData.Halo5 4 | { 5 | [TestFixture] 6 | public class GetWeaponsTests : BaseHaloAPIServiceTests 7 | { 8 | [Test] 9 | public void Default_DoesNotThrowException() 10 | { 11 | Assert.DoesNotThrow(async () => await HaloApiService.GetWeapons()); 12 | } 13 | 14 | [Test] 15 | public async void Default_DoesNotReturnNull() 16 | { 17 | var result = await HaloApiService.GetWeapons(); 18 | Assert.IsNotNull(result); 19 | } 20 | 21 | [Test] 22 | public async void Default_ReturnsValidCollection() 23 | { 24 | var result = await HaloApiService.GetWeapons(); 25 | CollectionAssert.AllItemsAreNotNull(result); 26 | } 27 | } 28 | } -------------------------------------------------------------------------------- /HaloEzAPI.Tests/HaloAPIServiceTests/MetaData/HaloWars2/GetCampaignLogsTests.cs: -------------------------------------------------------------------------------- 1 | using System.Linq; 2 | using NUnit.Framework; 3 | 4 | namespace HaloEzAPI.Tests.HaloAPIServiceTests.MetaData.HaloWars2 5 | { 6 | [TestFixture] 7 | public class GetCamapignLogsTests : BaseHaloAPIServiceTests 8 | { 9 | [Test] 10 | public void Default_DoesNotThrowException() 11 | { 12 | Assert.DoesNotThrow(async () => await HaloApiService.HaloWars2.GetCampaignLogs()); 13 | } 14 | 15 | [Test] 16 | public async void Default_DoesNotReturnNull() 17 | { 18 | var result = await HaloApiService.HaloWars2.GetCampaignLogs(); 19 | Assert.IsNotNull(result); 20 | } 21 | 22 | [Test] 23 | public async void Default_ReturnsValidCollection() 24 | { 25 | var result = await HaloApiService.HaloWars2.GetCampaignLogs(); 26 | CollectionAssert.AllItemsAreNotNull(result.ContentItems); 27 | } 28 | 29 | [Test] 30 | public async void Default_ReturnsKnownLog() 31 | { 32 | var result = await HaloApiService.HaloWars2.GetCampaignLogs(); 33 | var firstLog = result.ContentItems.First(); 34 | 35 | Assert.True(result.Paging.TotalCount == 124); 36 | Assert.True(firstLog.Id == 337005); 37 | Assert.True(firstLog.View.Title == "The Foundry"); 38 | Assert.True(firstLog.View.HW2Log.Id == 13); 39 | } 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /HaloEzAPI.Tests/HaloAPIServiceTests/MetaData/HaloWars2/GetCardKeywordsTests.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Linq; 3 | using NUnit.Framework; 4 | 5 | namespace HaloEzAPI.Tests.HaloAPIServiceTests.MetaData.HaloWars2 6 | { 7 | [TestFixture] 8 | public class GetCardKeywords : BaseHaloAPIServiceTests 9 | { 10 | [Test] 11 | public void Default_DoesNotThrowException() 12 | { 13 | Assert.DoesNotThrow(async () => await HaloApiService.HaloWars2.GetCardKeywords()); 14 | } 15 | 16 | [Test] 17 | public async void Default_DoesNotReturnNull() 18 | { 19 | var result = await HaloApiService.HaloWars2.GetCardKeywords(); 20 | Assert.IsNotNull(result); 21 | } 22 | 23 | [Test] 24 | public async void Default_ReturnsValidCollection() 25 | { 26 | var result = await HaloApiService.HaloWars2.GetCardKeywords(); 27 | CollectionAssert.AllItemsAreNotNull(result.ContentItems); 28 | } 29 | 30 | [Test] 31 | public async void Default_ReturnsKnownKeyword() 32 | { 33 | var result = await HaloApiService.HaloWars2.GetCardKeywords(); 34 | var firstLog = result.ContentItems.First(); 35 | 36 | Assert.True(firstLog.Id == 337156); 37 | Assert.True(firstLog.View.Title == "Rally"); 38 | Assert.True(firstLog.View.HW2CardKeyword.Keyword == "Rally"); 39 | } 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /HaloEzAPI.Tests/HaloAPIServiceTests/MetaData/HaloWars2/GetCardsTests.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Linq; 3 | using NUnit.Framework; 4 | 5 | namespace HaloEzAPI.Tests.HaloAPIServiceTests.MetaData.HaloWars2 6 | { 7 | [TestFixture] 8 | public class GetCardTests : BaseHaloAPIServiceTests 9 | { 10 | [Test] 11 | public void Default_DoesNotThrowException() 12 | { 13 | Assert.DoesNotThrow(async () => await HaloApiService.HaloWars2.GetCards()); 14 | } 15 | 16 | [Test] 17 | public async void Default_DoesNotReturnNull() 18 | { 19 | var result = await HaloApiService.HaloWars2.GetCards(); 20 | Assert.IsNotNull(result); 21 | } 22 | 23 | [Test] 24 | public async void Default_ReturnsValidCollection() 25 | { 26 | var result = await HaloApiService.HaloWars2.GetCards(); 27 | CollectionAssert.AllItemsAreNotNull(result.ContentItems); 28 | } 29 | 30 | [Test] 31 | public async void Default_ReturnsKnownCards() 32 | { 33 | var result = await HaloApiService.HaloWars2.GetCards(); 34 | var firstCard = result.ContentItems.First(); 35 | 36 | Assert.True(firstCard.View.Title == "UNIT_UNSC_WARTHOG_LASTSTAND"); 37 | Assert.True(firstCard.View.HW2Card.EnergyCost == 140); 38 | Assert.True(firstCard.View.HW2Card.DisplayInfo.View.HW2CardDisplayInfo.SubtypeDescription == "CORE VEHICLE"); 39 | } 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /HaloEzAPI.Tests/HaloAPIServiceTests/MetaData/HaloWars2/GetGameObjectCategoriesTests.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Linq; 3 | using NUnit.Framework; 4 | 5 | namespace HaloEzAPI.Tests.HaloAPIServiceTests.MetaData.HaloWars2 6 | { 7 | [TestFixture] 8 | public class GetGameObjectCategoriesTests : BaseHaloAPIServiceTests 9 | { 10 | [Test] 11 | public void Default_DoesNotThrowException() 12 | { 13 | Assert.DoesNotThrow(async () => await HaloApiService.HaloWars2.GetGameObjectCategories()); 14 | } 15 | 16 | [Test] 17 | public async void Default_DoesNotReturnNull() 18 | { 19 | var result = await HaloApiService.HaloWars2.GetGameObjectCategories(); 20 | Assert.IsNotNull(result); 21 | } 22 | 23 | [Test] 24 | public async void Default_ReturnsValidCollection() 25 | { 26 | var result = await HaloApiService.HaloWars2.GetGameObjectCategories(); 27 | CollectionAssert.AllItemsAreNotNull(result.ContentItems); 28 | } 29 | 30 | [Test] 31 | public async void Default_ReturnsKnownGameObjectCategory() 32 | { 33 | var result = await HaloApiService.HaloWars2.GetGameObjectCategories(); 34 | var firstGameObjectCat = result.ContentItems.First(); 35 | 36 | Assert.AreEqual(firstGameObjectCat.View.Title, "Anti-Infantry [obj category]"); 37 | } 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /HaloEzAPI.Tests/HaloAPIServiceTests/MetaData/HaloWars2/GetGameObjectsTests.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Linq; 3 | using NUnit.Framework; 4 | 5 | namespace HaloEzAPI.Tests.HaloAPIServiceTests.MetaData.HaloWars2 6 | { 7 | [TestFixture] 8 | public class GetGameObjectsTests : BaseHaloAPIServiceTests 9 | { 10 | [Test] 11 | public void Default_DoesNotThrowException() 12 | { 13 | Assert.DoesNotThrow(async () => await HaloApiService.HaloWars2.GetGameObjects()); 14 | } 15 | 16 | [Test] 17 | public async void Default_DoesNotReturnNull() 18 | { 19 | var result = await HaloApiService.HaloWars2.GetGameObjects(); 20 | Assert.IsNotNull(result); 21 | } 22 | 23 | [Test] 24 | public async void Default_ReturnsValidCollection() 25 | { 26 | var result = await HaloApiService.HaloWars2.GetGameObjects(); 27 | CollectionAssert.AllItemsAreNotNull(result.ContentItems); 28 | } 29 | 30 | [Test] 31 | public async void Default_ReturnsKnownGameObjects() 32 | { 33 | var result = await HaloApiService.HaloWars2.GetGameObjects(); 34 | var firstGameObject = result.ContentItems.First(); 35 | 36 | Assert.AreEqual(firstGameObject.View.Title, "VOLATILE SCARAB"); 37 | } 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /HaloEzAPI.Tests/HaloAPIServiceTests/MetaData/HaloWars2/GetLeaderPowersTests.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Linq; 3 | using NUnit.Framework; 4 | 5 | namespace HaloEzAPI.Tests.HaloAPIServiceTests.MetaData.HaloWars2 6 | { 7 | [TestFixture] 8 | public class GetLeaderPowersTests : BaseHaloAPIServiceTests 9 | { 10 | [Test] 11 | public void Default_DoesNotThrowException() 12 | { 13 | Assert.DoesNotThrow(async () => await HaloApiService.HaloWars2.GetLeaderPowers()); 14 | } 15 | 16 | [Test] 17 | public async void Default_DoesNotReturnNull() 18 | { 19 | var result = await HaloApiService.HaloWars2.GetLeaderPowers(); 20 | Assert.IsNotNull(result); 21 | } 22 | 23 | [Test] 24 | public async void Default_ReturnsValidCollection() 25 | { 26 | var result = await HaloApiService.HaloWars2.GetLeaderPowers(); 27 | CollectionAssert.AllItemsAreNotNull(result.ContentItems); 28 | } 29 | 30 | [Test] 31 | public async void Default_ReturnsKnownLeaderPowers() 32 | { 33 | var result = await HaloApiService.HaloWars2.GetLeaderPowers(); 34 | var firstGameObject = result.ContentItems.First(); 35 | 36 | Assert.AreEqual(firstGameObject.View.Title, "COMBAT SPOILS II"); 37 | } 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /HaloEzAPI.Tests/HaloAPIServiceTests/Profile/GetProfileEmblemTests.cs: -------------------------------------------------------------------------------- 1 | using NUnit.Framework; 2 | 3 | namespace HaloEzAPI.Tests.HaloAPIServiceTests.Profile 4 | { 5 | 6 | [TestFixture] 7 | public class GetProfileEmblemTests : BaseHaloAPIServiceTests 8 | { 9 | [Test] 10 | public void Default_DoesNotThrowException() 11 | { 12 | Assert.DoesNotThrow(async () => await HaloApiService.GetProfileEmblem("Test")); 13 | } 14 | 15 | [Test] 16 | public async void Default_DoesNotReturnNull() 17 | { 18 | var result = await HaloApiService.GetProfileEmblem("Glitch100"); 19 | Assert.IsNotNull(result); 20 | } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /HaloEzAPI.Tests/HaloAPIServiceTests/Profile/GetProfileImageTests.cs: -------------------------------------------------------------------------------- 1 | using NUnit.Framework; 2 | 3 | namespace HaloEzAPI.Tests.HaloAPIServiceTests.Profile 4 | { 5 | [TestFixture] 6 | public class GetProfileImageTests : BaseHaloAPIServiceTests 7 | { 8 | [Test] 9 | public void Default_DoesNotThrowException() 10 | { 11 | Assert.DoesNotThrow(async () => await HaloApiService.GetProfileEmblem("Test")); 12 | } 13 | 14 | [Test] 15 | public async void Default_DoesNotReturnNull() 16 | { 17 | var result = await HaloApiService.GetProfileEmblem("Glitch100"); 18 | Assert.IsNotNull(result); 19 | } 20 | 21 | [Test] 22 | public async void Success_ReturnsDefaultWidth() 23 | { 24 | var result = await HaloApiService.GetProfileEmblem("Glitch100"); 25 | Assert.AreEqual(256, result.Width); 26 | } 27 | } 28 | } -------------------------------------------------------------------------------- /HaloEzAPI.Tests/HaloAPIServiceTests/Profile/GetSpartanImageTests.cs: -------------------------------------------------------------------------------- 1 | using NUnit.Framework; 2 | 3 | namespace HaloEzAPI.Tests.HaloAPIServiceTests.Profile 4 | { 5 | [TestFixture] 6 | public class GetSpartanImageTests : BaseHaloAPIServiceTests 7 | { 8 | [Test] 9 | public void Default_DoesNotThrowException() 10 | { 11 | Assert.DoesNotThrow(async () => await HaloApiService.GetSpartanImage("Test")); 12 | } 13 | 14 | [Test] 15 | public async void Default_DoesNotReturnNull() 16 | { 17 | var result = await HaloApiService.GetSpartanImage("Glitch100"); 18 | Assert.IsNotNull(result); 19 | } 20 | 21 | [Test] 22 | public async void Success_ReturnsDefaultWidth() 23 | { 24 | var result = await HaloApiService.GetSpartanImage("Glitch100"); 25 | Assert.AreEqual(256,result.Width); 26 | } 27 | } 28 | } -------------------------------------------------------------------------------- /HaloEzAPI.Tests/HaloAPIServiceTests/Stats/Halo5/GetCampaignPostGameCarnageReportTests.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Linq; 3 | using NUnit.Framework; 4 | 5 | namespace HaloEzAPI.Tests.HaloAPIServiceTests.Stats.Halo5 6 | { 7 | [TestFixture] 8 | public class GetCampaignPostGameCarnageReportTests : BaseHaloAPIServiceTests 9 | { 10 | private static readonly Guid _validGuid = new Guid("acc04b23-ba22-490b-a842-5c9e7ece4298"); 11 | 12 | [Test] 13 | public void Default_DoesNotThrowException() 14 | { 15 | Assert.DoesNotThrow(async () => await HaloApiService.GetCampaignPostGameCarnageReport(_validGuid)); 16 | } 17 | 18 | [Test] 19 | public async void Default_DoesNotReturnNull() 20 | { 21 | var result = await HaloApiService.GetCampaignPostGameCarnageReport(_validGuid); 22 | Assert.IsNotNull(result); 23 | } 24 | 25 | [Test] 26 | public async void ProvideValidMatchId_ReturnsKnownPlayer() 27 | { 28 | var result = await HaloApiService.GetCampaignPostGameCarnageReport(_validGuid); 29 | Assert.IsTrue(result.PlayerStats.Any(ps=>ps.Player.Gamertag.Equals("Glitch100",StringComparison.InvariantCultureIgnoreCase))); 30 | } 31 | } 32 | } -------------------------------------------------------------------------------- /HaloEzAPI.Tests/HaloAPIServiceTests/Stats/Halo5/GetMatchEventsTests.cs: -------------------------------------------------------------------------------- 1 | using HaloEzAPI.Model.Response.Error; 2 | using NUnit.Framework; 3 | 4 | namespace HaloEzAPI.Tests.HaloAPIServiceTests.Stats.Halo5 5 | { 6 | [TestFixture] 7 | public class GetMatchEventsTests : BaseHaloAPIServiceTests 8 | { 9 | [Test] 10 | [TestCase("3f35f75c-aee4-437a-9b49-535ba2e5f186")] 11 | public void Default_DoesNotThrowException(string matchId) 12 | { 13 | Assert.DoesNotThrow(async () => await HaloApiService.GetEventsForMatch(matchId)); 14 | } 15 | 16 | [Test] 17 | [TestCase("3f35f75c-aee4-437a-9b49-535ba2e5f186")] 18 | [TestCase("e46d0c1a-9962-44eb-a003-6fac499b0e08")] 19 | public async void Default_DoesNotReturnNull(string matchId) 20 | { 21 | var result = await HaloApiService.GetEventsForMatch(matchId); 22 | 23 | Assert.IsNotNull(result); 24 | } 25 | 26 | [Test] 27 | [TestCase("")] 28 | public async void NoMatchIdProvided_ThrowsException(string matchId) 29 | { 30 | Assert.Throws(async () => await HaloApiService.GetEventsForMatch(matchId), CommonErrorMessages.InvalidMatchId); 31 | } 32 | } 33 | } -------------------------------------------------------------------------------- /HaloEzAPI.Tests/HaloAPIServiceTests/Stats/Halo5/PlayerLeaderboardTests.cs: -------------------------------------------------------------------------------- 1 | using NUnit.Framework; 2 | 3 | namespace HaloEzAPI.Tests.HaloAPIServiceTests.Stats.Halo5 4 | { 5 | [TestFixture] 6 | public class PlayerLeaderboardTests : BaseHaloAPIServiceTests 7 | { 8 | [Test] 9 | [TestCase("6080b0bc-95fc-457d-8982-c43801258182", "892189e9-d712-4bdb-afa7-1ccab43fbed4")] 10 | public void Default_DoesNotThrowException(string seasonId, string playlistId) 11 | { 12 | Assert.DoesNotThrow(async () => await HaloApiService.PlayerLeaderboard(seasonId, playlistId)); 13 | } 14 | 15 | [Test] 16 | [TestCase("6080b0bc-95fc-457d-8982-c43801258182", "892189e9-d712-4bdb-afa7-1ccab43fbed4")] 17 | public async void Default_DoesNotReturnNull(string seasonId, string playlistId) 18 | { 19 | var result = await HaloApiService.PlayerLeaderboard(seasonId, playlistId); 20 | 21 | Assert.IsNotNull(result); 22 | } 23 | 24 | [Test] 25 | [TestCase("6080b0bc-95fc-457d-8982-c43801258182", "892189e9-d712-4bdb-afa7-1ccab43fbed4")] 26 | public async void ValidRequest_Returns200ByDefault(string seasonId, string playlistId) 27 | { 28 | var result = await HaloApiService.PlayerLeaderboard(seasonId, playlistId); 29 | 30 | Assert.True(result.Count == 200); 31 | } 32 | 33 | } 34 | } -------------------------------------------------------------------------------- /HaloEzAPI.Tests/HaloAPIServiceTests/UGC/Halo5/GetMapVariantTests.cs: -------------------------------------------------------------------------------- 1 | using NUnit.Framework; 2 | 3 | namespace HaloEzAPI.Tests.HaloAPIServiceTests.UGC.Halo5 4 | { 5 | public class GetMapVariantTests : BaseHaloAPIServiceTests 6 | { 7 | [Test] 8 | public void Default_DoesNotThrowException() 9 | { 10 | Assert.DoesNotThrow(async () => await HaloApiService.GetUGCMapVariant("ARC GuiltySpark", "dfb9efd0-53a9-4889-9c63-01f666e8af98")); 11 | } 12 | 13 | [Test] 14 | public async void Default_DoesNotReturnNull() 15 | { 16 | var result = await HaloApiService.GetUGCMapVariant("ARC GuiltySpark", "dfb9efd0-53a9-4889-9c63-01f666e8af98"); 17 | Assert.IsNotNull(result); 18 | } 19 | 20 | [Test] 21 | public async void ProvideValidDetails_ReturnsKnownProperties() 22 | { 23 | const string gamerTag = "ARC GuiltySpark"; 24 | var result = await HaloApiService.GetUGCGameVariant(gamerTag, "dfb9efd0-53a9-4889-9c63-01f666e8af98"); 25 | Assert.AreEqual(gamerTag, result.Identity.Owner); 26 | Assert.IsNotNull(result); 27 | } 28 | } 29 | } -------------------------------------------------------------------------------- /HaloEzAPI.Tests/RequestRateHttpClientTests/GetRequestTests.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using HaloEzAPI.Limits; 3 | using HaloEzAPI.Tests.HaloAPIServiceTests; 4 | using NUnit.Framework; 5 | 6 | namespace HaloEzAPI.Tests.RequestRateHttpClientTests 7 | { 8 | public class GetRequestTests : BaseHaloAPIServiceTests 9 | { 10 | private string DummyMatchesForPlayerEndpoint = "https://www.haloapi.com/stats/h5/players/Glitch100/matches"; 11 | 12 | [Test] 13 | public void Default_DoesNotThrow() 14 | { 15 | Assert.DoesNotThrow(() => RequestRateHttpClient.GetRequest(new Uri(DummyMatchesForPlayerEndpoint))); 16 | } 17 | 18 | [Test] 19 | public void MoreThanLimitSent_DoesNotThrow() 20 | { 21 | for (int i = 0; i < 15; i++) 22 | { 23 | Assert.DoesNotThrow(() => RequestRateHttpClient.GetRequest(new Uri(DummyMatchesForPlayerEndpoint))); 24 | } 25 | } 26 | 27 | } 28 | } -------------------------------------------------------------------------------- /HaloEzAPI.Tests/RequestRateHttpClientTests/SetAPITokenTests.cs: -------------------------------------------------------------------------------- 1 | using HaloEzAPI.Limits; 2 | using HaloEzAPI.Model.Response.Error; 3 | using HaloEzAPI.Tests.HaloAPIServiceTests; 4 | using NUnit.Framework; 5 | 6 | namespace HaloEzAPI.Tests.RequestRateHttpClientTests 7 | { 8 | [TestFixture] 9 | public class SetAPITokenTests : BaseHaloAPIServiceTests 10 | { 11 | [Test] 12 | [TestCase(null)] 13 | [TestCase("")] 14 | public void Default_DoesNotThrow(string token) 15 | { 16 | Assert.DoesNotThrow(() => RequestRateHttpClient.SetAPIToken(token)); 17 | } 18 | 19 | [Test] 20 | [TestCase("INVALID")] 21 | public void ChangeTokenToInvalid_ThrowAccessDenied(string token) 22 | { 23 | RequestRateHttpClient.SetAPIToken(token); 24 | Assert.Throws(async () => await HaloApiService.GetArenaServiceRecords(new[] {"Glitch100"}),CommonErrorMessages.AccessDenied); 25 | } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /HaloEzAPI.Tests/packages.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /HaloEzAPI/.vs/HaloEzAPI/v15/Server/sqlite3/db.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/glitch100/Halo-API/d0591a27ef81e4b55dd7d7f79de93b6ebde262f4/HaloEzAPI/.vs/HaloEzAPI/v15/Server/sqlite3/db.lock -------------------------------------------------------------------------------- /HaloEzAPI/.vs/HaloEzAPI/v15/Server/sqlite3/storage.ide: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/glitch100/Halo-API/d0591a27ef81e4b55dd7d7f79de93b6ebde262f4/HaloEzAPI/.vs/HaloEzAPI/v15/Server/sqlite3/storage.ide -------------------------------------------------------------------------------- /HaloEzAPI/.vs/HaloEzAPI/v15/Server/sqlite3/storage.ide-shm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/glitch100/Halo-API/d0591a27ef81e4b55dd7d7f79de93b6ebde262f4/HaloEzAPI/.vs/HaloEzAPI/v15/Server/sqlite3/storage.ide-shm -------------------------------------------------------------------------------- /HaloEzAPI/.vs/HaloEzAPI/v15/Server/sqlite3/storage.ide-wal: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/glitch100/Halo-API/d0591a27ef81e4b55dd7d7f79de93b6ebde262f4/HaloEzAPI/.vs/HaloEzAPI/v15/Server/sqlite3/storage.ide-wal -------------------------------------------------------------------------------- /HaloEzAPI/Abstraction/Enum/Halo5/AccessControl.cs: -------------------------------------------------------------------------------- 1 | namespace HaloEzAPI.Abstraction.Enum.Halo5 2 | { 3 | public enum AccessControl 4 | { 5 | Listed = 0, 6 | Unlisted = 1, 7 | Unknown = 2, 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /HaloEzAPI/Abstraction/Enum/Halo5/CommendationType.cs: -------------------------------------------------------------------------------- 1 | namespace HaloEzAPI.Abstraction.Enum.Halo5 2 | { 3 | public enum CommendationType 4 | { 5 | Progressive, 6 | Meta, 7 | Daily 8 | } 9 | } -------------------------------------------------------------------------------- /HaloEzAPI/Abstraction/Enum/Halo5/CreditResult.cs: -------------------------------------------------------------------------------- 1 | namespace HaloEzAPI.Abstraction.Enum.Halo5 2 | { 3 | public enum CreditResult 4 | { 5 | CreditsDisabledInPlaylist = 0, 6 | PlayerDNF = 1, 7 | CreditsEarned = 2 8 | } 9 | } -------------------------------------------------------------------------------- /HaloEzAPI/Abstraction/Enum/Halo5/CropType.cs: -------------------------------------------------------------------------------- 1 | namespace HaloEzAPI.Abstraction.Enum.Halo5 2 | { 3 | public enum CropType 4 | { 5 | Full, 6 | Portrait 7 | } 8 | } -------------------------------------------------------------------------------- /HaloEzAPI/Abstraction/Enum/Halo5/DeathDisposition.cs: -------------------------------------------------------------------------------- 1 | namespace HaloEzAPI.Abstraction.Enum.Halo5 2 | { 3 | public enum DeathDisposition 4 | { 5 | Friendly = 0, 6 | Hostile = 1, 7 | Neutral = 2, 8 | } 9 | } -------------------------------------------------------------------------------- /HaloEzAPI/Abstraction/Enum/Halo5/Difficulty.cs: -------------------------------------------------------------------------------- 1 | namespace HaloEzAPI.Abstraction.Enum.Halo5 2 | { 3 | public enum Difficulty 4 | { 5 | Easy = 0, 6 | Normal = 1, 7 | Heroic = 2, 8 | Legendary = 3 9 | } 10 | } -------------------------------------------------------------------------------- /HaloEzAPI/Abstraction/Enum/Halo5/EnumResolver.cs: -------------------------------------------------------------------------------- 1 | namespace HaloEzAPI.Abstraction.Enum.Halo5 2 | { 3 | public static class EnumResolver 4 | { 5 | public static OwnerType GetOwnerType(int value) 6 | { 7 | switch (value) 8 | { 9 | case 1: 10 | return OwnerType.UserGenerated; 11 | case 2: 12 | return OwnerType.UserGenerated; 13 | case 3: 14 | return OwnerType.Official; 15 | default : 16 | return OwnerType.Unknown; 17 | } 18 | } 19 | } 20 | } -------------------------------------------------------------------------------- /HaloEzAPI/Abstraction/Enum/Halo5/EventType.cs: -------------------------------------------------------------------------------- 1 | namespace HaloEzAPI.Abstraction.Enum.Halo5 2 | { 3 | public enum EventType 4 | { 5 | Death, 6 | Impulse, 7 | Medal, 8 | PlayerSpawn, 9 | RoundStart, 10 | RoundEnd, 11 | WeaponDrop, 12 | WeaponPickup, 13 | WeaponPickupPad 14 | } 15 | } -------------------------------------------------------------------------------- /HaloEzAPI/Abstraction/Enum/Halo5/Faction.cs: -------------------------------------------------------------------------------- 1 | namespace HaloEzAPI.Abstraction.Enum.Halo5 2 | { 3 | public enum Faction 4 | { 5 | Unknown, 6 | UNSC, 7 | Covenant, 8 | Promethean, 9 | Banished, 10 | } 11 | } -------------------------------------------------------------------------------- /HaloEzAPI/Abstraction/Enum/Halo5/Flair.cs: -------------------------------------------------------------------------------- 1 | namespace HaloEzAPI.Abstraction.Enum.Halo5 2 | { 3 | public enum Flair 4 | { 5 | None, 6 | New, 7 | Hot, 8 | LeavingSoon, 9 | MaximumValue, 10 | LimitedTime, 11 | Featured, 12 | BestSeller, 13 | Popular 14 | } 15 | } -------------------------------------------------------------------------------- /HaloEzAPI/Abstraction/Enum/Halo5/FlexibleStatType.cs: -------------------------------------------------------------------------------- 1 | namespace HaloEzAPI.Abstraction.Enum.Halo5 2 | { 3 | public enum FlexibleStatType 4 | { 5 | Count, 6 | Duration 7 | } 8 | } -------------------------------------------------------------------------------- /HaloEzAPI/Abstraction/Enum/Halo5/GameMode.cs: -------------------------------------------------------------------------------- 1 | namespace HaloEzAPI.Abstraction.Enum.Halo5 2 | { 3 | public enum GameMode 4 | { 5 | Error, 6 | Arena, 7 | Campaign, 8 | Custom, 9 | CustomLocal, 10 | Warzone, 11 | All 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /HaloEzAPI/Abstraction/Enum/Halo5/KillerAgent.cs: -------------------------------------------------------------------------------- 1 | namespace HaloEzAPI.Abstraction.Enum.Halo5 2 | { 3 | public enum KillerAgent 4 | { 5 | None = 0, 6 | Player = 1, 7 | AI = 2, 8 | } 9 | } -------------------------------------------------------------------------------- /HaloEzAPI/Abstraction/Enum/Halo5/MedalType.cs: -------------------------------------------------------------------------------- 1 | using System.Runtime.Serialization; 2 | 3 | namespace HaloEzAPI.Abstraction.Enum.Halo5 4 | { 5 | public enum MedalType 6 | { 7 | Unknown, 8 | [EnumMember(Value = "Multi-kill")] 9 | MultiKill, 10 | Spree, 11 | Style, 12 | Warzone, 13 | Vehicles, 14 | Breakout, 15 | Objective, 16 | StrongHolds, 17 | KillingSpree, 18 | CaptureTheFlag, 19 | WeaponProficiency, 20 | Ball, 21 | Infection, 22 | Oddball, 23 | } 24 | } -------------------------------------------------------------------------------- /HaloEzAPI/Abstraction/Enum/Halo5/MissionType.cs: -------------------------------------------------------------------------------- 1 | namespace HaloEzAPI.Abstraction.Enum.Halo5 2 | { 3 | public enum MissionType 4 | { 5 | BlueTeam, 6 | OsirisTeam 7 | } 8 | } -------------------------------------------------------------------------------- /HaloEzAPI/Abstraction/Enum/Halo5/OwnerType.cs: -------------------------------------------------------------------------------- 1 | namespace HaloEzAPI.Abstraction.Enum.Halo5 2 | { 3 | public enum OwnerType 4 | { 5 | Unknown, 6 | UserGenerated, 7 | Official, 8 | } 9 | } -------------------------------------------------------------------------------- /HaloEzAPI/Abstraction/Enum/Halo5/PlayerMatchResult.cs: -------------------------------------------------------------------------------- 1 | namespace HaloEzAPI.Abstraction.Enum.Halo5 2 | { 3 | public enum PlayerMatchResult 4 | { 5 | DidNotFinish = 0, 6 | Lost = 1, 7 | Tied = 2, 8 | Won = 3, 9 | } 10 | } -------------------------------------------------------------------------------- /HaloEzAPI/Abstraction/Enum/Halo5/RarityType.cs: -------------------------------------------------------------------------------- 1 | namespace HaloEzAPI.Abstraction.Enum.Halo5 2 | { 3 | public enum RarityType 4 | { 5 | Common, 6 | Uncommon, 7 | Rare, 8 | UltraRare, 9 | Legendary 10 | } 11 | } -------------------------------------------------------------------------------- /HaloEzAPI/Abstraction/Enum/Halo5/ReqUseType.cs: -------------------------------------------------------------------------------- 1 | namespace HaloEzAPI.Abstraction.Enum.Halo5 2 | { 3 | public enum ReqUseType 4 | { 5 | Consumable, 6 | Durable, 7 | Boost, 8 | CreditGranting 9 | } 10 | } -------------------------------------------------------------------------------- /HaloEzAPI/Abstraction/Enum/Halo5/ResourceType.cs: -------------------------------------------------------------------------------- 1 | namespace HaloEzAPI.Abstraction.Enum.Halo5 2 | { 3 | public enum ResourceType 4 | { 5 | GameVariant = 2, 6 | MapVariant = 3, 7 | } 8 | } -------------------------------------------------------------------------------- /HaloEzAPI/Abstraction/Enum/Halo5/ResultCode.cs: -------------------------------------------------------------------------------- 1 | namespace HaloEzAPI.Abstraction.Enum.Halo5 2 | { 3 | public enum ResultCode 4 | { 5 | Success = 0, 6 | NotFound = 1, 7 | ServiceFailure = 2, 8 | ServiceUnavailable = 3 9 | } 10 | } -------------------------------------------------------------------------------- /HaloEzAPI/Abstraction/Enum/Halo5/RewardSourceType.cs: -------------------------------------------------------------------------------- 1 | namespace HaloEzAPI.Abstraction.Enum.Halo5 2 | { 3 | public enum RewardSourceType 4 | { 5 | None = 0, 6 | MetaCommendation = 1, 7 | ProgressComemendation = 2, 8 | SpartanRank = 3, 9 | } 10 | } -------------------------------------------------------------------------------- /HaloEzAPI/Abstraction/Enum/Halo5/WeaponType.cs: -------------------------------------------------------------------------------- 1 | namespace HaloEzAPI.Abstraction.Enum.Halo5 2 | { 3 | public enum WeaponType 4 | { 5 | Unknown, 6 | Grenade, 7 | Turret, 8 | Vehicle, 9 | Standard, 10 | Power 11 | } 12 | } -------------------------------------------------------------------------------- /HaloEzAPI/Abstraction/Enum/HaloWars2/ContentTypeEnum.cs: -------------------------------------------------------------------------------- 1 | namespace HaloEzAPI.Abstraction.Enum.HaloWars2 2 | { 3 | public enum ContentTypeEnum 4 | { 5 | Entitlement, 6 | HW2CampaignLevel, 7 | HW2CampaignObjective, 8 | HW2CampaignLevelDisplayInfo, 9 | HW2Card, 10 | HW2CardDisplayInfo, 11 | HW2CardKeyword, 12 | HW2CardKeywordDisplayInfo, 13 | HW2CsrDesignation, 14 | HW2CsrDesignationTier, 15 | HW2CsrDesignationDisplayInfo, 16 | HW2Difficulty, 17 | HW2DifficultyDisplayInfo, 18 | HW2GameObject, 19 | HW2Leader, 20 | HW2Log, 21 | HW2Pack, 22 | HW2Skull, 23 | HW2Object, 24 | HW2ObjectCategory, 25 | HW2LeaderPower, 26 | HW2LeaderPowerDisplayInfo, 27 | HW2StartingArmy, 28 | Image, 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /HaloEzAPI/Abstraction/Enum/HaloWars2/EffectivenessAgainstGameObject.cs: -------------------------------------------------------------------------------- 1 | namespace HaloEzAPI.Abstraction.Enum.HaloWars2 2 | { 3 | public enum EffectivenessAgainstGameObject 4 | { 5 | NotApplicable, 6 | Poor, 7 | Neutral, 8 | Good, 9 | } 10 | } -------------------------------------------------------------------------------- /HaloEzAPI/Abstraction/Enum/HaloWars2/LeaderId.cs: -------------------------------------------------------------------------------- 1 | namespace HaloEzAPI.Abstraction.Enum.HaloWars2 2 | { 3 | public enum LeaderId 4 | { 5 | Cutter = 1, 6 | Isabel = 2, 7 | Anders = 3, 8 | Decimus = 4, 9 | Atriox = 5, 10 | Shipmaster = 6, 11 | Forge = 7 12 | } 13 | } -------------------------------------------------------------------------------- /HaloEzAPI/Abstraction/Enum/HaloWars2/PlayType.cs: -------------------------------------------------------------------------------- 1 | namespace HaloEzAPI.Abstraction.Enum.HaloWars2 2 | { 3 | public enum PlayType 4 | { 5 | Unit, 6 | Power, 7 | } 8 | } -------------------------------------------------------------------------------- /HaloEzAPI/Abstraction/Enum/HaloWars2/Rarity.cs: -------------------------------------------------------------------------------- 1 | namespace HaloEzAPI.Abstraction.Enum.HaloWars2 2 | { 3 | public enum Rarity 4 | { 5 | Unknown, 6 | Common, 7 | Uncommon, 8 | Rare, 9 | Legendary, 10 | } 11 | } -------------------------------------------------------------------------------- /HaloEzAPI/Abstraction/Enum/Utils/EnumUtils.cs: -------------------------------------------------------------------------------- 1 | namespace HaloEzAPI.Abstraction.Enum.Utils 2 | { 3 | public class EnumUtils 4 | { 5 | public static T ParseEnum(string value) 6 | { 7 | return (T)System.Enum.Parse(typeof(T), value, true); 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /HaloEzAPI/Abstraction/Interfaces/IApiCacheManager.cs: -------------------------------------------------------------------------------- 1 | namespace HaloEzAPI.Abstraction.Interfaces 2 | { 3 | public interface IApiCacheManager 4 | { 5 | void Add(T obj, string key, int expiryHours) where T : class; 6 | T Get(string key) where T : class; 7 | bool Contains(string key); 8 | void Remove(string key); 9 | void RemoveAll(); 10 | } 11 | } -------------------------------------------------------------------------------- /HaloEzAPI/Abstraction/Interfaces/IAsyncApiCacheManager.cs: -------------------------------------------------------------------------------- 1 | using System.Threading.Tasks; 2 | 3 | namespace HaloEzAPI.Abstraction.Interfaces 4 | { 5 | public interface IAsyncApiCacheManager 6 | { 7 | Task Add(T obj, string key, int expiryHours) where T : class; 8 | Task Get(string key) where T : class; 9 | Task Contains(string key); 10 | Task Remove(string key); 11 | Task Bust(); 12 | } 13 | } -------------------------------------------------------------------------------- /HaloEzAPI/Abstraction/Interfaces/IDetail.cs: -------------------------------------------------------------------------------- 1 | namespace HaloEzAPI.Abstraction.Interfaces 2 | { 3 | public interface IDetail 4 | { 5 | string Name { get; set; } 6 | string Description { get; set; } 7 | } 8 | } -------------------------------------------------------------------------------- /HaloEzAPI/Abstraction/Interfaces/IEquipmentDamageDealt.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace HaloEzAPI.Abstraction.Interfaces 4 | { 5 | public interface IEquipmentDamageDealt 6 | { 7 | double TotalGrenadeDamage { get; set; } 8 | int TotalPowerWeaponKills { get; set; } 9 | double TotalPowerWeaponDamage { get; set; } 10 | int TotalPowerWeaponGrabs { get; set; } 11 | DateTime TotalPowerWeaponPossesionTime { get; set; } 12 | int TotalGrenadeKills { get; set; } 13 | } 14 | } -------------------------------------------------------------------------------- /HaloEzAPI/Abstraction/Interfaces/IGuidContentIds.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace HaloEzAPI.Abstraction.Interfaces 4 | { 5 | public interface IGuidContentIds 6 | { 7 | Guid Id { get; set; } 8 | Guid ContentId { get; set; } 9 | } 10 | } -------------------------------------------------------------------------------- /HaloEzAPI/Abstraction/Interfaces/IMatchVariants.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace HaloEzAPI.Abstraction.Interfaces 4 | { 5 | public interface IMatchVariants 6 | { 7 | bool IsMatchOver { get; set; } 8 | TimeSpan TotalDuration { get; set; } 9 | Guid MapVariantId { get; set; } 10 | Guid GameVariantId { get; set; } 11 | Guid PlaylistId { get; set; } 12 | Guid MapId { get; set; } 13 | Guid GameBaseVariantId { get; set; } 14 | bool IsTeamGame { get; set; } 15 | } 16 | } -------------------------------------------------------------------------------- /HaloEzAPI/Abstraction/Interfaces/IMeleeDamageDealt.cs: -------------------------------------------------------------------------------- 1 | namespace HaloEzAPI.Abstraction.Interfaces 2 | { 3 | public interface IMeleeDamageDealt 4 | { 5 | int TotalMeleeKills { get; set; } 6 | double TotalMeleeDamage { get; set; } 7 | int TotalAssassinations { get; set; } 8 | int TotalGroundPoundKills { get; set; } 9 | double TotalGroundPoundDamage { get; set; } 10 | int TotalShoulderBashKills { get; set; } 11 | double TotalShoulderBashDamage { get; set; } 12 | } 13 | } -------------------------------------------------------------------------------- /HaloEzAPI/Abstraction/Interfaces/IPlayerKDA.cs: -------------------------------------------------------------------------------- 1 | namespace HaloEzAPI.Abstraction.Interfaces 2 | { 3 | public interface IPlayerKDA 4 | { 5 | int TotalKills { get; set; } 6 | int TotalDeaths { get; set; } 7 | int TotalAssists { get; set; } 8 | } 9 | } -------------------------------------------------------------------------------- /HaloEzAPI/Abstraction/Interfaces/IPlayerStat.cs: -------------------------------------------------------------------------------- 1 | namespace HaloEzAPI.Abstraction.Interfaces 2 | { 3 | public interface IPlayerStat : IRangeDamageDealt, IMeleeDamageDealt, IEquipmentDamageDealt, IPlayerKDA, IWinLoss 4 | { 5 | 6 | } 7 | } -------------------------------------------------------------------------------- /HaloEzAPI/Abstraction/Interfaces/IRangeDamageDealt.cs: -------------------------------------------------------------------------------- 1 | namespace HaloEzAPI.Abstraction.Interfaces 2 | { 3 | public interface IRangeDamageDealt 4 | { 5 | int TotalHeadshots { get; set; } 6 | double TotalWeaponDamage { get; set; } 7 | int TotalShotsFired { get; set; } 8 | int TotalShotsLanded { get; set; } 9 | } 10 | } -------------------------------------------------------------------------------- /HaloEzAPI/Abstraction/Interfaces/IWinLoss.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace HaloEzAPI.Abstraction.Interfaces 4 | { 5 | public interface IWinLoss 6 | { 7 | int TotalGamesCompleted { get; set; } 8 | int TotalGamesWon { get; set; } 9 | int TotalGamesLost { get; set; } 10 | int TotalGamesTied { get; set; } 11 | TimeSpan TotalTimePlayed { get; set; } 12 | } 13 | } -------------------------------------------------------------------------------- /HaloEzAPI/Caching/SingletonCacheManager.cs: -------------------------------------------------------------------------------- 1 | namespace HaloEzAPI.Caching 2 | { 3 | public static class SingletonCacheManager 4 | { 5 | private static readonly CacheManager _instance = new CacheManager(); 6 | 7 | static SingletonCacheManager() 8 | { 9 | } 10 | 11 | public static CacheManager Instance 12 | { 13 | get { return _instance; } 14 | } 15 | } 16 | } -------------------------------------------------------------------------------- /HaloEzAPI/Converter/ScoreConverter.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using Newtonsoft.Json; 3 | 4 | namespace HaloEzAPI.Converter 5 | { 6 | public class ScoreConverter : JsonConverter 7 | { 8 | public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer) 9 | { 10 | uint unsignedValue; 11 | unchecked 12 | { 13 | // Have to cast to an int first because value is an Int32 14 | unsignedValue = (uint)(int)value; 15 | } 16 | 17 | serializer.Serialize(writer, unsignedValue); 18 | } 19 | 20 | public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer) 21 | { 22 | if (reader.TokenType == JsonToken.Null) 23 | { 24 | return null; 25 | } 26 | 27 | uint unsignedValue = serializer.Deserialize(reader); 28 | 29 | int signedValue; 30 | unchecked 31 | { 32 | signedValue = (int)unsignedValue; 33 | } 34 | 35 | return signedValue; 36 | } 37 | 38 | public override bool CanConvert(Type objectType) 39 | { 40 | return objectType == typeof(int); 41 | } 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /HaloEzAPI/Converter/TimeSpanConverter.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Xml; 3 | using Newtonsoft.Json; 4 | 5 | namespace HaloEzAPI.Converter 6 | { 7 | /// 8 | /// Taken from: http://stackoverflow.com/questions/12633588/parsing-iso-duration-with-json-net 9 | /// 10 | public class TimeSpanConverter : JsonConverter 11 | { 12 | public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer) 13 | { 14 | var ts = (TimeSpan)value; 15 | var tsString = XmlConvert.ToString(ts); 16 | serializer.Serialize(writer, tsString); 17 | } 18 | 19 | public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer) 20 | { 21 | if (reader.TokenType == JsonToken.Null) 22 | { 23 | return null; 24 | } 25 | 26 | var value = serializer.Deserialize(reader); 27 | if (value == string.Empty) 28 | { 29 | return TimeSpan.MinValue; 30 | } 31 | return XmlConvert.ToTimeSpan(value); 32 | } 33 | 34 | public override bool CanConvert(Type objectType) 35 | { 36 | return objectType == typeof(TimeSpan) || objectType == typeof(TimeSpan?); 37 | } 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /HaloEzAPI/Extensions/NameValueCollectionExtensions.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Specialized; 3 | using System.Linq; 4 | using System.Web; 5 | 6 | namespace HaloEzAPI.Extensions 7 | { 8 | public static class NameValueCollectionExtensions 9 | { 10 | public static Uri BuildUri(this NameValueCollection query,string root) 11 | { 12 | var collection = HttpUtility.ParseQueryString(string.Empty); 13 | 14 | foreach (var key in query.Cast().Where(key => !string.IsNullOrEmpty(query[key]))) 15 | { 16 | collection[key] = query[key]; 17 | } 18 | 19 | var builder = new UriBuilder(root) { Query = collection.ToString() }; 20 | return builder.Uri; 21 | } 22 | 23 | } 24 | } -------------------------------------------------------------------------------- /HaloEzAPI/HaloAPIConfig.cs: -------------------------------------------------------------------------------- 1 | namespace HaloEzAPI 2 | { 3 | public class HaloAPIConfig 4 | { 5 | public string APIToken { get; set; } 6 | public int StatCacheExpiry { get; set; } 7 | public int MetaCacheExpiry { get; set; } 8 | public int ProfileCacheExpiry { get; set; } 9 | public int UGCCacheExpiry { get; set; } 10 | public string BaseApiUrl { get; set; } 11 | public bool UseDefaultCache { get; set; } = true; 12 | } 13 | } -------------------------------------------------------------------------------- /HaloEzAPI/HaloEzAPI.nuspec: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | HaloEzAPI 5 | 2.7.1 6 | Halo API - Halo 5 and Halo Wars 2 API 7 | Jon Evans 8 | Jon Evans 9 | false 10 | MIT 11 | https://github.com/glitch100/Halo-API/ 12 | http://i.imgur.com/EP1ilsq.png 13 | A simple and easy to use C# Wrapper for the official Halo 5 and Halo Wars 2 API that can be seen at http://developer.haloapi.com/ that aims to bring in all the endpoints so developers can build and implement great apps that expose the awesome data within the Halo games 14 | C# Wrapper of the Official Halo 5 and HW2 API provided by 343i. Easy to use and extend. 15 | Fixed for logging bug. No more logging in REQuest Client 16 | Copyright 2020 17 | halo halo5 api halowaypoint xbox 15th xboxapi wars 2 infinity 18 | 19 | -------------------------------------------------------------------------------- /HaloEzAPI/Model/Request/Order.cs: -------------------------------------------------------------------------------- 1 | namespace HaloEzAPI.Model.Request 2 | { 3 | public enum Order 4 | { 5 | Asc, 6 | Desc, 7 | } 8 | } -------------------------------------------------------------------------------- /HaloEzAPI/Model/Request/Sort.cs: -------------------------------------------------------------------------------- 1 | namespace HaloEzAPI.Model.Request 2 | { 3 | public enum Sort 4 | { 5 | Name, 6 | Description, 7 | Accessibility, 8 | Created, 9 | Modified, 10 | BookmarkCount, 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/Error/CommonErrorMessages.cs: -------------------------------------------------------------------------------- 1 | namespace HaloEzAPI.Model.Response.Error 2 | { 3 | public static class CommonErrorMessages 4 | { 5 | public static string CantDeserialize { get { return "Unable to Deserialize Object"; } } 6 | public static string InvalidGamerTag { get { return "Invalid GamerTag provided"; } } 7 | public static string InvalidMatchId { get { return "Invalid MatchId provided"; } } 8 | public static string AccessDenied { get { return "Access Denied - Invalid or No API Token provided"; } } 9 | public static string TooManyRequests { get { return "Too many requests, please wait before sending more."; } } 10 | public static string BadRequest { get { return "Bad Request - please check the parameters you are passing, or the API Endpoint"; } } 11 | public static string NoZeroAllowed { get { return "Bad Request - you can't use a 0 for the count here"; } } 12 | } 13 | } -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/Error/HaloAPIError.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace HaloEzAPI.Model.Response.Error 4 | { 5 | public class HaloAPIException : Exception 6 | { 7 | public HaloAPIException(string message) : base(message) 8 | { 9 | 10 | } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/MetaData/Halo5/BaseLevel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using HaloEzAPI.Abstraction.Interfaces; 3 | 4 | namespace HaloEzAPI.Model.Response.MetaData.Halo5 5 | { 6 | public class BaseLevel : IGuidContentIds 7 | { 8 | public int Threshold { get; set; } 9 | public Guid Id { get; set; } 10 | public Guid ContentId { get; set; } 11 | } 12 | } -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/MetaData/Halo5/CSRDesignation.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | 4 | namespace HaloEzAPI.Model.Response.MetaData.Halo5 5 | { 6 | public class CSRDesignation 7 | { 8 | public string Name { get; set; } 9 | public string BannerImageUrl { get; set; } 10 | public IEnumerable Tiers { get; set; } 11 | public int Id { get; set; } 12 | public Guid ContentId { get; set; } 13 | } 14 | } -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/MetaData/Halo5/CSRTier.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace HaloEzAPI.Model.Response.MetaData.Halo5 4 | { 5 | public class CSRTier 6 | { 7 | public string IconImageUrl { get; set; } 8 | public int Id { get; set; } 9 | public Guid ContentId { get; set; } 10 | } 11 | } -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/MetaData/Halo5/CampaignMission.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using HaloEzAPI.Abstraction.Enum.Halo5; 3 | using HaloEzAPI.Abstraction.Interfaces; 4 | 5 | namespace HaloEzAPI.Model.Response.MetaData.Halo5 6 | { 7 | public class CampaignMission : IGuidContentIds, IDetail 8 | { 9 | public int MissionNumber { get; set; } 10 | public string Name { get; set; } 11 | public string Description { get; set; } 12 | public string ImageUrl { get; set; } 13 | public MissionType Type { get; set; } 14 | public Guid Id { get; set; } 15 | public Guid ContentId { get; set; } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/MetaData/Halo5/Category.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using HaloEzAPI.Abstraction.Interfaces; 3 | 4 | namespace HaloEzAPI.Model.Response.MetaData.Halo5 5 | { 6 | public class Category : IGuidContentIds 7 | { 8 | public string Name { get; set; } 9 | public string IconImageUrl { get; set; } 10 | public int Order { get; set; } 11 | public Guid Id { get; set; } 12 | public Guid ContentId { get; set; } 13 | } 14 | } -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/MetaData/Halo5/Commendation.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using HaloEzAPI.Abstraction.Enum.Halo5; 4 | using HaloEzAPI.Abstraction.Interfaces; 5 | 6 | namespace HaloEzAPI.Model.Response.MetaData.Halo5 7 | { 8 | public class Commendation : IGuidContentIds, IDetail 9 | { 10 | public CommendationType Type { get; set; } 11 | public string Name { get; set; } 12 | public string Description { get; set; } 13 | public string IconImageUrl { get; set; } 14 | public IEnumerable Levels { get; set; } 15 | public IEnumerable RequiredLevels { get; set; } 16 | public Reward Reward { get; set; } 17 | public Category Category { get; set; } 18 | public bool Enabled { get; set; } 19 | public Guid Id { get; set; } 20 | public Guid ContentId { get; set; } 21 | } 22 | } -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/MetaData/Halo5/Enemy.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using HaloEzAPI.Abstraction.Enum.Halo5; 3 | using HaloEzAPI.Abstraction.Interfaces; 4 | 5 | namespace HaloEzAPI.Model.Response.MetaData.Halo5 6 | { 7 | public class Enemy : IDetail 8 | { 9 | public Faction Faction { get; set; } 10 | public string Name { get; set; } 11 | public string Description { get; set; } 12 | public string LargeIconImageUrl { get; set; } 13 | public string SmallIconImageUrl { get; set; } 14 | public uint Id { get; set; } 15 | public Guid ContentId { get; set; } 16 | } 17 | } -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/MetaData/Halo5/FlexibleStat.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using HaloEzAPI.Abstraction.Enum.Halo5; 3 | using HaloEzAPI.Abstraction.Interfaces; 4 | 5 | namespace HaloEzAPI.Model.Response.MetaData.Halo5 6 | { 7 | public class FlexibleStat : IGuidContentIds 8 | { 9 | public string Name { get; set; } 10 | public FlexibleStatType Type { get; set; } 11 | public Guid Id { get; set; } 12 | public Guid ContentId { get; set; } 13 | } 14 | } -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/MetaData/Halo5/GameBaseVariant.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using HaloEzAPI.Abstraction.Enum.Halo5; 4 | using HaloEzAPI.Abstraction.Interfaces; 5 | 6 | namespace HaloEzAPI.Model.Response.MetaData.Halo5 7 | { 8 | public class GameBaseVariant : IGuidContentIds 9 | { 10 | public string Name { get; set; } 11 | public string InternalName { get; set; } 12 | public string IconUrl { get; set; } 13 | public IEnumerable SupportedGameModes { get; set; } 14 | public Guid Id { get; set; } 15 | public Guid ContentId { get; set; } 16 | } 17 | } -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/MetaData/Halo5/GameVariant.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using HaloEzAPI.Abstraction.Interfaces; 3 | 4 | namespace HaloEzAPI.Model.Response.MetaData.Halo5 5 | { 6 | public class GameVariant : IGuidContentIds 7 | { 8 | public string Name { get; set; } 9 | public string Description { get; set; } 10 | public Guid? GameBaseVariantId { get; set; } 11 | public string IconUrl { get; set; } 12 | public Guid Id { get; set; } 13 | public Guid ContentId { get; set; } 14 | } 15 | } -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/MetaData/Halo5/Impulse.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace HaloEzAPI.Model.Response.MetaData.Halo5 4 | { 5 | public class Impulse 6 | { 7 | public string InternalName { get; set; } 8 | public uint Id { get; set; } 9 | public Guid ContentId { get; set; } 10 | } 11 | } -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/MetaData/Halo5/Level.cs: -------------------------------------------------------------------------------- 1 | namespace HaloEzAPI.Model.Response.MetaData.Halo5 2 | { 3 | public class Level : BaseLevel 4 | { 5 | public Reward Reward { get; set; } 6 | } 7 | } -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/MetaData/Halo5/Map.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using HaloEzAPI.Abstraction.Enum.Halo5; 4 | using HaloEzAPI.Abstraction.Interfaces; 5 | 6 | namespace HaloEzAPI.Model.Response.MetaData.Halo5 7 | { 8 | public class Map : IGuidContentIds, IDetail 9 | { 10 | public string Name { get; set; } 11 | public string Description { get; set; } 12 | public IEnumerable SupportedGameModes { get; set; } 13 | public string ImageUrl { get; set; } 14 | public Guid Id { get; set; } 15 | public Guid ContentId { get; set; } 16 | } 17 | } -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/MetaData/Halo5/MapVariant.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using HaloEzAPI.Abstraction.Interfaces; 3 | 4 | namespace HaloEzAPI.Model.Response.MetaData.Halo5 5 | { 6 | public class MapVariant : IDetail, IGuidContentIds 7 | { 8 | public string Name { get; set; } 9 | public string Description { get; set; } 10 | public string MapImageUrl { get; set; } 11 | public Guid MapId { get; set; } 12 | public Guid Id { get; set; } 13 | public Guid ContentId { get; set; } 14 | } 15 | } -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/MetaData/Halo5/Medal.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using HaloEzAPI.Abstraction.Enum.Halo5; 3 | using HaloEzAPI.Abstraction.Interfaces; 4 | 5 | namespace HaloEzAPI.Model.Response.MetaData.Halo5 6 | { 7 | public class Medal : IDetail 8 | { 9 | public string Name { get; set; } 10 | public string Description { get; set; } 11 | public MedalType Classification { get; set; } 12 | public int Difficulty { get; set; } 13 | public SpriteLocation SpriteLocation { get; set; } 14 | public uint Id { get; set; } 15 | public Guid ContentId { get; set; } 16 | } 17 | } -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/MetaData/Halo5/Playlist.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using HaloEzAPI.Abstraction.Enum.Halo5; 3 | using HaloEzAPI.Abstraction.Interfaces; 4 | 5 | namespace HaloEzAPI.Model.Response.MetaData.Halo5 6 | { 7 | public class Playlist : IDetail, IGuidContentIds 8 | { 9 | public string Name { get; set; } 10 | public string Description { get; set; } 11 | public bool IsRanked { get; set; } 12 | public string ImageUrl { get; set; } 13 | public GameMode GameMode { get; set; } 14 | public bool IsActive { get; set; } 15 | public Guid Id { get; set; } 16 | public Guid ContentId { get; set; } 17 | } 18 | } -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/MetaData/Halo5/RankReward.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using HaloEzAPI.Abstraction.Interfaces; 4 | 5 | namespace HaloEzAPI.Model.Response.MetaData.Halo5 6 | { 7 | public class RankReward : IGuidContentIds 8 | { 9 | public int XP { get; set; } 10 | public IEnumerable RequisitionPacks { get; set; } 11 | public Guid Id { get; set; } 12 | public Guid ContentId { get; set; } 13 | } 14 | } -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/MetaData/Halo5/Requisition.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using HaloEzAPI.Abstraction.Enum.Halo5; 4 | using HaloEzAPI.Abstraction.Interfaces; 5 | 6 | namespace HaloEzAPI.Model.Response.MetaData.Halo5 7 | { 8 | public class Requisition : IGuidContentIds, IDetail 9 | { 10 | public IEnumerable GameModes { get; set; } 11 | public string Name { get; set; } 12 | public string Description { get; set; } 13 | public RarityType RarityType { get; set; } 14 | public string Rarity { get; set; } 15 | public bool IsMythic { get; set; } 16 | public bool IsCertification { get; set; } 17 | public bool IsWearable { get; set; } 18 | public ReqUseType UseType { get; set; } 19 | public string LargeImageUrl { get; set; } 20 | public string MediumImageUrl { get; set; } 21 | public string SmallImageUrl { get; set; } 22 | public string CategoryName { get; set; } 23 | public string InternalCategoryName { get; set; } 24 | public string SubcategoryName { get; set; } 25 | public int SubcategoryOrder { get; set; } 26 | public int CreditsAwarded { get; set; } 27 | public Guid Id { get; set; } 28 | public Guid ContentId { get; set; } 29 | } 30 | } -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/MetaData/Halo5/RequisitionPack.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using HaloEzAPI.Abstraction.Enum.Halo5; 3 | using HaloEzAPI.Abstraction.Interfaces; 4 | 5 | namespace HaloEzAPI.Model.Response.MetaData.Halo5 6 | { 7 | public class RequisitionPack : IGuidContentIds, IDetail 8 | { 9 | public string Name { get; set; } 10 | public string Description { get; set; } 11 | public string LargeImageUrl { get; set; } 12 | public string MediumImageUrl { get; set; } 13 | public string SmallImageUrl { get; set; } 14 | public bool IsFeatured { get; set; } 15 | public bool IsNew { get; set; } 16 | public int CreditPrice { get; set; } 17 | public bool IsPurchasableWithCredits { get; set; } 18 | public bool IsPurchasableFromMarketplace { get; set; } 19 | public Guid? XboxMarketplaceProductId { get; set; } 20 | public int MerchandisingOrder { get; set; } 21 | public Flair? Flair { get; set; } 22 | public Guid Id { get; set; } 23 | public Guid ContentId { get; set; } 24 | } 25 | } -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/MetaData/Halo5/Reward.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using HaloEzAPI.Abstraction.Interfaces; 4 | 5 | namespace HaloEzAPI.Model.Response.MetaData.Halo5 6 | { 7 | public class Reward : IGuidContentIds 8 | { 9 | public int XP { get; set; } 10 | public IEnumerable RequisitionPacks { get; set; } 11 | public Guid Id { get; set; } 12 | public Guid ContentId { get; set; } 13 | } 14 | } -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/MetaData/Halo5/Season.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using HaloEzAPI.Abstraction.Interfaces; 4 | 5 | namespace HaloEzAPI.Model.Response.MetaData.Halo5 6 | { 7 | public class Season : IGuidContentIds 8 | { 9 | public IEnumerable Playlists { get; set; } 10 | public string IconUrl { get; set; } 11 | public string Name { get; set; } 12 | public DateTime? StartDate { get; set; } 13 | public DateTime? EndDate { get; set; } 14 | public bool IsActive { get; set; } 15 | public Guid Id { get; set; } 16 | public Guid ContentId { get; set; } 17 | } 18 | } -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/MetaData/Halo5/Skull.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using HaloEzAPI.Abstraction.Interfaces; 3 | 4 | namespace HaloEzAPI.Model.Response.MetaData.Halo5 5 | { 6 | public class Skull: IDetail 7 | { 8 | public string Name { get; set; } 9 | public string Description { get; set; } 10 | public Guid MissionId { get; set; } 11 | public uint Id { get; set; } 12 | public Guid ContentId { get; set; } 13 | } 14 | } -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/MetaData/Halo5/SpartanRank.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace HaloEzAPI.Model.Response.MetaData.Halo5 4 | { 5 | public class SpartanRank 6 | { 7 | public int StartXP { get; set; } 8 | public RankReward Reward { get; set; } 9 | public uint Id { get; set; } 10 | public Guid ContentId { get; set; } 11 | } 12 | } -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/MetaData/Halo5/SpriteLocation.cs: -------------------------------------------------------------------------------- 1 | namespace HaloEzAPI.Model.Response.MetaData.Halo5 2 | { 3 | public class SpriteLocation 4 | { 5 | public string SpriteSheetUri { get; set; } 6 | public int Left { get; set; } 7 | public int Top { get; set; } 8 | public int Width { get; set; } 9 | public int Height { get; set; } 10 | public int SpriteWidth { get; set; } 11 | public int SpriteHeight { get; set; } 12 | } 13 | } -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/MetaData/Halo5/TeamColor.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using HaloEzAPI.Abstraction.Interfaces; 3 | 4 | namespace HaloEzAPI.Model.Response.MetaData.Halo5 5 | { 6 | public class TeamColor : IDetail 7 | { 8 | public string Name { get; set; } 9 | public string Description { get; set; } 10 | public string Color { get; set; } 11 | public string IconUrl { get; set; } 12 | public uint Id { get; set; } 13 | public Guid ContentId { get; set; } 14 | } 15 | } -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/MetaData/Halo5/Vehicle.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using HaloEzAPI.Abstraction.Interfaces; 3 | 4 | namespace HaloEzAPI.Model.Response.MetaData.Halo5 5 | { 6 | public class Vehicle : IDetail 7 | { 8 | public string Name { get; set; } 9 | public string Description { get; set; } 10 | public string LargeIconImageUrl { get; set; } 11 | public string SmallIconImageUrl { get; set; } 12 | public bool IsUsableByPlayer { get; set; } 13 | public uint Id { get; set; } 14 | public Guid ContentId { get; set; } 15 | } 16 | } -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/MetaData/Halo5/Weapon.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using HaloEzAPI.Abstraction.Enum.Halo5; 3 | using HaloEzAPI.Abstraction.Interfaces; 4 | 5 | namespace HaloEzAPI.Model.Response.MetaData.Halo5 6 | { 7 | public class Weapon : IDetail 8 | { 9 | public string Name { get; set; } 10 | public string Description { get; set; } 11 | public WeaponType Type { get; set; } 12 | public string LargeIconImageUrl { get; set; } 13 | public string SmallIconImageUrl { get; set; } 14 | public bool IsUsableByPlayer { get; set; } 15 | public uint Id { get; set; } 16 | public Guid ContentId { get; set; } 17 | } 18 | } -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/MetaData/HaloWars2/Campaign/CampaignContentItem.cs: -------------------------------------------------------------------------------- 1 | using HaloEzAPI.Model.Response.MetaData.HaloWars2.Views; 2 | 3 | namespace HaloEzAPI.Model.Response.MetaData.HaloWars2.Campaign 4 | { 5 | public class CampaignContentItem : HW2ApiItem 6 | { 7 | 8 | } 9 | } -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/MetaData/HaloWars2/Campaign/CampaignLogContentItem.cs: -------------------------------------------------------------------------------- 1 | using HaloEzAPI.Model.Response.MetaData.HaloWars2.Views; 2 | 3 | namespace HaloEzAPI.Model.Response.MetaData.HaloWars2.Campaign 4 | { 5 | public class CampaignLogContentItem : HW2ApiItem 6 | { 7 | 8 | } 9 | } -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/MetaData/HaloWars2/Campaign/CommonContentInformation.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace HaloEzAPI.Model.Response.MetaData.HaloWars2.Campaign 4 | { 5 | public class CommonContentInformation 6 | { 7 | public string Owner { get; set; } 8 | public DateTime CreatedUtc { get; set; } 9 | public DateTime ModifiedUtc { get; set; } 10 | public DateTime PublishedUtc { get; set; } 11 | public int Container { get; set; } 12 | } 13 | } -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/MetaData/HaloWars2/Campaign/HW2CampaignLevel.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using HaloEzAPI.Model.Response.MetaData.HaloWars2.Cards; 3 | using HaloEzAPI.Model.Response.MetaData.HaloWars2.Shared; 4 | using HaloEzAPI.Model.Response.MetaData.HaloWars2.Views; 5 | 6 | namespace HaloEzAPI.Model.Response.MetaData.HaloWars2.Campaign 7 | { 8 | public class HW2CampaignLevel 9 | { 10 | public int Id { get; set; } 11 | public int MaxScore { get; set; } 12 | public IEnumerable CriticalObjectives { get; set; } 13 | public IEnumerable BonusObjectives { get; set; } 14 | public IEnumerable OptionalObjectives { get; set; } 15 | public IEnumerable Skulls { get; set; } 16 | public IEnumerable AwardedPacks { get; set; } 17 | public DisplayInfoItem DisplayInfo { get; set; } 18 | } 19 | } -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/MetaData/HaloWars2/Campaign/ObjectiveItem.cs: -------------------------------------------------------------------------------- 1 | using HaloEzAPI.Model.Response.MetaData.HaloWars2.Views; 2 | 3 | namespace HaloEzAPI.Model.Response.MetaData.HaloWars2.Campaign 4 | { 5 | public class ObjectiveItem : HW2ApiItem 6 | { 7 | } 8 | } -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/MetaData/HaloWars2/Campaign/SkullItem.cs: -------------------------------------------------------------------------------- 1 | using HaloEzAPI.Model.Response.MetaData.HaloWars2.Views; 2 | 3 | namespace HaloEzAPI.Model.Response.MetaData.HaloWars2.Campaign 4 | { 5 | public class SkullItem : HW2ApiItem 6 | { 7 | } 8 | } -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/MetaData/HaloWars2/Cards/AwardedPackItem.cs: -------------------------------------------------------------------------------- 1 | using HaloEzAPI.Model.Response.MetaData.HaloWars2.Views; 2 | 3 | namespace HaloEzAPI.Model.Response.MetaData.HaloWars2.Cards 4 | { 5 | public class AwardedPackItem : HW2ApiItem 6 | { 7 | } 8 | } -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/MetaData/HaloWars2/Cards/HW2CSRDesignation.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using HaloEzAPI.Model.Response.MetaData.HaloWars2.Imaging; 3 | using HaloEzAPI.Model.Response.MetaData.HaloWars2.Shared; 4 | 5 | namespace HaloEzAPI.Model.Response.MetaData.HaloWars2.Cards 6 | { 7 | public class HW2CSRDesignation 8 | { 9 | public HW2CSRDisplayInfoItem DisplayInfo { get; set; } 10 | public int ID { get; set; } 11 | public Image Image { get; set; } 12 | public IEnumerable> Tiers { get; set; } 13 | } 14 | } -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/MetaData/HaloWars2/Cards/HW2CSRDesignationDisplayInfo.cs: -------------------------------------------------------------------------------- 1 | namespace HaloEzAPI.Model.Response.MetaData.HaloWars2.Cards 2 | { 3 | public class HW2CSRDesignationDisplayInfo 4 | { 5 | public string Name { get; set; } 6 | } 7 | } -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/MetaData/HaloWars2/Cards/HW2Card.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using HaloEzAPI.Abstraction.Enum.HaloWars2; 3 | using HaloEzAPI.Model.Response.MetaData.HaloWars2.Imaging; 4 | using HaloEzAPI.Model.Response.MetaData.HaloWars2.Shared; 5 | 6 | namespace HaloEzAPI.Model.Response.MetaData.HaloWars2.Cards 7 | { 8 | public class HW2Card 9 | { 10 | public Rarity Rarity { get; set; } 11 | public IdentityMetaData Entitlement { get; set; } 12 | public bool EntitlementRequired { get; set; } 13 | public bool ExcludeFromCardGeneration { get; set; } 14 | public IdentityMetaData Leader { get; set; } 15 | public ImageItem ForegroundImage { get; set; } 16 | public HW2CardDisplayInfoItem DisplayInfo { get; set; } 17 | public IdentityMetaData GameObject { get; set; } 18 | public int? LastStandNumber { get; set; } 19 | public int EnergyCost { get; set; } 20 | public PlayType PlayType { get; set; } 21 | public IEnumerable Keywords { get;set; } 22 | } 23 | } -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/MetaData/HaloWars2/Cards/HW2CardDisplayInfo.cs: -------------------------------------------------------------------------------- 1 | using HaloEzAPI.Model.Response.MetaData.HaloWars2.Shared; 2 | 3 | namespace HaloEzAPI.Model.Response.MetaData.HaloWars2.Cards 4 | { 5 | public class HW2CardDisplayInfo : Details 6 | { 7 | public string SubtypeDescription { get; set; } 8 | public string SpecialAbilityName { get; set; } 9 | public string SpecialAbilityDescription { get; set; } 10 | } 11 | } -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/MetaData/HaloWars2/Cards/HW2CardKeyword.cs: -------------------------------------------------------------------------------- 1 | using HaloEzAPI.Model.Response.MetaData.HaloWars2.Shared; 2 | using HaloEzAPI.Model.Response.MetaData.HaloWars2.Views; 3 | 4 | namespace HaloEzAPI.Model.Response.MetaData.HaloWars2.Cards 5 | { 6 | public class HW2CardKeyword 7 | { 8 | public string Keyword { get; set; } 9 | public DisplayInfoItem DisplayInfo { get; set; } 10 | } 11 | } -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/MetaData/HaloWars2/Cards/HW2Difficulty.cs: -------------------------------------------------------------------------------- 1 | using HaloEzAPI.Model.Response.MetaData.HaloWars2.Shared; 2 | 3 | namespace HaloEzAPI.Model.Response.MetaData.HaloWars2.Cards 4 | { 5 | public class HW2Difficulty 6 | { 7 | public HW2DifficultyDisplayInfoItem DisplayInfo { get; set; } 8 | } 9 | } -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/MetaData/HaloWars2/Cards/HW2DifficultyDisplayInfo.cs: -------------------------------------------------------------------------------- 1 | using HaloEzAPI.Model.Response.MetaData.HaloWars2.Shared; 2 | 3 | namespace HaloEzAPI.Model.Response.MetaData.HaloWars2.Cards 4 | { 5 | public class HW2DifficultyDisplayInfo: Details 6 | { 7 | } 8 | } -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/MetaData/HaloWars2/Cards/HW2Leader.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using HaloEzAPI.Abstraction.Enum.Halo5; 3 | using HaloEzAPI.Abstraction.Enum.HaloWars2; 4 | using HaloEzAPI.Model.Response.MetaData.HaloWars2.Shared; 5 | using HaloEzAPI.Model.Response.MetaData.HaloWars2.Views; 6 | 7 | namespace HaloEzAPI.Model.Response.MetaData.HaloWars2.Cards 8 | { 9 | public class HW2Leader 10 | { 11 | public Faction Faction { get; set; } 12 | public List StartingArmyOptions { get; set; } 13 | public LeaderId ID { get; set; } 14 | public HW2LeaderDisplayInfoView DisplayInfo { get; set; } 15 | public ImageView Image { get; set; } 16 | public IdentityMetaData HW2PromotionOffer { get; set; } 17 | } 18 | } -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/MetaData/HaloWars2/Cards/HW2LeaderDisplayInfo.cs: -------------------------------------------------------------------------------- 1 | using HaloEzAPI.Model.Response.MetaData.HaloWars2.Shared; 2 | 3 | namespace HaloEzAPI.Model.Response.MetaData.HaloWars2.Cards 4 | { 5 | public class HW2LeaderDisplayInfo : Details 6 | { 7 | } 8 | } -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/MetaData/HaloWars2/Cards/HW2LeaderPower.cs: -------------------------------------------------------------------------------- 1 | using HaloEzAPI.Model.Response.MetaData.HaloWars2.Views; 2 | 3 | namespace HaloEzAPI.Model.Response.MetaData.HaloWars2.Cards 4 | { 5 | public class HW2LeaderPower 6 | { 7 | public string ObjectTypeId { get; set; } 8 | public HW2ApiItem DisplayInfo { get; set; } 9 | public ImageView Image { get; set; } 10 | } 11 | } -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/MetaData/HaloWars2/Cards/HW2LeaderPowerDisplayInfo.cs: -------------------------------------------------------------------------------- 1 | namespace HaloEzAPI.Model.Response.MetaData.HaloWars2.Cards 2 | { 3 | public class HW2LeaderPowerDisplayInfo 4 | { 5 | public string Name { get; set; } 6 | public string Description { get; set; } 7 | } 8 | } -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/MetaData/HaloWars2/Cards/HW2LeaderPowerInnerViewDisplayInfo.cs: -------------------------------------------------------------------------------- 1 | using HaloEzAPI.Model.Response.MetaData.HaloWars2.Views; 2 | 3 | namespace HaloEzAPI.Model.Response.MetaData.HaloWars2.Cards 4 | { 5 | public class HW2LeaderPowerInnerViewDisplayInfo : BaseView 6 | { 7 | public HW2LeaderPowerDisplayInfo HW2LeaderPowerDisplayInfo { get; set; } 8 | } 9 | } -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/MetaData/HaloWars2/Cards/HW2Object.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using HaloEzAPI.Abstraction.Enum.HaloWars2; 3 | using HaloEzAPI.Model.Response.MetaData.HaloWars2.Shared; 4 | using HaloEzAPI.Model.Response.MetaData.HaloWars2.Views; 5 | 6 | namespace HaloEzAPI.Model.Response.MetaData.HaloWars2.Cards 7 | { 8 | public class HW2Object 9 | { 10 | public string ObjectTypeId { get; set; } 11 | public HW2ObjectDisplayInfo DisplayInfo { get; set; } 12 | public List Categories { get; set; } 13 | public ImageView Image { get; set; } 14 | // Supply cost required to build this Game Object 15 | public int StandardSupplyCost { get; set; } 16 | // Population cost required to build this Game Object. 17 | public int StandardPopulationCost { get; set; } 18 | // Energy cost required to build this Game Object. 19 | public int StandardEnergyCost { get; set; } 20 | public EffectivenessAgainstGameObject EffectivenessAgainstInfantry { get; set; } 21 | public EffectivenessAgainstGameObject EffectivenessAgainstVehicles { get; set; } 22 | public EffectivenessAgainstGameObject EffectivenessAgainstAir { get; set; } 23 | } 24 | } -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/MetaData/HaloWars2/Cards/HW2ObjectDisplayInfo.cs: -------------------------------------------------------------------------------- 1 | namespace HaloEzAPI.Model.Response.MetaData.HaloWars2.Cards 2 | { 3 | public class HW2ObjectDisplayInfo 4 | { 5 | public string Name { get; set; } 6 | public string Description { get; set; } 7 | } 8 | } -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/MetaData/HaloWars2/Cards/HW2Pack.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using HaloEzAPI.Model.Response.MetaData.HaloWars2.Imaging; 3 | using HaloEzAPI.Model.Response.MetaData.HaloWars2.Shared; 4 | 5 | namespace HaloEzAPI.Model.Response.MetaData.HaloWars2.Cards 6 | { 7 | public class HW2Pack 8 | { 9 | public IEnumerable HW2PackRules { get; set; } 10 | public ImageItem FrontImageHD { get; set; } 11 | public ImageItem BackImageHD { get; set; } 12 | public ImageItem HighlightImageHD { get; set; } 13 | 14 | public ImageItem FrontImage4K { get; set; } 15 | public ImageItem BackImage4K { get; set; } 16 | public ImageItem HighlightImage4K { get; set; } 17 | 18 | public string StackGroup { get; set; } 19 | public int InventorySortPriotity { get; set; } 20 | } 21 | } -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/MetaData/HaloWars2/Cards/HW2Playlist.cs: -------------------------------------------------------------------------------- 1 | using HaloEzAPI.Model.Response.MetaData.HaloWars2.Views; 2 | 3 | namespace HaloEzAPI.Model.Response.MetaData.HaloWars2.Cards 4 | { 5 | public class HW2Playlist 6 | { 7 | public ComputerDifficulty ComputerDifficulty { get; set; } 8 | public ImageView ThumbnailImage { get; set; } 9 | public int MaxPartySize { get; set; } 10 | public int MinPartySize { get; set; } 11 | public bool UsesBanRules { get; set; } 12 | public int MatchTicketTimeoutDurationSeconds { get; set; } 13 | public string MpsdHopperName { get; set; } 14 | } 15 | } -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/MetaData/HaloWars2/Cards/HW2StartingArmyDisplayInfo.cs: -------------------------------------------------------------------------------- 1 | using HaloEzAPI.Model.Response.MetaData.HaloWars2.Shared; 2 | 3 | namespace HaloEzAPI.Model.Response.MetaData.HaloWars2.Cards 4 | { 5 | public class HW2StartingArmyDisplayInfo : Details 6 | { 7 | } 8 | } -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/MetaData/HaloWars2/Cards/HW2StartingArmyOptionsView.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using HaloEzAPI.Model.Response.MetaData.HaloWars2.Shared; 3 | using HaloEzAPI.Model.Response.MetaData.HaloWars2.Views; 4 | 5 | namespace HaloEzAPI.Model.Response.MetaData.HaloWars2.Cards 6 | { 7 | public class HW2StartingArmyOptionsView : HW2ApiItem 8 | { 9 | public List Cards { get; set; } 10 | public HW2StartingArmyDisplayInfoView HW2StartingArmy { get; set; } 11 | } 12 | } -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/MetaData/HaloWars2/HW2ApiItem.cs: -------------------------------------------------------------------------------- 1 | using HaloEzAPI.Abstraction.Enum.HaloWars2; 2 | using HaloEzAPI.Model.Response.MetaData.HaloWars2.Views; 3 | 4 | namespace HaloEzAPI.Model.Response.MetaData.HaloWars2 5 | { 6 | public class HW2ApiItem where T : BaseView 7 | { 8 | public int Id { get; set; } 9 | public ContentTypeEnum Type { get; set; } 10 | public T View { get; set; } 11 | } 12 | } -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/MetaData/HaloWars2/Imaging/Image.cs: -------------------------------------------------------------------------------- 1 | namespace HaloEzAPI.Model.Response.MetaData.HaloWars2.Imaging 2 | { 3 | public class Image 4 | { 5 | public int Width { get; set; } 6 | public int Height { get; set; } 7 | } 8 | } -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/MetaData/HaloWars2/Imaging/ImageItem.cs: -------------------------------------------------------------------------------- 1 | using HaloEzAPI.Model.Response.MetaData.HaloWars2.Views; 2 | 3 | namespace HaloEzAPI.Model.Response.MetaData.HaloWars2.Imaging 4 | { 5 | public class ImageItem : HW2ApiItem 6 | { 7 | } 8 | } -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/MetaData/HaloWars2/Imaging/Media.cs: -------------------------------------------------------------------------------- 1 | namespace HaloEzAPI.Model.Response.MetaData.HaloWars2.Imaging 2 | { 3 | public class Media 4 | { 5 | public string MediaUrl { get; set; } 6 | public string MimeType { get; set; } 7 | public string Caption { get; set; } 8 | public string AlternateText {get; set; } 9 | public string FolderPath {get; set; } 10 | public string FileName { get; set; } 11 | } 12 | } -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/MetaData/HaloWars2/Shared/Details.cs: -------------------------------------------------------------------------------- 1 | namespace HaloEzAPI.Model.Response.MetaData.HaloWars2.Shared 2 | { 3 | public class Details 4 | { 5 | public string Name { get; set; } 6 | public string Description { get; set; } 7 | } 8 | } -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/MetaData/HaloWars2/Shared/DisplayInfoItem.cs: -------------------------------------------------------------------------------- 1 | using HaloEzAPI.Model.Response.MetaData.HaloWars2.Views; 2 | 3 | namespace HaloEzAPI.Model.Response.MetaData.HaloWars2.Shared 4 | { 5 | 6 | public class DisplayInfoItem : HW2ApiItem 7 | { 8 | public string MarketplaceProductId { get; set; } 9 | public string UWProductId { get; set; } 10 | } 11 | } -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/MetaData/HaloWars2/Shared/HW2CSRDesignationTierView.cs: -------------------------------------------------------------------------------- 1 | using HaloEzAPI.Model.Response.MetaData.HaloWars2.Cards; 2 | using HaloEzAPI.Model.Response.MetaData.HaloWars2.Views; 3 | 4 | namespace HaloEzAPI.Model.Response.MetaData.HaloWars2.Shared 5 | { 6 | public class HW2CSRDesignationTierView : DisplayInfoView 7 | { 8 | public HW2CsrDesignationTier HW2CsrDesignationTier { get; set; } 9 | } 10 | } -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/MetaData/HaloWars2/Shared/HW2CSRDisplayInfoItem.cs: -------------------------------------------------------------------------------- 1 | using HaloEzAPI.Model.Response.MetaData.HaloWars2.Imaging; 2 | using HaloEzAPI.Model.Response.MetaData.HaloWars2.Views; 3 | 4 | namespace HaloEzAPI.Model.Response.MetaData.HaloWars2.Shared 5 | { 6 | public class HW2CSRDisplayInfoItem : HW2ApiItem 7 | { 8 | 9 | } 10 | } -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/MetaData/HaloWars2/Shared/HW2CardDisplayInfoItem.cs: -------------------------------------------------------------------------------- 1 | using HaloEzAPI.Model.Response.MetaData.HaloWars2.Views; 2 | 3 | namespace HaloEzAPI.Model.Response.MetaData.HaloWars2.Shared 4 | { 5 | public class HW2CardDisplayInfoItem : HW2ApiItem 6 | { 7 | } 8 | } -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/MetaData/HaloWars2/Shared/HW2CsrDesignationTier.cs: -------------------------------------------------------------------------------- 1 | using HaloEzAPI.Model.Response.MetaData.HaloWars2.Views; 2 | 3 | namespace HaloEzAPI.Model.Response.MetaData.HaloWars2.Shared 4 | { 5 | public class HW2CsrDesignationTier 6 | { 7 | public int ID { get; set; } 8 | public HW2ApiItem Image { get; set; } 9 | } 10 | } -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/MetaData/HaloWars2/Shared/HW2DifficultyDisplayInfoItem.cs: -------------------------------------------------------------------------------- 1 | using HaloEzAPI.Model.Response.MetaData.HaloWars2.Views; 2 | 3 | namespace HaloEzAPI.Model.Response.MetaData.HaloWars2.Shared 4 | { 5 | public class HW2DifficultyDisplayInfoItem : HW2ApiItem 6 | { 7 | 8 | } 9 | } -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/MetaData/HaloWars2/Shared/HW2ObjectDisplayInfo.cs: -------------------------------------------------------------------------------- 1 | using HaloEzAPI.Model.Response.MetaData.HaloWars2.Views; 2 | 3 | namespace HaloEzAPI.Model.Response.MetaData.HaloWars2.Shared 4 | { 5 | public class HW2ObjectDisplayInfo : HW2ApiItem 6 | { 7 | 8 | } 9 | } -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/MetaData/HaloWars2/Shared/HW2Result.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using HaloEzAPI.Model.Response.MetaData.HaloWars2.Views; 3 | 4 | namespace HaloEzAPI.Model.Response.MetaData.HaloWars2.Shared 5 | { 6 | public class HW2Result where T : class 7 | { 8 | public Paging Paging { get; set; } 9 | public IEnumerable ContentItems { get; set; } 10 | } 11 | } -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/MetaData/HaloWars2/Shared/IdentityMetaData.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using HaloEzAPI.Abstraction.Enum.HaloWars2; 3 | 4 | namespace HaloEzAPI.Model.Response.MetaData.HaloWars2.Shared 5 | { 6 | public class IdentityMetaData 7 | { 8 | public int Id { get; set; } 9 | public ContentTypeEnum Type { get; set; } 10 | public Guid Identity { get; set; } 11 | public string AutoRoute { get; set; } 12 | } 13 | } -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/MetaData/HaloWars2/Shared/Localization.cs: -------------------------------------------------------------------------------- 1 | namespace HaloEzAPI.Model.Response.MetaData.HaloWars2.Shared 2 | { 3 | public class Localization 4 | { 5 | public string Culture { get; set; } 6 | public string MasterContentItemId { get; set; } 7 | } 8 | } -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/MetaData/HaloWars2/Shared/LockedObject.cs: -------------------------------------------------------------------------------- 1 | namespace HaloEzAPI.Model.Response.MetaData.HaloWars2.Shared 2 | { 3 | public class LockedObject 4 | { 5 | public bool IsLocked { get; set; } 6 | } 7 | } -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/MetaData/HaloWars2/Shared/Paging.cs: -------------------------------------------------------------------------------- 1 | namespace HaloEzAPI.Model.Response.MetaData.HaloWars2.Shared 2 | { 3 | public class Paging 4 | { 5 | public int StartAt { get; set; } 6 | public int InlineCount { get; set; } 7 | public int TotalCount { get; set; } 8 | } 9 | } -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/MetaData/HaloWars2/Shared/ViewInnerId.cs: -------------------------------------------------------------------------------- 1 | namespace HaloEzAPI.Model.Response.MetaData.HaloWars2.Shared 2 | { 3 | public class ViewInnerId 4 | { 5 | public int Id { get; set; } 6 | } 7 | } -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/MetaData/HaloWars2/Views/AwardedPackView.cs: -------------------------------------------------------------------------------- 1 | using HaloEzAPI.Model.Response.MetaData.HaloWars2.Cards; 2 | 3 | namespace HaloEzAPI.Model.Response.MetaData.HaloWars2.Views 4 | { 5 | public class AwardedPackView : BaseView 6 | { 7 | public HW2Pack HW2Pack { get; set; } 8 | } 9 | } -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/MetaData/HaloWars2/Views/BaseView.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using HaloEzAPI.Model.Response.MetaData.HaloWars2.Campaign; 3 | 4 | namespace HaloEzAPI.Model.Response.MetaData.HaloWars2.Views 5 | { 6 | public class BaseView 7 | { 8 | public string Status { get; set; } 9 | public CommonContentInformation Common { get; set; } 10 | public Guid Identity { get; set; } 11 | public string Title { get; set; } 12 | } 13 | } -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/MetaData/HaloWars2/Views/CampaignLevelView.cs: -------------------------------------------------------------------------------- 1 | using HaloEzAPI.Model.Response.MetaData.HaloWars2.Campaign; 2 | 3 | namespace HaloEzAPI.Model.Response.MetaData.HaloWars2.Views 4 | { 5 | public class CampaignLevelView : BaseView 6 | { 7 | public HW2CampaignLevel Hw2CampaignLevel { get; set; } 8 | } 9 | } -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/MetaData/HaloWars2/Views/CampaignLogView.cs: -------------------------------------------------------------------------------- 1 | using HaloEzAPI.Model.Response.MetaData.HaloWars2.Shared; 2 | 3 | namespace HaloEzAPI.Model.Response.MetaData.HaloWars2.Views 4 | { 5 | public class CampaignLogView : BaseView 6 | { 7 | public ViewInnerId HW2Log { get; set; } 8 | } 9 | } -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/MetaData/HaloWars2/Views/CampaignObjectiveView.cs: -------------------------------------------------------------------------------- 1 | using HaloEzAPI.Model.Response.MetaData.HaloWars2.Shared; 2 | 3 | namespace HaloEzAPI.Model.Response.MetaData.HaloWars2.Views 4 | { 5 | public class CampaignObjectiveView : BaseView 6 | { 7 | public ViewInnerId HW2CampaignObjective { get; set; } 8 | } 9 | } -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/MetaData/HaloWars2/Views/CardDisplayInfoView.cs: -------------------------------------------------------------------------------- 1 | using HaloEzAPI.Model.Response.MetaData.HaloWars2.Cards; 2 | 3 | namespace HaloEzAPI.Model.Response.MetaData.HaloWars2.Views 4 | { 5 | public class CardDisplayInfoView : DisplayInfoView 6 | { 7 | public HW2CardDisplayInfo HW2CardDisplayInfo { get; set; } 8 | } 9 | } -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/MetaData/HaloWars2/Views/CardKeywordView.cs: -------------------------------------------------------------------------------- 1 | using HaloEzAPI.Model.Response.MetaData.HaloWars2.Cards; 2 | 3 | namespace HaloEzAPI.Model.Response.MetaData.HaloWars2.Views 4 | { 5 | public class CardKeywordView : BaseView 6 | { 7 | public HW2CardKeyword HW2CardKeyword { get; set; } 8 | } 9 | } -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/MetaData/HaloWars2/Views/ComputerDifficulty.cs: -------------------------------------------------------------------------------- 1 | namespace HaloEzAPI.Model.Response.MetaData.HaloWars2.Views 2 | { 3 | public class ComputerDifficulty : HW2ApiItem 4 | { 5 | 6 | } 7 | } -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/MetaData/HaloWars2/Views/DisplayInfoView.cs: -------------------------------------------------------------------------------- 1 | using HaloEzAPI.Model.Response.MetaData.HaloWars2.Shared; 2 | 3 | namespace HaloEzAPI.Model.Response.MetaData.HaloWars2.Views 4 | { 5 | public class DisplayInfoView : BaseView 6 | { 7 | public LockedObject BatchLocalization { get; set; } 8 | public Localization Localization { get; set; } 9 | } 10 | } -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/MetaData/HaloWars2/Views/HW2CSRDesignationDisplayInfoView.cs: -------------------------------------------------------------------------------- 1 | using HaloEzAPI.Model.Response.MetaData.HaloWars2.Cards; 2 | 3 | namespace HaloEzAPI.Model.Response.MetaData.HaloWars2.Views 4 | { 5 | public class HW2CSRDesignationDisplayInfoView : DisplayInfoView 6 | { 7 | public HW2CSRDesignationDisplayInfo HW2CsrDesignationDisplayInfo { get; set; } 8 | } 9 | } -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/MetaData/HaloWars2/Views/HW2CSRDesignationView.cs: -------------------------------------------------------------------------------- 1 | using HaloEzAPI.Model.Response.MetaData.HaloWars2.Cards; 2 | 3 | namespace HaloEzAPI.Model.Response.MetaData.HaloWars2.Views 4 | { 5 | public class HW2CSRDesignationView : BaseView 6 | { 7 | public HW2CSRDesignation HW2CsrDesignation { get; set; } 8 | } 9 | } -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/MetaData/HaloWars2/Views/HW2CardDisplayInfoView.cs: -------------------------------------------------------------------------------- 1 | using HaloEzAPI.Model.Response.MetaData.HaloWars2.Cards; 2 | 3 | namespace HaloEzAPI.Model.Response.MetaData.HaloWars2.Views 4 | { 5 | public class HW2CardDisplayInfoView : DisplayInfoView 6 | { 7 | public HW2CardDisplayInfo HW2CardDisplayInfo { get; set; } 8 | } 9 | } -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/MetaData/HaloWars2/Views/HW2CardView.cs: -------------------------------------------------------------------------------- 1 | using HaloEzAPI.Model.Response.MetaData.HaloWars2.Cards; 2 | using HaloEzAPI.Model.Response.MetaData.HaloWars2.Shared; 3 | 4 | namespace HaloEzAPI.Model.Response.MetaData.HaloWars2.Views 5 | { 6 | public class HW2CardView : BaseView 7 | { 8 | public HW2Card HW2Card { get; set; } 9 | } 10 | } -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/MetaData/HaloWars2/Views/HW2ComputerDifficultyDisplayInfoView.cs: -------------------------------------------------------------------------------- 1 | using HaloEzAPI.Model.Response.MetaData.HaloWars2.Cards; 2 | 3 | namespace HaloEzAPI.Model.Response.MetaData.HaloWars2.Views 4 | { 5 | public class HW2ComputerDifficultyDisplayInfoView : DisplayInfoView 6 | { 7 | public HW2DifficultyDisplayInfo HW2DifficultyDisplayInfo { get; set; } 8 | } 9 | } -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/MetaData/HaloWars2/Views/HW2DifficultyDisplayInfoView.cs: -------------------------------------------------------------------------------- 1 | using HaloEzAPI.Model.Response.MetaData.HaloWars2.Cards; 2 | 3 | namespace HaloEzAPI.Model.Response.MetaData.HaloWars2.Views 4 | { 5 | public class HW2DifficultyDisplayInfoView : DisplayInfoView 6 | { 7 | public HW2DifficultyDisplayInfo HW2DifficultyDisplayInfo { get; set; } 8 | } 9 | } -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/MetaData/HaloWars2/Views/HW2DifficultyView.cs: -------------------------------------------------------------------------------- 1 | using HaloEzAPI.Model.Response.MetaData.HaloWars2.Cards; 2 | 3 | namespace HaloEzAPI.Model.Response.MetaData.HaloWars2.Views 4 | { 5 | public class HW2DifficultyView : BaseView 6 | { 7 | public HW2Difficulty HW2Difficulty { get; set; } 8 | } 9 | } -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/MetaData/HaloWars2/Views/HW2LeaderDisplayInfoView.cs: -------------------------------------------------------------------------------- 1 | using HaloEzAPI.Model.Response.MetaData.HaloWars2.Cards; 2 | 3 | namespace HaloEzAPI.Model.Response.MetaData.HaloWars2.Views 4 | { 5 | public class HW2LeaderDisplayInfoView : DisplayInfoView 6 | { 7 | public HW2LeaderDisplayInfo HW2LeaderDisplayInfo { get; set; } 8 | } 9 | } -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/MetaData/HaloWars2/Views/HW2LeaderPowerView.cs: -------------------------------------------------------------------------------- 1 | using HaloEzAPI.Model.Response.MetaData.HaloWars2.Cards; 2 | 3 | namespace HaloEzAPI.Model.Response.MetaData.HaloWars2.Views 4 | { 5 | public class HW2LeaderPowerView : BaseView 6 | { 7 | public HW2LeaderPower HW2LeaderPower { get; set; } 8 | } 9 | } -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/MetaData/HaloWars2/Views/HW2LeaderView.cs: -------------------------------------------------------------------------------- 1 | using HaloEzAPI.Model.Response.MetaData.HaloWars2.Cards; 2 | 3 | namespace HaloEzAPI.Model.Response.MetaData.HaloWars2.Views 4 | { 5 | public class HW2LeaderView : BaseView 6 | { 7 | public HW2Leader HW2Leader { get; set; } 8 | } 9 | } -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/MetaData/HaloWars2/Views/HW2ObjectDisplayInfoView.cs: -------------------------------------------------------------------------------- 1 | using HaloEzAPI.Model.Response.MetaData.HaloWars2.Cards; 2 | 3 | namespace HaloEzAPI.Model.Response.MetaData.HaloWars2.Views 4 | { 5 | public class HW2ObjectDisplayInfoView : DisplayInfoView 6 | { 7 | public HW2ObjectDisplayInfo HW2ObjectDisplayInfo { get; set; } 8 | } 9 | } -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/MetaData/HaloWars2/Views/HW2ObjectView.cs: -------------------------------------------------------------------------------- 1 | using HaloEzAPI.Model.Response.MetaData.HaloWars2.Cards; 2 | 3 | namespace HaloEzAPI.Model.Response.MetaData.HaloWars2.Views 4 | { 5 | public class HW2ObjectView : BaseView 6 | { 7 | public HW2Object HW2Object { get; set; } 8 | } 9 | } -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/MetaData/HaloWars2/Views/HW2PlaylistView.cs: -------------------------------------------------------------------------------- 1 | using HaloEzAPI.Model.Response.MetaData.HaloWars2.Cards; 2 | 3 | namespace HaloEzAPI.Model.Response.MetaData.HaloWars2.Views 4 | { 5 | public class HW2PlaylistView : BaseView 6 | { 7 | public HW2Playlist HW2Playlist { get; set; } 8 | } 9 | } -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/MetaData/HaloWars2/Views/HW2StartingArmyDisplayInfoView.cs: -------------------------------------------------------------------------------- 1 | using HaloEzAPI.Model.Response.MetaData.HaloWars2.Cards; 2 | 3 | namespace HaloEzAPI.Model.Response.MetaData.HaloWars2.Views 4 | { 5 | public class HW2StartingArmyDisplayInfoView : DisplayInfoView 6 | { 7 | public HW2StartingArmyDisplayInfo HW2StartingArmyDisplayInfo { get; set; } 8 | } 9 | } -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/MetaData/HaloWars2/Views/ImageView.cs: -------------------------------------------------------------------------------- 1 | using HaloEzAPI.Model.Response.MetaData.HaloWars2.Imaging; 2 | 3 | namespace HaloEzAPI.Model.Response.MetaData.HaloWars2.Views 4 | { 5 | public class ImageView : BaseView 6 | { 7 | public Media Media { get; set; } 8 | public Image Image { get; set; } 9 | } 10 | } -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/MetaData/HaloWars2/Views/PackDisplayInfoView.cs: -------------------------------------------------------------------------------- 1 | using HaloEzAPI.Model.Response.MetaData.HaloWars2.Shared; 2 | 3 | namespace HaloEzAPI.Model.Response.MetaData.HaloWars2.Views 4 | { 5 | public class PackDisplayInfoView : DisplayInfoView 6 | { 7 | public Details HW2PackDisplayInfo { get; set; } 8 | } 9 | } -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/MetaData/HaloWars2/Views/SkullView.cs: -------------------------------------------------------------------------------- 1 | using HaloEzAPI.Model.Response.MetaData.HaloWars2.Shared; 2 | 3 | namespace HaloEzAPI.Model.Response.MetaData.HaloWars2.Views 4 | { 5 | public class SkullView : BaseView 6 | { 7 | public ViewInnerId HW2Skull { get; set; } 8 | } 9 | } -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/Stats/Halo5/Arena/ArenaPlayerStat.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace HaloEzAPI.Model.Response.Stats.Halo5.Arena 4 | { 5 | public class ArenaPlayerStat : BasePlayerStat 6 | { 7 | public IEnumerable RewardSets { get; set; } 8 | public XpInfo XpInfo { get; set; } 9 | public CSR PreviousCsr { get; set; } 10 | public CSR CurrentCsr { get; set; } 11 | public int MeasurementMatchesLeft { get; set; } 12 | } 13 | } -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/Stats/Halo5/Arena/ArenaPlaylistStat.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace HaloEzAPI.Model.Response.Stats.Halo5.Arena 4 | { 5 | public class ArenaPlaylistStat : PlayerMatchBreakdown 6 | { 7 | public Guid PlaylistId { get; set; } 8 | public int MeasurementMatchesLeft { get; set; } 9 | public CSR HighestCsr { get; set; } 10 | public CSR Csr { get; set; } 11 | } 12 | } -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/Stats/Halo5/Arena/ArenaPostGameReport.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | 4 | namespace HaloEzAPI.Model.Response.Stats.Halo5.Arena 5 | { 6 | public class ArenaPostGameReport : MatchDetails 7 | { 8 | public IEnumerable PlayerStats { get; set; } 9 | public Guid ?SeasonId { get; set; } 10 | public IEnumerable TeamStats { get; set; } 11 | } 12 | } -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/Stats/Halo5/Arena/ArenaServiceRecord.cs: -------------------------------------------------------------------------------- 1 | namespace HaloEzAPI.Model.Response.Stats.Halo5.Arena 2 | { 3 | public class ArenaServiceRecord : BaseServiceRecord 4 | { 5 | public ArenaStats ArenaStats { get; set; } 6 | } 7 | } -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/Stats/Halo5/Arena/ArenaServiceRecordQueryResponse.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace HaloEzAPI.Model.Response.Stats.Halo5.Arena 4 | { 5 | public class ArenaServiceRecordQueryResponse 6 | { 7 | public IEnumerable> Results { get; set; } 8 | } 9 | } -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/Stats/Halo5/Arena/ArenaStats.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | 4 | namespace HaloEzAPI.Model.Response.Stats.Halo5.Arena 5 | { 6 | public class ArenaStats : PlayerMatchBreakdown 7 | { 8 | public IEnumerable ArenaPlaylistStats { get; set; } 9 | public CSR HighestCsrAttained { get; set; } 10 | public IEnumerable ArenaGameBaseVariantStats { get; set; } 11 | public IEnumerable TopGameBaseVariants { get; set; } 12 | public Guid? HighestCsrPlaylistId { get; set; } 13 | } 14 | } -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/Stats/Halo5/BasePlayerStat.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace HaloEzAPI.Model.Response.Stats.Halo5 4 | { 5 | public class BasePlayerStat : PlayerMatchBreakdown 6 | { 7 | public IEnumerable KilledOpponentDetails { get; set; } 8 | public IEnumerable KilledByOpponentDetails { get; set; } 9 | public FlexibleStats FlexibleStats { get; set; } 10 | public CreditsEarned CreditsEarned { get; set; } 11 | public IEnumerable MetaCommendationDeltas { get; set; } 12 | public IEnumerable ProgressiveCommendationDeltas { get; set; } 13 | public Player Player { get; set; } 14 | public int TeamId { get; set; } 15 | public int Rank { get; set; } 16 | public bool DNF { get; set; } 17 | public string AvgLifeTimeOfPlayer { get; set; } 18 | public bool IsTeamGame { get; set; } 19 | } 20 | } -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/Stats/Halo5/BaseServiceRecord.cs: -------------------------------------------------------------------------------- 1 | namespace HaloEzAPI.Model.Response.Stats.Halo5 2 | { 3 | public class BaseServiceRecord 4 | { 5 | public Player PlayerId { get; set; } 6 | public int SpartanRank { get; set; } 7 | public int Xp { get; set; } 8 | } 9 | } -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/Stats/Halo5/BoostData.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace HaloEzAPI.Model.Response.Stats.Halo5 4 | { 5 | public class BoostData 6 | { 7 | public Guid DefinitionId { get; set; } 8 | public bool CardConsumed { get; set; } 9 | } 10 | } -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/Stats/Halo5/CSR.cs: -------------------------------------------------------------------------------- 1 | namespace HaloEzAPI.Model.Response.Stats.Halo5 2 | { 3 | public class CSR 4 | { 5 | public int Tier { get; set; } 6 | public int DesignationId { get; set; } 7 | public int Csr { get; set; } 8 | public int PercentToNextTier { get; set; } 9 | public int? Rank { get; set; } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/Stats/Halo5/Campaign/CampaignMissionStat.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace HaloEzAPI.Model.Response.Stats.Halo5.Campaign 4 | { 5 | public class CampaignMissionStat 6 | { 7 | public FlexibleStats FlexibleStats { get; set; } 8 | public CampaignRunThroughStats CoopStats { get; set; } 9 | public CampaignRunThroughStats SoloStats { get; set; } 10 | public Guid MissionId { get; set; } 11 | } 12 | } -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/Stats/Halo5/Campaign/CampaignPlayerStat.cs: -------------------------------------------------------------------------------- 1 | using HaloEzAPI.Converter; 2 | using Newtonsoft.Json; 3 | 4 | namespace HaloEzAPI.Model.Response.Stats.Halo5.Campaign 5 | { 6 | public class CampaignPlayerStat : PlayerMatchBreakdown 7 | { 8 | public int BiggestKillScore { get; set; } 9 | public FlexibleStats FlexibleStats { get; set; } 10 | [JsonConverter(typeof(ScoreConverter))] 11 | public int Score { get; set; } 12 | public Player Player { get; set; } 13 | public int TeamId { get; set; } 14 | public int Rank { get; set; } 15 | public bool DNF { get; set; } 16 | public string AvgLifeTimeOfPlayer { get; set; } 17 | } 18 | } -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/Stats/Halo5/Campaign/CampaignPostGameReport.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using HaloEzAPI.Abstraction.Enum.Halo5; 3 | 4 | namespace HaloEzAPI.Model.Response.Stats.Halo5.Campaign 5 | { 6 | public class CampaignPostGameReport : MatchDetails 7 | { 8 | public IEnumerable PlayerStats { get; set; } 9 | public string TotalMissionPlaythroughTime { get; set; } 10 | public Difficulty Difficulty { get; set; } 11 | public int[] Skulls { get; set; } 12 | public bool MissionCompleted { get; set; } 13 | } 14 | } -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/Stats/Halo5/Campaign/CampaignRunThroughStats.cs: -------------------------------------------------------------------------------- 1 | using HaloEzAPI.Abstraction.Enum.Halo5; 2 | 3 | namespace HaloEzAPI.Model.Response.Stats.Halo5.Campaign 4 | { 5 | public class CampaignRunThroughStats 6 | { 7 | public int HighestScore { get; set; } 8 | public Difficulty Difficulty { get; set; } 9 | public string FastestCompletionTime { get; set; } 10 | public int[] Skulls { get; set; } 11 | public int TotalTimesCompleted { get; set; } 12 | public bool AllSkullsOn { get; set; } 13 | } 14 | } -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/Stats/Halo5/Campaign/CampaignServiceRecord.cs: -------------------------------------------------------------------------------- 1 | namespace HaloEzAPI.Model.Response.Stats.Halo5.Campaign 2 | { 3 | public class CampaignServiceRecord : BaseServiceRecord 4 | { 5 | public CampaignStat CampaignStat { get; set; } 6 | } 7 | } -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/Stats/Halo5/Campaign/CampaignServiceRecordQueryResponse.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace HaloEzAPI.Model.Response.Stats.Halo5.Campaign 4 | { 5 | public class CampaignServiceRecordQueryResponse 6 | { 7 | public IEnumerable> Results { get; set; } 8 | } 9 | } -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/Stats/Halo5/Campaign/CampaignStat.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace HaloEzAPI.Model.Response.Stats.Halo5.Campaign 4 | { 5 | public class CampaignStat : PlayerMatchBreakdown 6 | { 7 | public IEnumerable CampaignMissionStats { get; set; } 8 | } 9 | } -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/Stats/Halo5/CreditsEarned.cs: -------------------------------------------------------------------------------- 1 | using HaloEzAPI.Abstraction.Enum.Halo5; 2 | 3 | namespace HaloEzAPI.Model.Response.Stats.Halo5 4 | { 5 | public class CreditsEarned 6 | { 7 | public CreditResult Result { get; set; } 8 | public int TotalCreditsEarned { get; set; } 9 | public double SpartanRankModifier { get; set; } 10 | public int PlayerRankAmount { get; set; } 11 | public double TimePlayedAmount { get; set; } 12 | public int BoostAmount { get; set; } 13 | } 14 | } -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/Stats/Halo5/CustomGame/CustomGameServiceRecord.cs: -------------------------------------------------------------------------------- 1 | namespace HaloEzAPI.Model.Response.Stats.Halo5.CustomGame 2 | { 3 | public class CustomGameServiceRecord : BaseServiceRecord 4 | { 5 | public CustomGameStat CustomStats { get; set; } 6 | } 7 | } -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/Stats/Halo5/CustomGame/CustomGameServiceRecordQueryResponse.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace HaloEzAPI.Model.Response.Stats.Halo5.CustomGame 4 | { 5 | public class CustomGameServiceRecordQueryResponse 6 | { 7 | public IEnumerable> Results { get; set; } 8 | } 9 | } -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/Stats/Halo5/CustomGame/CustomGameStat.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace HaloEzAPI.Model.Response.Stats.Halo5.CustomGame 4 | { 5 | public class CustomGameStat : PlayerMatchBreakdown 6 | { 7 | public IEnumerable CustomGameBaseVariantStats { get; set; } 8 | public IEnumerable TopGameBaseVariants { get; set; } 9 | } 10 | } -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/Stats/Halo5/CustomGame/CustomPostGameReport.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace HaloEzAPI.Model.Response.Stats.Halo5.CustomGame 4 | { 5 | public class CustomPostGameReport : MatchDetails 6 | { 7 | public IEnumerable PlayerStats { get; set; } 8 | public IEnumerable TeamStats { get; set; } 9 | } 10 | } -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/Stats/Halo5/Events/DeathEvent.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using HaloEzAPI.Abstraction.Enum.Halo5; 3 | 4 | namespace HaloEzAPI.Model.Response.Stats.Halo5.Events 5 | { 6 | public class DeathEvent : GameEvent 7 | { 8 | public IEnumerable Assistants { get; set; } 9 | public DeathDisposition DeathDisposition { get; set; } 10 | public bool IsAssassination { get; set; } 11 | public bool IsGroundPound { get; set; } 12 | public bool IsHeadshot { get; set; } 13 | public bool IsMelee { get; set; } 14 | public bool IsShoulderBash { get; set; } 15 | public bool IsWeapon { get; set; } 16 | public uint? ImpulseId { get; set; } 17 | public Player Killer { get; set; } 18 | public KillerAgent KillerAgent { get; set; } 19 | public IEnumerable KillerWeaponAttachmentIds { get; set; } 20 | public uint KillerWeaponStockId { get; set; } 21 | public WorldLocation KillerWorldLocation { get; set; } 22 | public Player Victim { get; set; } 23 | public IEnumerable VictimAttachmentIds { get; set; } 24 | public uint VictimStockId { get; set; } 25 | public WorldLocation VictimWorldLocation { get; set; } 26 | } 27 | } -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/Stats/Halo5/Events/GameEvent.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using HaloEzAPI.Abstraction.Enum.Halo5; 3 | using HaloEzAPI.Converter; 4 | using Newtonsoft.Json; 5 | 6 | namespace HaloEzAPI.Model.Response.Stats.Halo5.Events 7 | { 8 | public abstract class GameEvent 9 | { 10 | public EventType EventName { get; set; } 11 | [JsonConverter(typeof(TimeSpanConverter))] 12 | public TimeSpan TimeSinceStart { get; set; } 13 | } 14 | } -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/Stats/Halo5/Events/ImpulseEvent.cs: -------------------------------------------------------------------------------- 1 | namespace HaloEzAPI.Model.Response.Stats.Halo5.Events 2 | { 3 | public class ImpulseEvent : PlayerEvent 4 | { 5 | public uint ImpulseId { get; set; } 6 | } 7 | } -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/Stats/Halo5/Events/MedalEvent.cs: -------------------------------------------------------------------------------- 1 | namespace HaloEzAPI.Model.Response.Stats.Halo5.Events 2 | { 3 | public class MedalEvent : PlayerEvent 4 | { 5 | public uint MedalId { get; set; } 6 | } 7 | } -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/Stats/Halo5/Events/PlayerEvent.cs: -------------------------------------------------------------------------------- 1 | namespace HaloEzAPI.Model.Response.Stats.Halo5.Events 2 | { 3 | public class PlayerEvent : GameEvent 4 | { 5 | public Player Player { get; set; } 6 | } 7 | } -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/Stats/Halo5/Events/RoundEvent.cs: -------------------------------------------------------------------------------- 1 | namespace HaloEzAPI.Model.Response.Stats.Halo5.Events 2 | { 3 | public class RoundEvent : GameEvent 4 | { 5 | public int RoundIndex { get; set; } 6 | } 7 | } -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/Stats/Halo5/Events/WeaponDropEvent.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using HaloEzAPI.Converter; 3 | using Newtonsoft.Json; 4 | 5 | namespace HaloEzAPI.Model.Response.Stats.Halo5.Events 6 | { 7 | public class WeaponDropEvent : WeaponEvent 8 | { 9 | public int ShotsFired { get; set; } 10 | public int ShotsLanded { get; set; } 11 | [JsonConverter(typeof(TimeSpanConverter))] 12 | public TimeSpan TimeWeaponActiveAsPrimary { get; set; } 13 | } 14 | } -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/Stats/Halo5/Events/WeaponEvent.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace HaloEzAPI.Model.Response.Stats.Halo5.Events 4 | { 5 | public class WeaponEvent : PlayerEvent 6 | { 7 | public IEnumerable WeaponAttachmentIds { get; set; } 8 | public uint WeaponStockId { get; set; } 9 | } 10 | } -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/Stats/Halo5/FlexibleStats.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | 4 | namespace HaloEzAPI.Model.Response.Stats.Halo5 5 | { 6 | public class FlexibleStats 7 | { 8 | public IEnumerable> MedalStatCounts { get; set; } 9 | public IEnumerable> ImpulseStatCounts { get; set; } 10 | public IEnumerable MedalTimelapses { get; set; } 11 | public IEnumerable ImpulseTimelapses { get; set; } 12 | } 13 | } -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/Stats/Halo5/GameBaseVariantStat.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace HaloEzAPI.Model.Response.Stats.Halo5 4 | { 5 | public class GameBaseVariantStat : PlayerMatchBreakdown 6 | { 7 | public FlexibleStats FlexibleStats { get; set; } 8 | public Guid GameBaseVariantId { get; set; } 9 | } 10 | } -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/Stats/Halo5/Id.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using HaloEzAPI.Abstraction.Enum.Halo5; 3 | 4 | namespace HaloEzAPI.Model.Response.Stats.Halo5 5 | { 6 | public class Id 7 | { 8 | public Guid MatchId { get; set; } 9 | public GameMode GameMode { get; set; } 10 | } 11 | } -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/Stats/Halo5/Kill.cs: -------------------------------------------------------------------------------- 1 | namespace HaloEzAPI.Model.Response.Stats.Halo5 2 | { 3 | public class Kill 4 | { 5 | public StatsEnemy StatsEnemy { get; set; } 6 | public int TotalKills { get; set; } 7 | } 8 | } -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/Stats/Halo5/KillDetail.cs: -------------------------------------------------------------------------------- 1 | namespace HaloEzAPI.Model.Response.Stats.Halo5 2 | { 3 | public class KillDetail 4 | { 5 | public string GamerTag { get; set; } 6 | public int TotalKills { get; set; } 7 | } 8 | } -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/Stats/Halo5/Link.cs: -------------------------------------------------------------------------------- 1 | namespace HaloEzAPI.Model.Response.Stats.Halo5 2 | { 3 | public class Link 4 | { 5 | public LinkItem StatsMatchDetails { get; set; } 6 | public LinkItem UgcFilmManifest { get; set; } 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/Stats/Halo5/LinkItem.cs: -------------------------------------------------------------------------------- 1 | namespace HaloEzAPI.Model.Response.Stats.Halo5 2 | { 3 | public class LinkItem 4 | { 5 | public string AuthorityId { get; set; } 6 | public string Path { get; set; } 7 | public string QueryString { get; set; } 8 | public string RetryPolicyId { get; set; } 9 | public string TopicName { get; set; } 10 | public int AcknowledgementTypeId { get; set; } 11 | public bool AuthenticationLifetimeExtensionSupported { get; set; } 12 | } 13 | } -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/Stats/Halo5/Match.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | 4 | namespace HaloEzAPI.Model.Response.Stats.Halo5 5 | { 6 | public class Match : MatchDetails 7 | { 8 | /// 9 | /// The ID for this match. More match details are available via the applicable 10 | /// Post Game Carnage Report endpoint. 11 | /// 12 | public Id Id { get; set; } 13 | 14 | /// 15 | /// The ID of the playlist (aka "Hopper") for the match. 16 | /// Hoppers are used in Arena and Warzone. In Arena, they function just as you would 17 | /// expect, similar to previous Halo titles. Warzone uses hoppers as well. There 18 | /// will be multiple Warzone hoppers which contain a rotating playlist of scenarios 19 | /// to play. 20 | /// Null for campaign & custom games. 21 | /// Playlists are available via the Metadata API. 22 | /// 23 | /// 24 | public Guid? HopperId { get; set; } 25 | public Link Links { get; set; } 26 | public MatchCompletedDate MatchCompletedDate { get; set; } 27 | public IEnumerable Teams { get; set; } 28 | public IEnumerable Players { get; set; } 29 | public bool IsTeamGame { get; set; } 30 | public Guid? SeasonId { get; set; } 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/Stats/Halo5/MatchCompletedDate.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using Newtonsoft.Json; 3 | using Newtonsoft.Json.Converters; 4 | 5 | namespace HaloEzAPI.Model.Response.Stats.Halo5 6 | { 7 | public class MatchCompletedDate 8 | { 9 | [JsonConverter(typeof(IsoDateTimeConverter))] 10 | public DateTime ISO8601Date { get; set; } 11 | } 12 | } -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/Stats/Halo5/MatchDetails.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using HaloEzAPI.Converter; 3 | using Newtonsoft.Json; 4 | 5 | namespace HaloEzAPI.Model.Response.Stats.Halo5 6 | { 7 | public class MatchDetails 8 | { 9 | public Guid MapId { get; set; } 10 | public Variant MapVariant { get; set; } 11 | public Guid GameBaseVariantId { get; set; } 12 | public Variant GameVariant { get; set; } 13 | public bool IsTeamGame { get; set; } 14 | [JsonConverter(typeof(TimeSpanConverter))] 15 | public TimeSpan MatchDuration { get; set; } 16 | [JsonConverter(typeof(TimeSpanConverter))] 17 | public TimeSpan TotalDuration { get; set; } 18 | public Guid MapVariantId { get; set; } 19 | public Guid GameVariantId { get; set; } 20 | public Guid PlaylistId { get; set; } 21 | public bool IsMatchOver { get; set; } 22 | public Variant MapVariantResourceId { get; set; } 23 | public Variant GameVariantResourceId { get; set; } 24 | } 25 | } -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/Stats/Halo5/MatchEvent.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using HaloEzAPI.Converter; 3 | using HaloEzAPI.Model.Response.Stats.Halo5.Events; 4 | using Newtonsoft.Json; 5 | 6 | namespace HaloEzAPI.Model.Response.Stats.Halo5 7 | { 8 | public class MatchEvent 9 | { 10 | [JsonConverter(typeof(MatchEventConverter))] 11 | public IEnumerable GameEvents { get; set; } 12 | /// 13 | /// Experimental API so this boolean determines whether the returned events aren't full, or don't match up to expectations 14 | /// 15 | public bool IsCompletedSetOfEvents { get; set; } 16 | } 17 | } -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/Stats/Halo5/MatchPlayer.cs: -------------------------------------------------------------------------------- 1 | using HaloEzAPI.Abstraction.Enum.Halo5; 2 | 3 | namespace HaloEzAPI.Model.Response.Stats.Halo5 4 | { 5 | public class MatchPlayer 6 | { 7 | public Player Player { get; set; } 8 | public int TeamId { get; set; } 9 | // The player's team-agnostic ranking in this match. 10 | public int Rank { get; set; } 11 | public PlayerMatchResult Result { get; set; } 12 | public int TotalKills { get; set; } 13 | public int TotalDeaths { get; set; } 14 | public int TotalAssists { get; set; } 15 | } 16 | } -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/Stats/Halo5/MedalAward.cs: -------------------------------------------------------------------------------- 1 | namespace HaloEzAPI.Model.Response.Stats.Halo5 2 | { 3 | public class MedalAward 4 | { 5 | public uint MedalId { get; set; } 6 | public int Count { get; set; } 7 | } 8 | } -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/Stats/Halo5/MetRequirement.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace HaloEzAPI.Model.Response.Stats.Halo5 4 | { 5 | [Obsolete("This has been made obsolete. Please check RawGuid instead.", true)] 6 | public class MetRequirement 7 | { 8 | public uint Data1 { get; set; } 9 | public uint Data2 { get; set; } 10 | public uint Data3 { get; set; } 11 | public uint Data4 { get; set; } 12 | } 13 | } -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/Stats/Halo5/MetaCommendationDelta.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | 4 | namespace HaloEzAPI.Model.Response.Stats.Halo5 5 | { 6 | public class MetaCommendationDelta 7 | { 8 | public Guid Id { get; set; } 9 | public IEnumerable PreviousMetRequirements { get; set; } 10 | public IEnumerable MetRequirements { get; set; } 11 | } 12 | } -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/Stats/Halo5/Player.cs: -------------------------------------------------------------------------------- 1 | namespace HaloEzAPI.Model.Response.Stats.Halo5 2 | { 3 | public class Player 4 | { 5 | public string Gamertag { get; set; } 6 | public string Xuid { get; set; } 7 | } 8 | } -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/Stats/Halo5/PlayerLeaderboardResult.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace HaloEzAPI.Model.Response.Stats.Halo5 4 | { 5 | public class PlayerLeaderboardResults 6 | { 7 | public IEnumerable Results { get; set; } 8 | public int Start { get; set; } 9 | public int Count { get; set; } 10 | public int ResultCount { get; set; } 11 | public int TotalCount { get; set; } 12 | } 13 | } -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/Stats/Halo5/PlayerMatches.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace HaloEzAPI.Model.Response.Stats.Halo5 4 | { 5 | public class PlayerMatches 6 | { 7 | public int Start { get; set; } 8 | public int Count { get; set; } 9 | public int ResultCount { get; set; } 10 | public IEnumerable Results { get; set; } 11 | public bool IsTeamGame { get; set; } 12 | } 13 | } -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/Stats/Halo5/PlayerResult.cs: -------------------------------------------------------------------------------- 1 | namespace HaloEzAPI.Model.Response.Stats.Halo5 2 | { 3 | public class PlayerResult 4 | { 5 | public Player Player { get; set; } 6 | public int Rank { get; set; } 7 | public CSR Score { get; set; } 8 | } 9 | } -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/Stats/Halo5/ProgressiveCommendationDelta.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace HaloEzAPI.Model.Response.Stats.Halo5 4 | { 5 | public class ProgressiveCommendationDelta 6 | { 7 | public Guid Id { get; set; } 8 | public int PreviousProgress { get; set; } 9 | public int Progress { get; set; } 10 | } 11 | } -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/Stats/Halo5/RewardSetObject.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using HaloEzAPI.Abstraction.Enum.Halo5; 3 | 4 | namespace HaloEzAPI.Model.Response.Stats.Halo5 5 | { 6 | public class RewardSetObject 7 | { 8 | public Guid RewardSet { get; set; } 9 | public RewardSourceType RewardSourceType { get; set; } 10 | public int? SpartanRankSource { get; set; } 11 | public Guid? CommendationLevelId { get; set; } 12 | public Guid? CommendationSource { get; set; } 13 | } 14 | } -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/Stats/Halo5/RoundStat.cs: -------------------------------------------------------------------------------- 1 | using HaloEzAPI.Converter; 2 | using Newtonsoft.Json; 3 | 4 | namespace HaloEzAPI.Model.Response.Stats.Halo5 5 | { 6 | public class RoundStat 7 | { 8 | public int RoundNumber { get; set; } 9 | public int Rank { get; set; } 10 | [JsonConverter(typeof(ScoreConverter))] 11 | public int Score { get; set; } 12 | } 13 | } -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/Stats/Halo5/ScenarioStat.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace HaloEzAPI.Model.Response.Stats.Halo5 4 | { 5 | public class ScenarioStat : PlayerMatchBreakdown 6 | { 7 | public int TotalPiesEarned { get; set; } 8 | public FlexibleStats FlexibleStats { get; set; } 9 | public Guid MapId { get; set; } 10 | public Guid GameBaseVariantId { get; set; } 11 | } 12 | } -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/Stats/Halo5/ServiceRecordResult.cs: -------------------------------------------------------------------------------- 1 | using HaloEzAPI.Abstraction.Enum.Halo5; 2 | 3 | namespace HaloEzAPI.Model.Response.Stats.Halo5 4 | { 5 | public class ServiceRecordResult where T : BaseServiceRecord 6 | { 7 | /// 8 | /// Players GamerTag 9 | /// 10 | public string Id { get; set; } 11 | 12 | public ResultCode ResultCode { get; set; } 13 | public T Result { get; set; } 14 | } 15 | } -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/Stats/Halo5/StatCounter.cs: -------------------------------------------------------------------------------- 1 | namespace HaloEzAPI.Model.Response.Stats.Halo5 2 | { 3 | public class StatCounter 4 | { 5 | public T Id { get; set; } 6 | public int Count { get; set; } 7 | } 8 | } -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/Stats/Halo5/StatTimelapse.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using HaloEzAPI.Converter; 3 | using Newtonsoft.Json; 4 | 5 | namespace HaloEzAPI.Model.Response.Stats.Halo5 6 | { 7 | public class StatTimelapse 8 | { 9 | public Guid Id { get; set; } 10 | [JsonConverter(typeof(TimeSpanConverter))] 11 | public TimeSpan Timelapse { get; set; } 12 | } 13 | } -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/Stats/Halo5/StatsEnemy.cs: -------------------------------------------------------------------------------- 1 | namespace HaloEzAPI.Model.Response.Stats.Halo5 2 | { 3 | public class StatsEnemy 4 | { 5 | public uint BaseId { get; set; } 6 | public uint[] Attachments { get; set; } 7 | } 8 | } -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/Stats/Halo5/Team.cs: -------------------------------------------------------------------------------- 1 | using HaloEzAPI.Converter; 2 | using Newtonsoft.Json; 3 | 4 | namespace HaloEzAPI.Model.Response.Stats.Halo5 5 | { 6 | public class Team 7 | { 8 | /// 9 | /// The ID for the team. The team's ID dictates the team's color. Team colors 10 | /// are available via the Metadata API. 11 | /// 12 | public int Id { get; set; } 13 | 14 | /// 15 | /// The team's score at the end of the match. The way the score is determined is 16 | /// based off the game base variant being played: 17 | /// Breakout = number of rounds won, 18 | /// CTF = number of flag captures, 19 | /// Slayer = number of kills, 20 | /// Strongholds = number of points, 21 | /// Warzone = number of points 22 | /// 23 | [JsonConverter(typeof(ScoreConverter))] 24 | public int Score { get; set; } 25 | 26 | //The team's rank at the end of the match. 27 | public int Rank { get; set; } 28 | } 29 | } -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/Stats/Halo5/TeamStat.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using HaloEzAPI.Converter; 3 | using Newtonsoft.Json; 4 | 5 | namespace HaloEzAPI.Model.Response.Stats.Halo5 6 | { 7 | public class TeamStat 8 | { 9 | public int TeamId { get; set; } 10 | [JsonConverter(typeof(ScoreConverter))] 11 | public int Score { get; set; } 12 | public int Rank { get; set; } 13 | public IEnumerable RoundStats { get; set; } 14 | } 15 | } -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/Stats/Halo5/TopGameBaseVariant.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace HaloEzAPI.Model.Response.Stats.Halo5 4 | { 5 | public class TopGameBaseVariant 6 | { 7 | public int GameBaseVariant { get; set; } 8 | public int NumberOfMatchesCompleted { get; set; } 9 | public Guid GameBaseVariantId { get; set; } 10 | public int NumberOfMatchesWon { get; set; } 11 | } 12 | } -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/Stats/Halo5/Variant.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using HaloEzAPI.Abstraction.Enum.Halo5; 3 | 4 | namespace HaloEzAPI.Model.Response.Stats.Halo5 5 | { 6 | /// 7 | /// Used for Game and Map Variants 8 | /// 9 | public class Variant 10 | { 11 | public ResourceType ResourceType { get; set; } 12 | public Guid ResourceId { get; set; } 13 | public int OwnerType { get; set; } 14 | public string Owner { get; set; } 15 | } 16 | } -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/Stats/Halo5/Warzone/WarzonePlayerStat.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace HaloEzAPI.Model.Response.Stats.Halo5.Warzone 4 | { 5 | public class WarzonePlayerStat : BasePlayerStat 6 | { 7 | public XpInfo XpInfo { get; set; } 8 | public int WarzoneLevel { get; set; } 9 | public int TotalPiesEarned { get; set; } 10 | public IEnumerable RewardSets { get; set; } 11 | } 12 | } -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/Stats/Halo5/Warzone/WarzonePostGameReport.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace HaloEzAPI.Model.Response.Stats.Halo5.Warzone 4 | { 5 | public class WarzonePostGameReport : MatchDetails 6 | { 7 | public IEnumerable PlayerStats { get; set; } 8 | public IEnumerable TeamStats { get; set; } 9 | } 10 | } -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/Stats/Halo5/Warzone/WarzoneServiceRecord.cs: -------------------------------------------------------------------------------- 1 | namespace HaloEzAPI.Model.Response.Stats.Halo5.Warzone 2 | { 3 | public class WarzoneServiceRecord : BaseServiceRecord 4 | { 5 | public WarzoneStat WarzoneStat { get; set; } 6 | } 7 | } -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/Stats/Halo5/Warzone/WarzoneServiceRecordQueryResponse.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace HaloEzAPI.Model.Response.Stats.Halo5.Warzone 4 | { 5 | public class WarzoneServiceRecordQueryResponse 6 | { 7 | public IEnumerable> Results { get; set; } 8 | } 9 | } -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/Stats/Halo5/Warzone/WarzoneStat.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace HaloEzAPI.Model.Response.Stats.Halo5.Warzone 4 | { 5 | public class WarzoneStat : PlayerMatchBreakdown 6 | { 7 | public int TotalPiesEarned { get; set; } 8 | public IEnumerable ScenarioStats { get; set; } 9 | } 10 | } -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/Stats/Halo5/WeaponId.cs: -------------------------------------------------------------------------------- 1 | namespace HaloEzAPI.Model.Response.Stats.Halo5 2 | { 3 | public class WeaponId 4 | { 5 | public uint StockId { get; set; } 6 | public uint[] Attachments { get; set; } 7 | } 8 | } -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/Stats/Halo5/WeaponKillDetail.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using HaloEzAPI.Converter; 3 | using Newtonsoft.Json; 4 | 5 | namespace HaloEzAPI.Model.Response.Stats.Halo5 6 | { 7 | public class WeaponKillDetail 8 | { 9 | public WeaponId WeaponId { get; set; } 10 | public int TotalKills { get; set; } 11 | public int TotalHeadshots { get; set; } 12 | public double TotalDamageDealt { get; set; } 13 | public int TotalShotsFired { get; set; } 14 | public int TotalShotsLanded { get; set; } 15 | [JsonConverter(typeof(TimeSpanConverter))] 16 | public TimeSpan TotalPossessionTime { get; set; } 17 | } 18 | } -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/Stats/Halo5/WorldLocation.cs: -------------------------------------------------------------------------------- 1 | namespace HaloEzAPI.Model.Response.Stats.Halo5 2 | { 3 | public class WorldLocation 4 | { 5 | public double X { get; set; } 6 | public double Y { get; set; } 7 | public double Z { get; set; } 8 | } 9 | } -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/Stats/Halo5/XpInfo.cs: -------------------------------------------------------------------------------- 1 | namespace HaloEzAPI.Model.Response.Stats.Halo5 2 | { 3 | public class XpInfo 4 | { 5 | public int PrevSpartanRank { get; set; } 6 | public int SpartanRank { get; set; } 7 | public int PrevTotalXP { get; set; } 8 | public int TotalXP { get; set; } 9 | public double SpartanRankMatchXPScalar { get; set; } 10 | public int PlayerTimePerformanceXPAward { get; set; } 11 | public int PerformanceXP { get; set; } 12 | public int PlayerRankXPAward { get; set; } 13 | public int BoostAmount { get; set; } 14 | public int MatchSpeedWinAmount { get; set; } 15 | public int ObjectiveCompletedAmount { get; set; } 16 | public BoostData BoostData { get; set; } 17 | } 18 | } -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/UGC/TimeUtc.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using Newtonsoft.Json; 3 | using Newtonsoft.Json.Converters; 4 | 5 | namespace HaloEzAPI.Model.Response.UGC 6 | { 7 | public class TimeUtc 8 | { 9 | [JsonConverter(typeof(IsoDateTimeConverter))] 10 | public DateTime ISO8601Date { get; set; } 11 | } 12 | } -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/UGC/UGCBase.cs: -------------------------------------------------------------------------------- 1 | using HaloEzAPI.Abstraction.Enum.Halo5; 2 | using HaloEzAPI.Model.Response.Stats.Halo5; 3 | 4 | namespace HaloEzAPI.Model.Response.UGC 5 | { 6 | public class UGCBase 7 | { 8 | public Variant BaseMap { get; set; } 9 | public string Name { get; set; } 10 | public string Description { get; set; } 11 | public AccessControl AccessControl { get; set; } 12 | public TimeUtc CreationTimeUtc { get; set; } 13 | public TimeUtc LastModifiedDateUtc { get; set; } 14 | public bool Banned { get; set; } 15 | public Variant Identity { get; set; } 16 | public UGCStats Stats { get; set; } 17 | } 18 | } -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/UGC/UGCGameVariant.cs: -------------------------------------------------------------------------------- 1 | namespace HaloEzAPI.Model.Response.UGC 2 | { 3 | public class UGCGameVariant : UGCBase 4 | { 5 | public int BaseEngineGameType { get; set; } 6 | public int ScoreToWin { get; set; } 7 | public int NumberOfLives { get; set; } 8 | public int MatchDurationInSeconds { get; set; } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/UGC/UGCSearchResult.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace HaloEzAPI.Model.Response.UGC 4 | { 5 | public class UGCSearchResult where T : UGCBase 6 | { 7 | public IEnumerable Results { get; set; } 8 | public int Start { get; set; } 9 | public int Count { get; set; } 10 | public int ResultCount { get; set; } 11 | public int TotalCount { get; set; } 12 | } 13 | } -------------------------------------------------------------------------------- /HaloEzAPI/Model/Response/UGC/UGCStats.cs: -------------------------------------------------------------------------------- 1 | namespace HaloEzAPI.Model.Response.UGC 2 | { 3 | public class UGCStats 4 | { 5 | public int BookmarkCount { get; set; } 6 | public bool HasCallerBookmarked { get; set; } 7 | } 8 | } -------------------------------------------------------------------------------- /HaloEzAPI/packages.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /HaloEzAPI/packages/Microsoft.Bcl.1.1.10/Microsoft.Bcl.1.1.10.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/glitch100/Halo-API/d0591a27ef81e4b55dd7d7f79de93b6ebde262f4/HaloEzAPI/packages/Microsoft.Bcl.1.1.10/Microsoft.Bcl.1.1.10.nupkg -------------------------------------------------------------------------------- /HaloEzAPI/packages/Microsoft.Bcl.1.1.10/lib/Xamarin.iOS10/_._: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/glitch100/Halo-API/d0591a27ef81e4b55dd7d7f79de93b6ebde262f4/HaloEzAPI/packages/Microsoft.Bcl.1.1.10/lib/Xamarin.iOS10/_._ -------------------------------------------------------------------------------- /HaloEzAPI/packages/Microsoft.Bcl.1.1.10/lib/monoandroid/_._: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/glitch100/Halo-API/d0591a27ef81e4b55dd7d7f79de93b6ebde262f4/HaloEzAPI/packages/Microsoft.Bcl.1.1.10/lib/monoandroid/_._ -------------------------------------------------------------------------------- /HaloEzAPI/packages/Microsoft.Bcl.1.1.10/lib/monotouch/_._: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/glitch100/Halo-API/d0591a27ef81e4b55dd7d7f79de93b6ebde262f4/HaloEzAPI/packages/Microsoft.Bcl.1.1.10/lib/monotouch/_._ -------------------------------------------------------------------------------- /HaloEzAPI/packages/Microsoft.Bcl.1.1.10/lib/net40/System.IO.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/glitch100/Halo-API/d0591a27ef81e4b55dd7d7f79de93b6ebde262f4/HaloEzAPI/packages/Microsoft.Bcl.1.1.10/lib/net40/System.IO.dll -------------------------------------------------------------------------------- /HaloEzAPI/packages/Microsoft.Bcl.1.1.10/lib/net40/System.IO.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | System.IO 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /HaloEzAPI/packages/Microsoft.Bcl.1.1.10/lib/net40/System.Runtime.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/glitch100/Halo-API/d0591a27ef81e4b55dd7d7f79de93b6ebde262f4/HaloEzAPI/packages/Microsoft.Bcl.1.1.10/lib/net40/System.Runtime.dll -------------------------------------------------------------------------------- /HaloEzAPI/packages/Microsoft.Bcl.1.1.10/lib/net40/System.Threading.Tasks.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/glitch100/Halo-API/d0591a27ef81e4b55dd7d7f79de93b6ebde262f4/HaloEzAPI/packages/Microsoft.Bcl.1.1.10/lib/net40/System.Threading.Tasks.dll -------------------------------------------------------------------------------- /HaloEzAPI/packages/Microsoft.Bcl.1.1.10/lib/net40/ensureRedirect.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/glitch100/Halo-API/d0591a27ef81e4b55dd7d7f79de93b6ebde262f4/HaloEzAPI/packages/Microsoft.Bcl.1.1.10/lib/net40/ensureRedirect.xml -------------------------------------------------------------------------------- /HaloEzAPI/packages/Microsoft.Bcl.1.1.10/lib/net45/_._: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/glitch100/Halo-API/d0591a27ef81e4b55dd7d7f79de93b6ebde262f4/HaloEzAPI/packages/Microsoft.Bcl.1.1.10/lib/net45/_._ -------------------------------------------------------------------------------- /HaloEzAPI/packages/Microsoft.Bcl.1.1.10/lib/portable-net40+sl4+win8+wp71+wpa81/System.IO.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/glitch100/Halo-API/d0591a27ef81e4b55dd7d7f79de93b6ebde262f4/HaloEzAPI/packages/Microsoft.Bcl.1.1.10/lib/portable-net40+sl4+win8+wp71+wpa81/System.IO.dll -------------------------------------------------------------------------------- /HaloEzAPI/packages/Microsoft.Bcl.1.1.10/lib/portable-net40+sl4+win8+wp71+wpa81/System.Runtime.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/glitch100/Halo-API/d0591a27ef81e4b55dd7d7f79de93b6ebde262f4/HaloEzAPI/packages/Microsoft.Bcl.1.1.10/lib/portable-net40+sl4+win8+wp71+wpa81/System.Runtime.dll -------------------------------------------------------------------------------- /HaloEzAPI/packages/Microsoft.Bcl.1.1.10/lib/portable-net40+sl4+win8+wp71+wpa81/System.Threading.Tasks.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/glitch100/Halo-API/d0591a27ef81e4b55dd7d7f79de93b6ebde262f4/HaloEzAPI/packages/Microsoft.Bcl.1.1.10/lib/portable-net40+sl4+win8+wp71+wpa81/System.Threading.Tasks.dll -------------------------------------------------------------------------------- /HaloEzAPI/packages/Microsoft.Bcl.1.1.10/lib/portable-net40+sl4+win8+wp71+wpa81/ensureRedirect.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/glitch100/Halo-API/d0591a27ef81e4b55dd7d7f79de93b6ebde262f4/HaloEzAPI/packages/Microsoft.Bcl.1.1.10/lib/portable-net40+sl4+win8+wp71+wpa81/ensureRedirect.xml -------------------------------------------------------------------------------- /HaloEzAPI/packages/Microsoft.Bcl.1.1.10/lib/portable-net40+sl4+win8+wp8+wpa81/System.IO.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/glitch100/Halo-API/d0591a27ef81e4b55dd7d7f79de93b6ebde262f4/HaloEzAPI/packages/Microsoft.Bcl.1.1.10/lib/portable-net40+sl4+win8+wp8+wpa81/System.IO.dll -------------------------------------------------------------------------------- /HaloEzAPI/packages/Microsoft.Bcl.1.1.10/lib/portable-net40+sl4+win8+wp8+wpa81/System.Runtime.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/glitch100/Halo-API/d0591a27ef81e4b55dd7d7f79de93b6ebde262f4/HaloEzAPI/packages/Microsoft.Bcl.1.1.10/lib/portable-net40+sl4+win8+wp8+wpa81/System.Runtime.dll -------------------------------------------------------------------------------- /HaloEzAPI/packages/Microsoft.Bcl.1.1.10/lib/portable-net40+sl4+win8+wp8+wpa81/System.Threading.Tasks.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/glitch100/Halo-API/d0591a27ef81e4b55dd7d7f79de93b6ebde262f4/HaloEzAPI/packages/Microsoft.Bcl.1.1.10/lib/portable-net40+sl4+win8+wp8+wpa81/System.Threading.Tasks.dll -------------------------------------------------------------------------------- /HaloEzAPI/packages/Microsoft.Bcl.1.1.10/lib/portable-net40+sl4+win8+wp8+wpa81/ensureRedirect.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/glitch100/Halo-API/d0591a27ef81e4b55dd7d7f79de93b6ebde262f4/HaloEzAPI/packages/Microsoft.Bcl.1.1.10/lib/portable-net40+sl4+win8+wp8+wpa81/ensureRedirect.xml -------------------------------------------------------------------------------- /HaloEzAPI/packages/Microsoft.Bcl.1.1.10/lib/portable-net40+sl4+win8/System.IO.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/glitch100/Halo-API/d0591a27ef81e4b55dd7d7f79de93b6ebde262f4/HaloEzAPI/packages/Microsoft.Bcl.1.1.10/lib/portable-net40+sl4+win8/System.IO.dll -------------------------------------------------------------------------------- /HaloEzAPI/packages/Microsoft.Bcl.1.1.10/lib/portable-net40+sl4+win8/System.Runtime.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/glitch100/Halo-API/d0591a27ef81e4b55dd7d7f79de93b6ebde262f4/HaloEzAPI/packages/Microsoft.Bcl.1.1.10/lib/portable-net40+sl4+win8/System.Runtime.dll -------------------------------------------------------------------------------- /HaloEzAPI/packages/Microsoft.Bcl.1.1.10/lib/portable-net40+sl4+win8/System.Threading.Tasks.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/glitch100/Halo-API/d0591a27ef81e4b55dd7d7f79de93b6ebde262f4/HaloEzAPI/packages/Microsoft.Bcl.1.1.10/lib/portable-net40+sl4+win8/System.Threading.Tasks.dll -------------------------------------------------------------------------------- /HaloEzAPI/packages/Microsoft.Bcl.1.1.10/lib/portable-net40+sl4+win8/ensureRedirect.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/glitch100/Halo-API/d0591a27ef81e4b55dd7d7f79de93b6ebde262f4/HaloEzAPI/packages/Microsoft.Bcl.1.1.10/lib/portable-net40+sl4+win8/ensureRedirect.xml -------------------------------------------------------------------------------- /HaloEzAPI/packages/Microsoft.Bcl.1.1.10/lib/portable-net40+sl5+win8+wp8+wpa81/System.IO.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/glitch100/Halo-API/d0591a27ef81e4b55dd7d7f79de93b6ebde262f4/HaloEzAPI/packages/Microsoft.Bcl.1.1.10/lib/portable-net40+sl5+win8+wp8+wpa81/System.IO.dll -------------------------------------------------------------------------------- /HaloEzAPI/packages/Microsoft.Bcl.1.1.10/lib/portable-net40+sl5+win8+wp8+wpa81/System.Runtime.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/glitch100/Halo-API/d0591a27ef81e4b55dd7d7f79de93b6ebde262f4/HaloEzAPI/packages/Microsoft.Bcl.1.1.10/lib/portable-net40+sl5+win8+wp8+wpa81/System.Runtime.dll -------------------------------------------------------------------------------- /HaloEzAPI/packages/Microsoft.Bcl.1.1.10/lib/portable-net40+sl5+win8+wp8+wpa81/System.Threading.Tasks.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/glitch100/Halo-API/d0591a27ef81e4b55dd7d7f79de93b6ebde262f4/HaloEzAPI/packages/Microsoft.Bcl.1.1.10/lib/portable-net40+sl5+win8+wp8+wpa81/System.Threading.Tasks.dll -------------------------------------------------------------------------------- /HaloEzAPI/packages/Microsoft.Bcl.1.1.10/lib/portable-net40+sl5+win8+wp8+wpa81/ensureRedirect.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/glitch100/Halo-API/d0591a27ef81e4b55dd7d7f79de93b6ebde262f4/HaloEzAPI/packages/Microsoft.Bcl.1.1.10/lib/portable-net40+sl5+win8+wp8+wpa81/ensureRedirect.xml -------------------------------------------------------------------------------- /HaloEzAPI/packages/Microsoft.Bcl.1.1.10/lib/portable-net40+win8+wp8+wpa81/System.IO.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/glitch100/Halo-API/d0591a27ef81e4b55dd7d7f79de93b6ebde262f4/HaloEzAPI/packages/Microsoft.Bcl.1.1.10/lib/portable-net40+win8+wp8+wpa81/System.IO.dll -------------------------------------------------------------------------------- /HaloEzAPI/packages/Microsoft.Bcl.1.1.10/lib/portable-net40+win8+wp8+wpa81/System.Runtime.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/glitch100/Halo-API/d0591a27ef81e4b55dd7d7f79de93b6ebde262f4/HaloEzAPI/packages/Microsoft.Bcl.1.1.10/lib/portable-net40+win8+wp8+wpa81/System.Runtime.dll -------------------------------------------------------------------------------- /HaloEzAPI/packages/Microsoft.Bcl.1.1.10/lib/portable-net40+win8+wp8+wpa81/System.Threading.Tasks.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/glitch100/Halo-API/d0591a27ef81e4b55dd7d7f79de93b6ebde262f4/HaloEzAPI/packages/Microsoft.Bcl.1.1.10/lib/portable-net40+win8+wp8+wpa81/System.Threading.Tasks.dll -------------------------------------------------------------------------------- /HaloEzAPI/packages/Microsoft.Bcl.1.1.10/lib/portable-net40+win8+wp8+wpa81/ensureRedirect.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/glitch100/Halo-API/d0591a27ef81e4b55dd7d7f79de93b6ebde262f4/HaloEzAPI/packages/Microsoft.Bcl.1.1.10/lib/portable-net40+win8+wp8+wpa81/ensureRedirect.xml -------------------------------------------------------------------------------- /HaloEzAPI/packages/Microsoft.Bcl.1.1.10/lib/portable-net40+win8/System.IO.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/glitch100/Halo-API/d0591a27ef81e4b55dd7d7f79de93b6ebde262f4/HaloEzAPI/packages/Microsoft.Bcl.1.1.10/lib/portable-net40+win8/System.IO.dll -------------------------------------------------------------------------------- /HaloEzAPI/packages/Microsoft.Bcl.1.1.10/lib/portable-net40+win8/System.IO.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | System.IO 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /HaloEzAPI/packages/Microsoft.Bcl.1.1.10/lib/portable-net40+win8/System.Runtime.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/glitch100/Halo-API/d0591a27ef81e4b55dd7d7f79de93b6ebde262f4/HaloEzAPI/packages/Microsoft.Bcl.1.1.10/lib/portable-net40+win8/System.Runtime.dll -------------------------------------------------------------------------------- /HaloEzAPI/packages/Microsoft.Bcl.1.1.10/lib/portable-net40+win8/System.Threading.Tasks.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/glitch100/Halo-API/d0591a27ef81e4b55dd7d7f79de93b6ebde262f4/HaloEzAPI/packages/Microsoft.Bcl.1.1.10/lib/portable-net40+win8/System.Threading.Tasks.dll -------------------------------------------------------------------------------- /HaloEzAPI/packages/Microsoft.Bcl.1.1.10/lib/portable-net40+win8/ensureRedirect.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/glitch100/Halo-API/d0591a27ef81e4b55dd7d7f79de93b6ebde262f4/HaloEzAPI/packages/Microsoft.Bcl.1.1.10/lib/portable-net40+win8/ensureRedirect.xml -------------------------------------------------------------------------------- /HaloEzAPI/packages/Microsoft.Bcl.1.1.10/lib/portable-net45+win8+wp8+wpa81/_._: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/glitch100/Halo-API/d0591a27ef81e4b55dd7d7f79de93b6ebde262f4/HaloEzAPI/packages/Microsoft.Bcl.1.1.10/lib/portable-net45+win8+wp8+wpa81/_._ -------------------------------------------------------------------------------- /HaloEzAPI/packages/Microsoft.Bcl.1.1.10/lib/portable-net45+win8+wpa81/_._: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/glitch100/Halo-API/d0591a27ef81e4b55dd7d7f79de93b6ebde262f4/HaloEzAPI/packages/Microsoft.Bcl.1.1.10/lib/portable-net45+win8+wpa81/_._ -------------------------------------------------------------------------------- /HaloEzAPI/packages/Microsoft.Bcl.1.1.10/lib/portable-net451+win81+wpa81/_._: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/glitch100/Halo-API/d0591a27ef81e4b55dd7d7f79de93b6ebde262f4/HaloEzAPI/packages/Microsoft.Bcl.1.1.10/lib/portable-net451+win81+wpa81/_._ -------------------------------------------------------------------------------- /HaloEzAPI/packages/Microsoft.Bcl.1.1.10/lib/portable-net451+win81/_._: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/glitch100/Halo-API/d0591a27ef81e4b55dd7d7f79de93b6ebde262f4/HaloEzAPI/packages/Microsoft.Bcl.1.1.10/lib/portable-net451+win81/_._ -------------------------------------------------------------------------------- /HaloEzAPI/packages/Microsoft.Bcl.1.1.10/lib/portable-win81+wp81+wpa81/_._: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/glitch100/Halo-API/d0591a27ef81e4b55dd7d7f79de93b6ebde262f4/HaloEzAPI/packages/Microsoft.Bcl.1.1.10/lib/portable-win81+wp81+wpa81/_._ -------------------------------------------------------------------------------- /HaloEzAPI/packages/Microsoft.Bcl.1.1.10/lib/sl4-windowsphone71/System.IO.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/glitch100/Halo-API/d0591a27ef81e4b55dd7d7f79de93b6ebde262f4/HaloEzAPI/packages/Microsoft.Bcl.1.1.10/lib/sl4-windowsphone71/System.IO.dll -------------------------------------------------------------------------------- /HaloEzAPI/packages/Microsoft.Bcl.1.1.10/lib/sl4-windowsphone71/System.Runtime.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/glitch100/Halo-API/d0591a27ef81e4b55dd7d7f79de93b6ebde262f4/HaloEzAPI/packages/Microsoft.Bcl.1.1.10/lib/sl4-windowsphone71/System.Runtime.dll -------------------------------------------------------------------------------- /HaloEzAPI/packages/Microsoft.Bcl.1.1.10/lib/sl4-windowsphone71/System.Threading.Tasks.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/glitch100/Halo-API/d0591a27ef81e4b55dd7d7f79de93b6ebde262f4/HaloEzAPI/packages/Microsoft.Bcl.1.1.10/lib/sl4-windowsphone71/System.Threading.Tasks.dll -------------------------------------------------------------------------------- /HaloEzAPI/packages/Microsoft.Bcl.1.1.10/lib/sl4-windowsphone71/ensureRedirect.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/glitch100/Halo-API/d0591a27ef81e4b55dd7d7f79de93b6ebde262f4/HaloEzAPI/packages/Microsoft.Bcl.1.1.10/lib/sl4-windowsphone71/ensureRedirect.xml -------------------------------------------------------------------------------- /HaloEzAPI/packages/Microsoft.Bcl.1.1.10/lib/sl4/System.IO.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/glitch100/Halo-API/d0591a27ef81e4b55dd7d7f79de93b6ebde262f4/HaloEzAPI/packages/Microsoft.Bcl.1.1.10/lib/sl4/System.IO.dll -------------------------------------------------------------------------------- /HaloEzAPI/packages/Microsoft.Bcl.1.1.10/lib/sl4/System.Runtime.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/glitch100/Halo-API/d0591a27ef81e4b55dd7d7f79de93b6ebde262f4/HaloEzAPI/packages/Microsoft.Bcl.1.1.10/lib/sl4/System.Runtime.dll -------------------------------------------------------------------------------- /HaloEzAPI/packages/Microsoft.Bcl.1.1.10/lib/sl4/System.Threading.Tasks.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/glitch100/Halo-API/d0591a27ef81e4b55dd7d7f79de93b6ebde262f4/HaloEzAPI/packages/Microsoft.Bcl.1.1.10/lib/sl4/System.Threading.Tasks.dll -------------------------------------------------------------------------------- /HaloEzAPI/packages/Microsoft.Bcl.1.1.10/lib/sl5/System.IO.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/glitch100/Halo-API/d0591a27ef81e4b55dd7d7f79de93b6ebde262f4/HaloEzAPI/packages/Microsoft.Bcl.1.1.10/lib/sl5/System.IO.dll -------------------------------------------------------------------------------- /HaloEzAPI/packages/Microsoft.Bcl.1.1.10/lib/sl5/System.Runtime.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/glitch100/Halo-API/d0591a27ef81e4b55dd7d7f79de93b6ebde262f4/HaloEzAPI/packages/Microsoft.Bcl.1.1.10/lib/sl5/System.Runtime.dll -------------------------------------------------------------------------------- /HaloEzAPI/packages/Microsoft.Bcl.1.1.10/lib/sl5/System.Threading.Tasks.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/glitch100/Halo-API/d0591a27ef81e4b55dd7d7f79de93b6ebde262f4/HaloEzAPI/packages/Microsoft.Bcl.1.1.10/lib/sl5/System.Threading.Tasks.dll -------------------------------------------------------------------------------- /HaloEzAPI/packages/Microsoft.Bcl.1.1.10/lib/win8/_._: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/glitch100/Halo-API/d0591a27ef81e4b55dd7d7f79de93b6ebde262f4/HaloEzAPI/packages/Microsoft.Bcl.1.1.10/lib/win8/_._ -------------------------------------------------------------------------------- /HaloEzAPI/packages/Microsoft.Bcl.1.1.10/lib/wp8/_._: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/glitch100/Halo-API/d0591a27ef81e4b55dd7d7f79de93b6ebde262f4/HaloEzAPI/packages/Microsoft.Bcl.1.1.10/lib/wp8/_._ -------------------------------------------------------------------------------- /HaloEzAPI/packages/Microsoft.Bcl.1.1.10/lib/wpa81/_._: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/glitch100/Halo-API/d0591a27ef81e4b55dd7d7f79de93b6ebde262f4/HaloEzAPI/packages/Microsoft.Bcl.1.1.10/lib/wpa81/_._ -------------------------------------------------------------------------------- /HaloEzAPI/packages/Microsoft.Bcl.Build.1.0.14/Microsoft.Bcl.Build.1.0.14.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/glitch100/Halo-API/d0591a27ef81e4b55dd7d7f79de93b6ebde262f4/HaloEzAPI/packages/Microsoft.Bcl.Build.1.0.14/Microsoft.Bcl.Build.1.0.14.nupkg -------------------------------------------------------------------------------- /HaloEzAPI/packages/Microsoft.Bcl.Build.1.0.14/content/net40/_._: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/glitch100/Halo-API/d0591a27ef81e4b55dd7d7f79de93b6ebde262f4/HaloEzAPI/packages/Microsoft.Bcl.Build.1.0.14/content/net40/_._ -------------------------------------------------------------------------------- /HaloEzAPI/packages/Microsoft.Bcl.Build.1.0.14/content/netcore45/_._: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/glitch100/Halo-API/d0591a27ef81e4b55dd7d7f79de93b6ebde262f4/HaloEzAPI/packages/Microsoft.Bcl.Build.1.0.14/content/netcore45/_._ -------------------------------------------------------------------------------- /HaloEzAPI/packages/Microsoft.Bcl.Build.1.0.14/content/portable-net40+win8+sl4+wp71+wpa81/_._: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/glitch100/Halo-API/d0591a27ef81e4b55dd7d7f79de93b6ebde262f4/HaloEzAPI/packages/Microsoft.Bcl.Build.1.0.14/content/portable-net40+win8+sl4+wp71+wpa81/_._ -------------------------------------------------------------------------------- /HaloEzAPI/packages/Microsoft.Bcl.Build.1.0.14/content/sl4-windowsphone71/_._: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/glitch100/Halo-API/d0591a27ef81e4b55dd7d7f79de93b6ebde262f4/HaloEzAPI/packages/Microsoft.Bcl.Build.1.0.14/content/sl4-windowsphone71/_._ -------------------------------------------------------------------------------- /HaloEzAPI/packages/Microsoft.Bcl.Build.1.0.14/content/sl4/_._: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/glitch100/Halo-API/d0591a27ef81e4b55dd7d7f79de93b6ebde262f4/HaloEzAPI/packages/Microsoft.Bcl.Build.1.0.14/content/sl4/_._ -------------------------------------------------------------------------------- /HaloEzAPI/packages/Microsoft.Bcl.Build.1.0.14/tools/Microsoft.Bcl.Build.Tasks.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/glitch100/Halo-API/d0591a27ef81e4b55dd7d7f79de93b6ebde262f4/HaloEzAPI/packages/Microsoft.Bcl.Build.1.0.14/tools/Microsoft.Bcl.Build.Tasks.dll -------------------------------------------------------------------------------- /HaloEzAPI/packages/Microsoft.Bcl.Build.1.0.14/tools/Uninstall.ps1: -------------------------------------------------------------------------------- 1 | param($installPath, $toolsPath, $package, $project) 2 | 3 | # Need to load MSBuild assembly if it's not loaded yet. 4 | Add-Type -AssemblyName 'Microsoft.Build, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' 5 | 6 | # Grab the loaded MSBuild project for the project 7 | # Normalize project path before calling GetLoadedProjects as it performs a string based match 8 | $msbuild = [Microsoft.Build.Evaluation.ProjectCollection]::GlobalProjectCollection.GetLoadedProjects([System.IO.Path]::GetFullPath($project.FullName)) | Select-Object -First 1 9 | 10 | # Find all the imports and targets added by this package. 11 | $itemsToRemove = @() 12 | 13 | # Allow many in case a past package was incorrectly uninstalled 14 | $itemsToRemove += $msbuild.Xml.Imports | Where-Object { $_.Project.EndsWith($package.Id + '.targets') } 15 | $itemsToRemove += $msbuild.Xml.Targets | Where-Object { $_.Name -eq "EnsureBclBuildImported" } 16 | 17 | # Remove the elements and save the project 18 | if ($itemsToRemove -and $itemsToRemove.length) 19 | { 20 | foreach ($itemToRemove in $itemsToRemove) 21 | { 22 | $msbuild.Xml.RemoveChild($itemToRemove) | out-null 23 | } 24 | 25 | $project.Save() 26 | } -------------------------------------------------------------------------------- /HaloEzAPI/packages/Microsoft.Net.Http.2.2.29/Microsoft.Net.Http.2.2.29.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/glitch100/Halo-API/d0591a27ef81e4b55dd7d7f79de93b6ebde262f4/HaloEzAPI/packages/Microsoft.Net.Http.2.2.29/Microsoft.Net.Http.2.2.29.nupkg -------------------------------------------------------------------------------- /HaloEzAPI/packages/Microsoft.Net.Http.2.2.29/lib/Xamarin.iOS10/System.Net.Http.Extensions.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/glitch100/Halo-API/d0591a27ef81e4b55dd7d7f79de93b6ebde262f4/HaloEzAPI/packages/Microsoft.Net.Http.2.2.29/lib/Xamarin.iOS10/System.Net.Http.Extensions.dll -------------------------------------------------------------------------------- /HaloEzAPI/packages/Microsoft.Net.Http.2.2.29/lib/Xamarin.iOS10/System.Net.Http.Primitives.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/glitch100/Halo-API/d0591a27ef81e4b55dd7d7f79de93b6ebde262f4/HaloEzAPI/packages/Microsoft.Net.Http.2.2.29/lib/Xamarin.iOS10/System.Net.Http.Primitives.dll -------------------------------------------------------------------------------- /HaloEzAPI/packages/Microsoft.Net.Http.2.2.29/lib/Xamarin.iOS10/System.Net.Http.Primitives.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | System.Net.Http.Primitives 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /HaloEzAPI/packages/Microsoft.Net.Http.2.2.29/lib/monoandroid/System.Net.Http.Extensions.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/glitch100/Halo-API/d0591a27ef81e4b55dd7d7f79de93b6ebde262f4/HaloEzAPI/packages/Microsoft.Net.Http.2.2.29/lib/monoandroid/System.Net.Http.Extensions.dll -------------------------------------------------------------------------------- /HaloEzAPI/packages/Microsoft.Net.Http.2.2.29/lib/monoandroid/System.Net.Http.Primitives.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/glitch100/Halo-API/d0591a27ef81e4b55dd7d7f79de93b6ebde262f4/HaloEzAPI/packages/Microsoft.Net.Http.2.2.29/lib/monoandroid/System.Net.Http.Primitives.dll -------------------------------------------------------------------------------- /HaloEzAPI/packages/Microsoft.Net.Http.2.2.29/lib/monoandroid/System.Net.Http.Primitives.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | System.Net.Http.Primitives 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /HaloEzAPI/packages/Microsoft.Net.Http.2.2.29/lib/monotouch/System.Net.Http.Extensions.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/glitch100/Halo-API/d0591a27ef81e4b55dd7d7f79de93b6ebde262f4/HaloEzAPI/packages/Microsoft.Net.Http.2.2.29/lib/monotouch/System.Net.Http.Extensions.dll -------------------------------------------------------------------------------- /HaloEzAPI/packages/Microsoft.Net.Http.2.2.29/lib/monotouch/System.Net.Http.Primitives.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/glitch100/Halo-API/d0591a27ef81e4b55dd7d7f79de93b6ebde262f4/HaloEzAPI/packages/Microsoft.Net.Http.2.2.29/lib/monotouch/System.Net.Http.Primitives.dll -------------------------------------------------------------------------------- /HaloEzAPI/packages/Microsoft.Net.Http.2.2.29/lib/monotouch/System.Net.Http.Primitives.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | System.Net.Http.Primitives 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /HaloEzAPI/packages/Microsoft.Net.Http.2.2.29/lib/net40/System.Net.Http.Extensions.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/glitch100/Halo-API/d0591a27ef81e4b55dd7d7f79de93b6ebde262f4/HaloEzAPI/packages/Microsoft.Net.Http.2.2.29/lib/net40/System.Net.Http.Extensions.dll -------------------------------------------------------------------------------- /HaloEzAPI/packages/Microsoft.Net.Http.2.2.29/lib/net40/System.Net.Http.Primitives.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/glitch100/Halo-API/d0591a27ef81e4b55dd7d7f79de93b6ebde262f4/HaloEzAPI/packages/Microsoft.Net.Http.2.2.29/lib/net40/System.Net.Http.Primitives.dll -------------------------------------------------------------------------------- /HaloEzAPI/packages/Microsoft.Net.Http.2.2.29/lib/net40/System.Net.Http.Primitives.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | System.Net.Http.Primitives 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /HaloEzAPI/packages/Microsoft.Net.Http.2.2.29/lib/net40/System.Net.Http.WebRequest.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/glitch100/Halo-API/d0591a27ef81e4b55dd7d7f79de93b6ebde262f4/HaloEzAPI/packages/Microsoft.Net.Http.2.2.29/lib/net40/System.Net.Http.WebRequest.dll -------------------------------------------------------------------------------- /HaloEzAPI/packages/Microsoft.Net.Http.2.2.29/lib/net40/System.Net.Http.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/glitch100/Halo-API/d0591a27ef81e4b55dd7d7f79de93b6ebde262f4/HaloEzAPI/packages/Microsoft.Net.Http.2.2.29/lib/net40/System.Net.Http.dll -------------------------------------------------------------------------------- /HaloEzAPI/packages/Microsoft.Net.Http.2.2.29/lib/net40/ensureRedirect.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/glitch100/Halo-API/d0591a27ef81e4b55dd7d7f79de93b6ebde262f4/HaloEzAPI/packages/Microsoft.Net.Http.2.2.29/lib/net40/ensureRedirect.xml -------------------------------------------------------------------------------- /HaloEzAPI/packages/Microsoft.Net.Http.2.2.29/lib/net45/System.Net.Http.Extensions.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/glitch100/Halo-API/d0591a27ef81e4b55dd7d7f79de93b6ebde262f4/HaloEzAPI/packages/Microsoft.Net.Http.2.2.29/lib/net45/System.Net.Http.Extensions.dll -------------------------------------------------------------------------------- /HaloEzAPI/packages/Microsoft.Net.Http.2.2.29/lib/net45/System.Net.Http.Primitives.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/glitch100/Halo-API/d0591a27ef81e4b55dd7d7f79de93b6ebde262f4/HaloEzAPI/packages/Microsoft.Net.Http.2.2.29/lib/net45/System.Net.Http.Primitives.dll -------------------------------------------------------------------------------- /HaloEzAPI/packages/Microsoft.Net.Http.2.2.29/lib/net45/System.Net.Http.Primitives.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | System.Net.Http.Primitives 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /HaloEzAPI/packages/Microsoft.Net.Http.2.2.29/lib/net45/ensureRedirect.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/glitch100/Halo-API/d0591a27ef81e4b55dd7d7f79de93b6ebde262f4/HaloEzAPI/packages/Microsoft.Net.Http.2.2.29/lib/net45/ensureRedirect.xml -------------------------------------------------------------------------------- /HaloEzAPI/packages/Microsoft.Net.Http.2.2.29/lib/portable-net40+sl4+win8+wp71+wpa81/System.Net.Http.Extensions.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/glitch100/Halo-API/d0591a27ef81e4b55dd7d7f79de93b6ebde262f4/HaloEzAPI/packages/Microsoft.Net.Http.2.2.29/lib/portable-net40+sl4+win8+wp71+wpa81/System.Net.Http.Extensions.dll -------------------------------------------------------------------------------- /HaloEzAPI/packages/Microsoft.Net.Http.2.2.29/lib/portable-net40+sl4+win8+wp71+wpa81/System.Net.Http.Primitives.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/glitch100/Halo-API/d0591a27ef81e4b55dd7d7f79de93b6ebde262f4/HaloEzAPI/packages/Microsoft.Net.Http.2.2.29/lib/portable-net40+sl4+win8+wp71+wpa81/System.Net.Http.Primitives.dll -------------------------------------------------------------------------------- /HaloEzAPI/packages/Microsoft.Net.Http.2.2.29/lib/portable-net40+sl4+win8+wp71+wpa81/System.Net.Http.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/glitch100/Halo-API/d0591a27ef81e4b55dd7d7f79de93b6ebde262f4/HaloEzAPI/packages/Microsoft.Net.Http.2.2.29/lib/portable-net40+sl4+win8+wp71+wpa81/System.Net.Http.dll -------------------------------------------------------------------------------- /HaloEzAPI/packages/Microsoft.Net.Http.2.2.29/lib/portable-net40+sl4+win8+wp71+wpa81/ensureRedirect.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/glitch100/Halo-API/d0591a27ef81e4b55dd7d7f79de93b6ebde262f4/HaloEzAPI/packages/Microsoft.Net.Http.2.2.29/lib/portable-net40+sl4+win8+wp71+wpa81/ensureRedirect.xml -------------------------------------------------------------------------------- /HaloEzAPI/packages/Microsoft.Net.Http.2.2.29/lib/portable-net45+win8+wpa81/System.Net.Http.Extensions.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/glitch100/Halo-API/d0591a27ef81e4b55dd7d7f79de93b6ebde262f4/HaloEzAPI/packages/Microsoft.Net.Http.2.2.29/lib/portable-net45+win8+wpa81/System.Net.Http.Extensions.dll -------------------------------------------------------------------------------- /HaloEzAPI/packages/Microsoft.Net.Http.2.2.29/lib/portable-net45+win8+wpa81/System.Net.Http.Primitives.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/glitch100/Halo-API/d0591a27ef81e4b55dd7d7f79de93b6ebde262f4/HaloEzAPI/packages/Microsoft.Net.Http.2.2.29/lib/portable-net45+win8+wpa81/System.Net.Http.Primitives.dll -------------------------------------------------------------------------------- /HaloEzAPI/packages/Microsoft.Net.Http.2.2.29/lib/portable-net45+win8+wpa81/System.Net.Http.Primitives.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | System.Net.Http.Primitives 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /HaloEzAPI/packages/Microsoft.Net.Http.2.2.29/lib/portable-net45+win8+wpa81/ensureRedirect.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/glitch100/Halo-API/d0591a27ef81e4b55dd7d7f79de93b6ebde262f4/HaloEzAPI/packages/Microsoft.Net.Http.2.2.29/lib/portable-net45+win8+wpa81/ensureRedirect.xml -------------------------------------------------------------------------------- /HaloEzAPI/packages/Microsoft.Net.Http.2.2.29/lib/portable-net45+win8/System.Net.Http.Extensions.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/glitch100/Halo-API/d0591a27ef81e4b55dd7d7f79de93b6ebde262f4/HaloEzAPI/packages/Microsoft.Net.Http.2.2.29/lib/portable-net45+win8/System.Net.Http.Extensions.dll -------------------------------------------------------------------------------- /HaloEzAPI/packages/Microsoft.Net.Http.2.2.29/lib/portable-net45+win8/System.Net.Http.Primitives.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/glitch100/Halo-API/d0591a27ef81e4b55dd7d7f79de93b6ebde262f4/HaloEzAPI/packages/Microsoft.Net.Http.2.2.29/lib/portable-net45+win8/System.Net.Http.Primitives.dll -------------------------------------------------------------------------------- /HaloEzAPI/packages/Microsoft.Net.Http.2.2.29/lib/portable-net45+win8/System.Net.Http.Primitives.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | System.Net.Http.Primitives 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /HaloEzAPI/packages/Microsoft.Net.Http.2.2.29/lib/portable-net45+win8/ensureRedirect.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/glitch100/Halo-API/d0591a27ef81e4b55dd7d7f79de93b6ebde262f4/HaloEzAPI/packages/Microsoft.Net.Http.2.2.29/lib/portable-net45+win8/ensureRedirect.xml -------------------------------------------------------------------------------- /HaloEzAPI/packages/Microsoft.Net.Http.2.2.29/lib/sl4-windowsphone71/System.Net.Http.Extensions.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/glitch100/Halo-API/d0591a27ef81e4b55dd7d7f79de93b6ebde262f4/HaloEzAPI/packages/Microsoft.Net.Http.2.2.29/lib/sl4-windowsphone71/System.Net.Http.Extensions.dll -------------------------------------------------------------------------------- /HaloEzAPI/packages/Microsoft.Net.Http.2.2.29/lib/sl4-windowsphone71/System.Net.Http.Primitives.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/glitch100/Halo-API/d0591a27ef81e4b55dd7d7f79de93b6ebde262f4/HaloEzAPI/packages/Microsoft.Net.Http.2.2.29/lib/sl4-windowsphone71/System.Net.Http.Primitives.dll -------------------------------------------------------------------------------- /HaloEzAPI/packages/Microsoft.Net.Http.2.2.29/lib/sl4-windowsphone71/System.Net.Http.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/glitch100/Halo-API/d0591a27ef81e4b55dd7d7f79de93b6ebde262f4/HaloEzAPI/packages/Microsoft.Net.Http.2.2.29/lib/sl4-windowsphone71/System.Net.Http.dll -------------------------------------------------------------------------------- /HaloEzAPI/packages/Microsoft.Net.Http.2.2.29/lib/win8/System.Net.Http.Extensions.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/glitch100/Halo-API/d0591a27ef81e4b55dd7d7f79de93b6ebde262f4/HaloEzAPI/packages/Microsoft.Net.Http.2.2.29/lib/win8/System.Net.Http.Extensions.dll -------------------------------------------------------------------------------- /HaloEzAPI/packages/Microsoft.Net.Http.2.2.29/lib/win8/System.Net.Http.Primitives.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/glitch100/Halo-API/d0591a27ef81e4b55dd7d7f79de93b6ebde262f4/HaloEzAPI/packages/Microsoft.Net.Http.2.2.29/lib/win8/System.Net.Http.Primitives.dll -------------------------------------------------------------------------------- /HaloEzAPI/packages/Microsoft.Net.Http.2.2.29/lib/win8/System.Net.Http.Primitives.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | System.Net.Http.Primitives 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /HaloEzAPI/packages/Microsoft.Net.Http.2.2.29/lib/wpa81/System.Net.Http.Extensions.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/glitch100/Halo-API/d0591a27ef81e4b55dd7d7f79de93b6ebde262f4/HaloEzAPI/packages/Microsoft.Net.Http.2.2.29/lib/wpa81/System.Net.Http.Extensions.dll -------------------------------------------------------------------------------- /HaloEzAPI/packages/Microsoft.Net.Http.2.2.29/lib/wpa81/System.Net.Http.Primitives.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/glitch100/Halo-API/d0591a27ef81e4b55dd7d7f79de93b6ebde262f4/HaloEzAPI/packages/Microsoft.Net.Http.2.2.29/lib/wpa81/System.Net.Http.Primitives.dll -------------------------------------------------------------------------------- /HaloEzAPI/packages/Microsoft.Net.Http.2.2.29/lib/wpa81/System.Net.Http.Primitives.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | System.Net.Http.Primitives 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /HaloEzAPI/packages/Moq.4.2.1510.2205/Moq.4.2.1510.2205.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/glitch100/Halo-API/d0591a27ef81e4b55dd7d7f79de93b6ebde262f4/HaloEzAPI/packages/Moq.4.2.1510.2205/Moq.4.2.1510.2205.nupkg -------------------------------------------------------------------------------- /HaloEzAPI/packages/Moq.4.2.1510.2205/lib/net35/Moq.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/glitch100/Halo-API/d0591a27ef81e4b55dd7d7f79de93b6ebde262f4/HaloEzAPI/packages/Moq.4.2.1510.2205/lib/net35/Moq.dll -------------------------------------------------------------------------------- /HaloEzAPI/packages/Moq.4.2.1510.2205/lib/net40/Moq.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/glitch100/Halo-API/d0591a27ef81e4b55dd7d7f79de93b6ebde262f4/HaloEzAPI/packages/Moq.4.2.1510.2205/lib/net40/Moq.dll -------------------------------------------------------------------------------- /HaloEzAPI/packages/Moq.4.2.1510.2205/lib/sl5/Moq.Silverlight.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/glitch100/Halo-API/d0591a27ef81e4b55dd7d7f79de93b6ebde262f4/HaloEzAPI/packages/Moq.4.2.1510.2205/lib/sl5/Moq.Silverlight.dll -------------------------------------------------------------------------------- /HaloEzAPI/packages/NUnit.2.6.4/NUnit.2.6.4.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/glitch100/Halo-API/d0591a27ef81e4b55dd7d7f79de93b6ebde262f4/HaloEzAPI/packages/NUnit.2.6.4/NUnit.2.6.4.nupkg -------------------------------------------------------------------------------- /HaloEzAPI/packages/NUnit.2.6.4/lib/nunit.framework.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/glitch100/Halo-API/d0591a27ef81e4b55dd7d7f79de93b6ebde262f4/HaloEzAPI/packages/NUnit.2.6.4/lib/nunit.framework.dll -------------------------------------------------------------------------------- /HaloEzAPI/packages/NUnit.2.6.4/license.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/glitch100/Halo-API/d0591a27ef81e4b55dd7d7f79de93b6ebde262f4/HaloEzAPI/packages/NUnit.2.6.4/license.txt -------------------------------------------------------------------------------- /HaloEzAPI/packages/Newtonsoft.Json.6.0.1/Newtonsoft.Json.6.0.1.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/glitch100/Halo-API/d0591a27ef81e4b55dd7d7f79de93b6ebde262f4/HaloEzAPI/packages/Newtonsoft.Json.6.0.1/Newtonsoft.Json.6.0.1.nupkg -------------------------------------------------------------------------------- /HaloEzAPI/packages/Newtonsoft.Json.6.0.1/lib/net20/Newtonsoft.Json.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/glitch100/Halo-API/d0591a27ef81e4b55dd7d7f79de93b6ebde262f4/HaloEzAPI/packages/Newtonsoft.Json.6.0.1/lib/net20/Newtonsoft.Json.dll -------------------------------------------------------------------------------- /HaloEzAPI/packages/Newtonsoft.Json.6.0.1/lib/net35/Newtonsoft.Json.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/glitch100/Halo-API/d0591a27ef81e4b55dd7d7f79de93b6ebde262f4/HaloEzAPI/packages/Newtonsoft.Json.6.0.1/lib/net35/Newtonsoft.Json.dll -------------------------------------------------------------------------------- /HaloEzAPI/packages/Newtonsoft.Json.6.0.1/lib/net40/Newtonsoft.Json.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/glitch100/Halo-API/d0591a27ef81e4b55dd7d7f79de93b6ebde262f4/HaloEzAPI/packages/Newtonsoft.Json.6.0.1/lib/net40/Newtonsoft.Json.dll -------------------------------------------------------------------------------- /HaloEzAPI/packages/Newtonsoft.Json.6.0.1/lib/net45/Newtonsoft.Json.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/glitch100/Halo-API/d0591a27ef81e4b55dd7d7f79de93b6ebde262f4/HaloEzAPI/packages/Newtonsoft.Json.6.0.1/lib/net45/Newtonsoft.Json.dll -------------------------------------------------------------------------------- /HaloEzAPI/packages/Newtonsoft.Json.6.0.1/lib/netcore45/Newtonsoft.Json.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/glitch100/Halo-API/d0591a27ef81e4b55dd7d7f79de93b6ebde262f4/HaloEzAPI/packages/Newtonsoft.Json.6.0.1/lib/netcore45/Newtonsoft.Json.dll -------------------------------------------------------------------------------- /HaloEzAPI/packages/Newtonsoft.Json.6.0.1/lib/portable-net40+sl5+wp80+win8+monotouch+monoandroid/Newtonsoft.Json.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/glitch100/Halo-API/d0591a27ef81e4b55dd7d7f79de93b6ebde262f4/HaloEzAPI/packages/Newtonsoft.Json.6.0.1/lib/portable-net40+sl5+wp80+win8+monotouch+monoandroid/Newtonsoft.Json.dll -------------------------------------------------------------------------------- /HaloEzAPI/packages/Newtonsoft.Json.6.0.1/lib/portable-net45+wp80+win8/Newtonsoft.Json.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/glitch100/Halo-API/d0591a27ef81e4b55dd7d7f79de93b6ebde262f4/HaloEzAPI/packages/Newtonsoft.Json.6.0.1/lib/portable-net45+wp80+win8/Newtonsoft.Json.dll -------------------------------------------------------------------------------- /HaloEzAPI/packages/repositories.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2015 Jon Evans 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. -------------------------------------------------------------------------------- /PULL_REQUEST_TEMPLATE.md: -------------------------------------------------------------------------------- 1 | ## Overview 2 | 3 | ## Solved Issues 4 | N/A 5 | 6 | ## Installation 7 | N/A 8 | 9 | ## Acceptance and Testing Steps 10 | - [ ] Is it compatible for all target frameworks? 11 | 12 | ## Other Notes 13 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | # Halo API - Halo 5, and Halo Wars 2 API 4 | 5 | *03/12/2020* - Undertaking project review to move to .netcore3.0 in prep for Halo Infinity. 6 | 7 | A C# Wrapper for the official Halo 5 and Halo Wars 2 API's that can be seen at [http://developer.haloapi.com](http://developer.haloapi.com) - Easy to use, and implement. It contains all current endpoints, tests, a rate handler and a cache system! 8 | 9 | Enjoy Halo 5 Guardians, and Halo Wars 2 Game Data faster than ever before with this wrapper. The API is updated regularly with optimisations, new endpoints and more! Download it now, or utilise it via [**NuGet**](https://www.nuget.org/packages/HaloEzAPI) 10 | 11 | ### More documentation 12 | * [Features](docs/Features.md) 13 | * [Halo 5 Support](docs/Halo5.md) 14 | * [Halo Wars 2 Support](docs/HaloWars2.md) 15 | * [Usage](docs/Usage.md) 16 | 17 | 18 | #### Future Features On the way 19 | - All Halo Wars 2 Endpoints 20 | - Solution improvements 21 | 22 | ---------- 23 | 24 | 25 | #### Help? 26 | Contact me on Twitter **[@Glitch100](http://twitter.com/glitch100)** 27 | 28 | #### Notes 29 | Please note that if you pull the repo the tests will need your API Key in order to pass as I haven't interfaced out the `HttpClient` and they rely on genuine data. 30 | -------------------------------------------------------------------------------- /docs/Features.md: -------------------------------------------------------------------------------- 1 | # Supported Features and Endpoints 2 | 3 | ## Features 4 | - Rate Handling and Limit on Requests! 5 | - Caching of Requests (hourly stats/daily meta)! 6 | - All the Endpoints the API has to offer! 7 | -------------------------------------------------------------------------------- /docs/Halo5.md: -------------------------------------------------------------------------------- 1 | # Endpoints 2 | 3 | ### Halo 5 4 | **Stats** 5 | - PlayerLeaderboard 6 | - Get Events For Match 7 | - Get Matches For Player 8 | - Get Arena PostGame Carnage Report 9 | - Get Custom PostGame Carnage Report 10 | - Get Campaign PostGame Carnage Report 11 | - Get Warzone PostGame Carnage Report 12 | - Get Arena Service Records 13 | - Get Campaign Service Records 14 | - Get Custom Game Service Records 15 | - Get Warzone Service Records 16 | 17 | **Meta Data** 18 | - GetCampaignMissions 19 | - GetCommendations 20 | - Get CSR Designations 21 | - Get Enemies 22 | - Get Flexible Stats 23 | - Get Game Base Variants 24 | - Get Game Variants 25 | - Get Impulses 26 | - Get Map Variants 27 | - Get Maps 28 | - Get Medals 29 | - Get Playlists 30 | - Get Requisition Pack 31 | - Get Requistion 32 | - Get Skulls 33 | - Get Spartan Ranks 34 | - Get Team Colours 35 | - Get Vehicles 36 | - Get Weapons 37 | 38 | **Profile** 39 | - Get Emblem Image 40 | - Get Spartan Image 41 | 42 | **UGC** 43 | - Get Game Variant 44 | - Get Map Variant 45 | - List Game Variants 46 | - List Map Variants 47 | -------------------------------------------------------------------------------- /docs/HaloWars2.md: -------------------------------------------------------------------------------- 1 | # Endpoints 2 | 3 | ### Halo Wars 2 4 | **Stats** 5 | - N/A 6 | 7 | **Meta Data** 8 | - GetCampaignLevels 9 | - GetCampaignLogs 10 | - GetCardKeywords 11 | - GetCards 12 | - GetCSRDesignations 13 | - GetGameObjectCategories 14 | - GetGameObjects 15 | -------------------------------------------------------------------------------- /docs/Usage.md: -------------------------------------------------------------------------------- 1 | # Usage 2 | 3 | You can download the source or get it via **NuGet**! 4 | [https://www.nuget.org/packages/HaloEzAPI](https://www.nuget.org/packages/HaloEzAPI) 5 | 6 | ```C# 7 | //Initialize service with API Token. Optionally provide base api url 8 | var haloApiService = new HaloAPIService("MYAPITOKEN"); 9 | //Retrieve the player matches from an associated gamertag,with optional gamemode, 10 | //start and count 11 | ``` 12 | 13 | ## Getting Halo 5 Matches 14 | 15 | ```c# 16 | var playerMatches = await haloAPIService.GetMatchesForPlayer("Glitch100", GameMode.Arena); 17 | //Example of returning gamevariants from the match result set 18 | var gameVariants = playerMatches.Results.Select(r => r.GameVariants); 19 | ``` 20 | 21 | 22 | ## Getting Halo Wars 2 Campaign Missions 23 | 24 | ```c# 25 | var playerMatches = await haloAPIService.HaloWars2.GetCampaignLevels(); 26 | ``` 27 | --------------------------------------------------------------------------------