public LoadPlayerDataResponse(LoadPlayerDataRequest playerData)
        {
            using (CSSStatsDataContext statsDB = new CSSStatsDataContext())
            {
                using (CSSDataContext db = new CSSDataContext())
                {
                    var login = Login.FindLoginByUsernameOrCallsign(db, playerData.LoginUsername);

                    if (login == null)
                    {
                        Succeeded = false;
                        ErrorMessage = "Couldn't find player's login user id.";
                        return;
                    }

                    ScoreQueue scoreQueue = statsDB.ScoreQueues.FirstOrDefault(p => p.LoginId == login.Id && p.GameGuid == playerData.GameGuid);

                    if (scoreQueue == null)
                    {
                        statsDB.ScoreQueues.InsertOnSubmit(new ScoreQueue()
                        {
                            LoginId = login.Id,
                            GameGuid = playerData.GameGuid,
                            Score = playerData.Score,
                            PilotBaseKills = playerData.PilotBaseKills,
                            PilotBaseCaptures = playerData.PilotBaseCaptures,
                            WarpsSpotted = playerData.WarpsSpotted,
                            AsteroidsSpotted = playerData.AsteroidsSpotted,
                            MinerKills = playerData.MinerKills,
                            BuilderKills = playerData.BuilderKills,
                            LayerKills = playerData.LayerKills,
                            CarrierKills = playerData.CarrierKills,
                            PlayerKills = playerData.PlayerKills,
                            BaseKills = playerData.BaseKills,
                            BaseCaptures = playerData.BaseCaptures,
                            TechsRecovered = playerData.TechsRecovered,
                            Flags = playerData.Flags,
                            Artifacts = playerData.Artifacts,
                            Rescues = playerData.Rescues,
                            Kills = playerData.Kills,
                            Assists = playerData.Assists,
                            Deaths = playerData.Deaths,
                            Ejections = playerData.Ejections,
                            Win = playerData.Win,
                            Lose = playerData.Lose,
                            CommandWin = playerData.CommandWin,
                            CommandLose = playerData.CommandLose,
                            TimePlayed = playerData.TimePlayed,
                            TimeCommanded = playerData.TimeCommanded,
                            CommandCredit = playerData.CommandCredit,
                            CombatRating = playerData.CombatRating
                        });
                    }

                    statsDB.SubmitChanges();
                }
            }

            this.Succeeded = true;
        }
        public LoadPlayerDataResponse LoadPlayerData(LoadPlayerDataRequest playerData)
        {
            string currentIPAddress;

            if (TryVerifyConnection(out currentIPAddress) == false)
                return new LoadPlayerDataResponse()
                {
                    ErrorMessage = "You may not upload data from this address: " + currentIPAddress,
                    Succeeded = false
                };

            return new LoadPlayerDataResponse(playerData);
        }
Example #3
0
        public LoadPlayerDataResponse(LoadPlayerDataRequest playerData)
        {
            using (CSSStatsDataContext statsDB = new CSSStatsDataContext())
            {
                using (CSSDataContext db = new CSSDataContext())
                {
                    var login = Login.FindLoginByUsernameOrCallsign(db, playerData.LoginUsername);

                    if (login == null)
                    {
                        Succeeded    = false;
                        ErrorMessage = "Couldn't find player's login user id.";
                        return;
                    }

                    ScoreQueue scoreQueue = statsDB.ScoreQueues.FirstOrDefault(p => p.LoginId == login.Id && p.GameGuid == playerData.GameGuid);

                    if (scoreQueue == null)
                    {
                        statsDB.ScoreQueues.InsertOnSubmit(new ScoreQueue()
                        {
                            LoginId           = login.Id,
                            GameGuid          = playerData.GameGuid,
                            Score             = playerData.Score,
                            PilotBaseKills    = playerData.PilotBaseKills,
                            PilotBaseCaptures = playerData.PilotBaseCaptures,
                            WarpsSpotted      = playerData.WarpsSpotted,
                            AsteroidsSpotted  = playerData.AsteroidsSpotted,
                            MinerKills        = playerData.MinerKills,
                            BuilderKills      = playerData.BuilderKills,
                            LayerKills        = playerData.LayerKills,
                            CarrierKills      = playerData.CarrierKills,
                            PlayerKills       = playerData.PlayerKills,
                            BaseKills         = playerData.BaseKills,
                            BaseCaptures      = playerData.BaseCaptures,
                            TechsRecovered    = playerData.TechsRecovered,
                            Flags             = playerData.Flags,
                            Artifacts         = playerData.Artifacts,
                            Rescues           = playerData.Rescues,
                            Kills             = playerData.Kills,
                            Assists           = playerData.Assists,
                            Deaths            = playerData.Deaths,
                            Ejections         = playerData.Ejections,
                            Win           = playerData.Win,
                            Lose          = playerData.Lose,
                            CommandWin    = playerData.CommandWin,
                            CommandLose   = playerData.CommandLose,
                            TimePlayed    = playerData.TimePlayed,
                            TimeCommanded = playerData.TimeCommanded,
                            CommandCredit = playerData.CommandCredit,
                            CombatRating  = playerData.CombatRating
                        });
                    }



                    statsDB.SubmitChanges();
                }
            }

            this.Succeeded = true;
        }