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

ProcessPracticeFirstStage() private method

private ProcessPracticeFirstStage ( ApiInfo rpInfo ) : void
rpInfo ApiInfo
return void
        void ProcessPracticeFirstStage(ApiInfo rpInfo)
        {
            var rParticipantFleet = KanColleGame.Current.Port.Fleets[int.Parse(rpInfo.Parameters["api_deck_id"])];
            var rPractice = KanColleGame.Current.Practice;
            var rOpponent = rPractice.Opponent;
            r_CurrentBattleID = rPractice.Battle.ID;

            using (var rTransaction = Connection.BeginTransaction())
            using (var rCommand = Connection.CreateCommand())
            {
                var rCommandTextBuilder = new StringBuilder(1024);
                rCommandTextBuilder.Append("INSERT OR IGNORE INTO practice_opponent(id, name) VALUES(@opponent_id, @opponent_name);" +
                    "INSERT OR IGNORE INTO practice_opponent_comment(id, comment) VALUES(@opponent_comment_id, @opponent_coment);" +
                    "INSERT OR IGNORE INTO practice_opponent_fleet(id, name) VALUES(@opponent_fleet_name_id, @opponent_fleet_name);" +
                    "INSERT INTO practice(id, opponent, opponent_level, opponent_experience, opponent_rank, opponent_comment, opponent_fleet) VALUES(@battle_id, @opponent_id, @opponent_level, @opponent_experience, @opponent_rank, @opponent_comment_id, @opponent_fleet_name_id);" +
                    "INSERT INTO battle_detail.battle(id, first) VALUES(@battle_id, @first);");
                rCommand.Parameters.AddWithValue("@opponent_id", rOpponent.RawData.ID);
                rCommand.Parameters.AddWithValue("@opponent_name", rOpponent.Name);
                rCommand.Parameters.AddWithValue("@opponent_comment_id", rOpponent.RawData.CommentID ?? -1);
                rCommand.Parameters.AddWithValue("@opponent_coment", rOpponent.Comment);
                rCommand.Parameters.AddWithValue("@opponent_fleet_name_id", rOpponent.RawData.FleetNameID ?? -1);
                rCommand.Parameters.AddWithValue("@opponent_fleet_name", rOpponent.FleetName);
                rCommand.Parameters.AddWithValue("@opponent_level", rOpponent.Level);
                rCommand.Parameters.AddWithValue("@opponent_experience", rOpponent.RawData.Experience[0]);
                rCommand.Parameters.AddWithValue("@opponent_rank", (int)rOpponent.Rank);
                rCommand.Parameters.AddWithValue("@battle_id", r_CurrentBattleID.Value);
                rCommand.Parameters.AddWithValue("@first", CompressJson(rpInfo.Json["api_data"]));

                ProcessParticipantFleet(rCommandTextBuilder, rParticipantFleet, ParticipantFleetType.Main);

                rCommand.CommandText = rCommandTextBuilder.ToString();
                rCommand.ExecuteNonQuery();

                rTransaction.Commit();
            }
        }
        void ProcessSecondStage(ApiInfo rpInfo)