Sakuno.KanColle.Amatsukaze.Game.Services.Records.BattleDetailRecords.ProcessResult C# (CSharp) Method

ProcessResult() private method

private ProcessResult ( ApiInfo rpInfo ) : void
rpInfo ApiInfo
return void
        void ProcessResult(ApiInfo rpInfo)
        {
            if (!r_CurrentBattleID.HasValue)
                return;

            using (var rTransaction = Connection.BeginTransaction())
            {
                using (var rCommand = Connection.CreateCommand())
                {
                    rCommand.CommandText = "UPDATE battle_detail.battle SET result = @result WHERE id = @id;";
                    rCommand.Parameters.AddWithValue("@id", r_CurrentBattleID.Value);
                    rCommand.Parameters.AddWithValue("@result", CompressJson(rpInfo.Json["api_data"]));

                    if (rpInfo.Api == "api_req_practice/battle_result")
                    {
                        rCommand.CommandText += "UPDATE battle_detail.practice SET rank = @rank WHERE id = @id;";
                        rCommand.Parameters.AddWithValue("@rank", (int)((RawBattleResult)rpInfo.Data).Rank);
                    }

                    rCommand.ExecuteNonQuery();
                }

                var rStage = BattleInfo.Current.CurrentStage;
                ProcessHeavilyDamagedShip(rStage.FriendMain, ParticipantFleetType.Main);
                if (rStage.FriendEscort != null)
                    ProcessHeavilyDamagedShip(rStage.FriendEscort, ParticipantFleetType.Escort);

                rTransaction.Commit();
            }

            r_CurrentBattleID = null;
        }
        void ProcessHeavilyDamagedShip(IList<BattleParticipantSnapshot> rpParticipants, ParticipantFleetType rpType)