public Int.ServiceRecordResponse ServiceRecord(Ext.ServiceRecordResponse src) { return(new Int.ServiceRecordResponse { DateFidelity = (DateFidelity)src.DateFidelity, FirstPlayed = src.FirstPlayedUtc, LastPlayed = src.LastPlayedUtc, XP = src.XP, SpartanPoints = src.SpartanPoints, TotalGamesStarted = src.TotalGamesStarted, TotalMedalsEarned = src.TotalMedalsEarned, TotalGameplay = src.TotalGameplay, TotalChallengesCompleted = src.TotalChallengesCompleted, TotalLoadoutItemsPurchased = src.TotalLoadoutItemsPurchased, TotalCommendationProgress = src.TotalCommendationProgress, Identity = serviceRecordIdentity(src), FavoriteWeapon = serviceRecordFavoriteWeapon(src), Specializations = serviceRecordSpecializations(src), GameModes = serviceRecordGameModes(src), CurrentRank = serviceRecordCurrentRank(src), NextRank = serviceRecordNextRank(src), SkillRanks = skillRanks(src.SkillRanks), TopMedals = medalRecords(src.TopMedals), }); }
private IntSR.Identity serviceRecordIdentity(Ext.ServiceRecordResponse src) { return(new IntSR.Identity { XUID = -1, ServiceTag = src.ServiceTag, EmblemUrl = Url(src.EmblemImageUrl), }); }
private IntSR.Rank serviceRecordCurrentRank(Ext.ServiceRecordResponse src) { return(new IntSR.Rank { ID = src.RankId, Name = src.RankName, ImageUrl = Url(src.RankImageUrl), StartXP = src.RankStartXP, }); }
private IntSR.FavoriteWeapon serviceRecordFavoriteWeapon(Ext.ServiceRecordResponse src) { return(new IntSR.FavoriteWeapon { ID = src.FavoriteWeaponId, Name = src.FavoriteWeaponName, Description = src.FavoriteWeaponDescription, ImageUrl = Url(src.FavoriteWeaponImageUrl), TotalKills = src.FavoriteWeaponTotalKills, }); }
private IntSR.Rank serviceRecordNextRank(Ext.ServiceRecordResponse src) { if (src.NextRankId == 0) { return(null); } return(new IntSR.Rank { ID = src.NextRankId, Name = src.NextRankName, ImageUrl = Url(src.NextRankImageUrl), StartXP = Convert.ToInt32(src.NextRankStartXP), }); }
private IntSR.Specialization[] serviceRecordSpecializations(Ext.ServiceRecordResponse src) { if (src.Specializations == null) { return(new IntSR.Specialization[0]); } return(src.Specializations.Select(s => new IntSR.Specialization { ID = s.Id, Name = s.Name, Description = s.Description, ImageUrl = Url(s.ImageUrl), Level = s.Level, Current = s.IsCurrent, Completion = s.PercentComplete, Complete = s.Completed, }).ToArray()); }
public async Task <ServiceRecordResponse> ServiceRecord(ServiceRecordResponse sr, ExtSR.ServiceRecordResponse ext) { var identity = await identityClient.GetXboxLiveIdentity(new ReqGetXboxLiveIdentity { Type = XboxLiveIdentityType.Gamertag, Value = ext.Gamertag, }); sr.Identity.XUID = identity.XUID; sr.Identity.Gamertag = identity.Gamertag; return(sr); }
private IntSR.GameModes serviceRecordGameModes(Ext.ServiceRecordResponse src) { var o = new IntSR.GameModes(); if (src.GameModes == null || src.GameModes.Count() == 0) { return(o); } foreach (var mode in src.GameModes) { switch (mode) { case Ext.ServiceRecord.CampaignMode m: o.Campaign = new IntSR.CampaignMode { SinglePlayerMissions = missions(m.SinglePlayerMissions), CoopMissions = missions(m.CoopMissions), TotalTerminalsVisited = m.TotalTerminalsVisited, NarrativeFlags = m.NarrativeFlags, SinglePlayerDASO = m.SinglePlayerDaso, SinglePlayerDifficulty = m.SinglePlayerDifficulty, CoopDASO = m.CoopDaso, CoopDifficulty = m.CoopDifficulty, TotalDuration = TimeSpan.Parse(m.TotalDuration), TotalKills = m.TotalKills, TotalDeaths = m.TotalDeaths, TotalGamesStarted = m.TotalGamesStarted, }; break; case Ext.ServiceRecord.SpartanOpsMode m: o.SpartanOps = new IntSR.SpartanOpsMode { TotalSinglePlayerMissionsCompleted = (int)m.TotalSinglePlayerMissionsCompleted, TotalCoopMissionsCompleted = (int)m.TotalCoopMissionsCompleted, TotalMissionsPossible = (int)m.TotalMissionsPossible, TotalMedals = (int)m.TotalMedals, TotalGamesWon = (int)m.TotalGamesWon, TotalDuration = TimeSpan.Parse(m.TotalDuration), TotalKills = m.TotalKills, TotalDeaths = m.TotalDeaths, TotalGamesStarted = m.TotalGamesStarted, }; break; case Ext.ServiceRecord.WarGamesMode m: var final = new IntSR.WarGamesMode { TotalMedals = (int)m.TotalMedals, TotalGamesWon = (int)m.TotalGamesWon, TotalGamesCompleted = (int)m.TotalGamesCompleted, AveragePersonalScore = (int)m.AveragePersonalScore, KdRatio = (double)m.KdRatio, TotalGameBaseVariantMedals = (int)m.TotalGameBaseVariantMedals, FavoriteVariant = serviceRecordFavoriteVariant(m.FavoriteVariant), TotalDuration = TimeSpan.Parse(m.TotalDuration), TotalKills = m.TotalKills, TotalDeaths = m.TotalDeaths, TotalGamesStarted = m.TotalGamesStarted, }; switch (m.Id) { case 3: o.WarGames = final; break; case 6: o.CustomGames = final; break; default: throw new BaeException( "unknown_game_mode_id", new Dictionary <string, object> { { "Id", m.Id } } ); } break; default: throw new BaeException( "unknown_game_mode", new Dictionary <string, object> { { "ModeType", mode.GetType() } } ); } } return(o); }