Example #1
0
        public static EliteStatsResponse ConvertToResponse(this EdsmResponse edsmResponse)
        {
            EliteStatsResponse res = new EliteStatsResponse
            {
                Progress     = edsmResponse.Progress,
                Ranks        = edsmResponse.Ranks,
                RanksVerbose = edsmResponse.RanksVerbose
            };

            return(res);
        }
Example #2
0
        public async Task <GenericResponse <BooleanResponse> > UpdateCache(EdsmResponse edsmResponse, TUserGame userGame)
        {
            TEliteStat dbStats = _databaseContext.TEliteStat.FirstOrDefault(s => s.UserGame.Username == userGame.Username);

            bool newStats = false;

            if (dbStats == null)
            {
                newStats = true;
                dbStats  = new TEliteStat {
                    UserGameId = userGame.Id
                };
            }

            dbStats.CombatProgress     = edsmResponse.Progress.Combat;
            dbStats.CombatRank         = edsmResponse.Ranks.Combat;
            dbStats.CqcProgress        = edsmResponse.Progress.CQC;
            dbStats.CqcRank            = edsmResponse.Ranks.CQC;
            dbStats.EmpireProgress     = edsmResponse.Progress.Empire;
            dbStats.EmpireRank         = edsmResponse.Ranks.Empire;
            dbStats.ExplorerProgress   = edsmResponse.Progress.Explore;
            dbStats.ExplorerRank       = edsmResponse.Ranks.Explore;
            dbStats.FederationProgress = edsmResponse.Progress.Federation;
            dbStats.FederationRank     = edsmResponse.Ranks.Federation;
            dbStats.TraderProgress     = edsmResponse.Progress.Trade;
            dbStats.TraderRank         = edsmResponse.Ranks.Trade;

            try
            {
                if (newStats)
                {
                    _databaseContext.TEliteStat.Add(dbStats);
                }
                else
                {
                    _databaseContext.TEliteStat.Update(dbStats);
                }
                await _databaseContext.SaveChangesAsync();

                return(new GenericResponse <BooleanResponse>(new BooleanResponse {
                    Success = true
                }));
            }
            catch (DbUpdateException e)
            {
                return(new GenericResponse <BooleanResponse>("Error while saving in cache", e));
            }
        }
Example #3
0
        public static EdsmResponse ConvertToEdsmResponse(this TEliteStat eliteDbStats)
        {
            if (eliteDbStats == null)
            {
                return(null);
            }

            EdsmResponse edsmResponse = new EdsmResponse
            {
                MsgNum   = 100,
                Progress = new EliteStatsResponseRanks
                {
                    Combat     = eliteDbStats.CombatProgress,
                    CQC        = eliteDbStats.CqcProgress,
                    Empire     = eliteDbStats.EmpireProgress,
                    Explore    = eliteDbStats.ExplorerProgress,
                    Federation = eliteDbStats.FederationProgress,
                    Trade      = eliteDbStats.TraderProgress
                },
                Ranks = new EliteStatsResponseRanks
                {
                    Combat     = eliteDbStats.CombatRank,
                    CQC        = eliteDbStats.CqcRank,
                    Empire     = eliteDbStats.EmpireRank,
                    Explore    = eliteDbStats.ExplorerRank,
                    Federation = eliteDbStats.FederationRank,
                    Trade      = eliteDbStats.TraderRank
                },
                RanksVerbose = new EliteStatsResponseRanksVerbose
                {
                    Combat     = GetCombatRankVerbose(eliteDbStats.CombatRank),
                    CQC        = GetCqcRankVerbose(eliteDbStats.CqcRank),
                    Empire     = GetEmpireRankVerbose(eliteDbStats.EmpireRank),
                    Explore    = GetExplorationRankVerbose(eliteDbStats.ExplorerRank),
                    Federation = GetFederationRankVerbose(eliteDbStats.FederationRank),
                    Trade      = GetTradeRankVerbose(eliteDbStats.TraderRank)
                }
            };

            return(edsmResponse);
        }