Ejemplo n.º 1
0
        private async Task <SolarSystem> ConvertJsonToSolarSystem(string json)
        {
            var system = new SolarSystem();

            var request = EliteBgsSystemRequest.FromJson(json);

            system.Name = request.Docs[0].Name;
            system.ControllingFaction = request.Docs[0].ControllingMinorFaction;
            system.UpdatedOn          = request.Docs[0].UpdatedAt.UtcDateTime;
            if (!string.IsNullOrEmpty(request.Docs[0].State))
            {
                system.State = request.Docs[0].State;
            }
            foreach (var subFaction in request.Docs[0].Factions)
            {
                var faction = new SubFaction();
                faction.Name = subFaction.Name;
                if (subFaction?.FactionDetails?.FactionPresence?.Influence != null)
                {
                    faction.Influence = subFaction.FactionDetails.FactionPresence.Influence;
                }
                else
                {
                    faction.Influence = 0;
                }
                system.SubFactions.Add(faction);
            }
            foreach (var conflict in request.Docs[0].Conflicts)
            {
                system.Conflicts.Add(new Entities.Conflict {
                    Status   = conflict.Status,
                    Type     = conflict.Type,
                    Factions = new List <ConflictFaction> {
                        new ConflictFaction {
                            DaysWon     = (int)conflict.Faction1.DaysWon,
                            FactionName = conflict.Faction1.Name,
                            Stake       = conflict.Faction1.Stake
                        },
                        new ConflictFaction
                        {
                            DaysWon     = (int)conflict.Faction2.DaysWon,
                            FactionName = conflict.Faction2.Name,
                            Stake       = conflict.Faction2.Stake
                        }
                    }
                });
            }
            return(system);
        }
Ejemplo n.º 2
0
        public async Task <List <SolarSystem> > ConvertJsonToListSolarSystem(string json)
        {
            var solarSystems = new List <SolarSystem>();
            var request      = EliteBgsSystemRequest.FromJson(json);

            foreach (var record in request.Docs)
            {
                var system = new SolarSystem();
                system.Name = record.Name;
                system.ControllingFaction = record.ControllingMinorFaction;
                system.UpdatedOn          = record.UpdatedAt.UtcDateTime;
                if (!string.IsNullOrEmpty(record.State))
                {
                    system.State = record.State;
                }
                foreach (var subFaction in record.Factions)
                {
                    system.SubFactions.Add(new SubFaction {
                        Name = subFaction.Name, Influence = subFaction.FactionDetails.FactionPresence.Influence
                    });
                }
                foreach (var conflict in record.Conflicts)
                {
                    system.Conflicts.Add(new Entities.Conflict
                    {
                        Status   = conflict.Status,
                        Type     = conflict.Type,
                        Factions = new List <ConflictFaction> {
                            new ConflictFaction {
                                DaysWon     = (int)conflict.Faction1.DaysWon,
                                FactionName = conflict.Faction1.Name,
                                Stake       = conflict.Faction1.Stake
                            },
                            new ConflictFaction
                            {
                                DaysWon     = (int)conflict.Faction2.DaysWon,
                                FactionName = conflict.Faction2.Name,
                                Stake       = conflict.Faction2.Stake
                            }
                        }
                    });
                }
                solarSystems.Add(system);
            }
            return(solarSystems);
        }