public CCPAPIResult <SerializableAPISkillInTraining> Invoke(Dictionary <string, string> legacyPostData, string dataSource, string accessToken) { var characterId = int.Parse(legacyPostData["characterID"]); //TODO: handle empty skill queue var firstQueueSkill = _skillsApi.GetCharactersCharacterIdSkillqueue(characterId, dataSource, accessToken) .OrderBy(x => x.QueuePosition.GetValueOrDefault()).First(); var result = new CCPAPIResult <SerializableAPISkillInTraining> { Result = new SerializableAPISkillInTraining { SkillInTraining = (byte)(firstQueueSkill.StartDate.HasValue ? 1 : 0), StartTime = firstQueueSkill.StartDate.GetValueOrDefault(), EndTime = firstQueueSkill.FinishDate.GetValueOrDefault(), TrainingTypeID = firstQueueSkill.SkillId.GetValueOrDefault(), //I think this is the right value? TrainingStartSP = firstQueueSkill.LevelStartSp.GetValueOrDefault(), TrainingDestinationSP = firstQueueSkill.LevelEndSp.GetValueOrDefault(), TrainingToLevel = (byte)firstQueueSkill.FinishedLevel.GetValueOrDefault(), //Dont bother with tqtime, or trainingtime } }; return(result); }
private IEnumerable <SerializableQueuedSkill> GetSkillQueue(int characterId, string dataSource, string accessToken) { var queue = _skillsApi.GetCharactersCharacterIdSkillqueue(characterId, dataSource, accessToken).OrderBy(x => x.QueuePosition.GetValueOrDefault()).Select(x => new SerializableQueuedSkill { ID = x.SkillId.GetValueOrDefault(), Level = x.FinishedLevel.GetValueOrDefault(), StartTime = x.StartDate.GetValueOrDefault(), EndTime = x.FinishDate.GetValueOrDefault(), EndSP = x.LevelEndSp.GetValueOrDefault(), //This is not trainingstartsp (I dont know what thats for, progress?) StartSP = x.LevelStartSp.GetValueOrDefault() }).ToList(); return(queue); }