예제 #1
0
        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);
        }
예제 #2
0
        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);
        }