public void Process(RawExpeditionResult rpData)
        {
            var rExpeditionID = KanColleGame.Current.Base.Expeditions.Values.Single(r => r.Name == rpData.Name).ID;

            if (rpData.Result != ExpeditionResult.Failure && (ExpeditionID == null || ExpeditionID.Contains(rExpeditionID)))
                Current++;
        }
        internal void UpdateExpedition(int rpExpedition, RawExpeditionResult rpData)
        {
            using (var rCommand = Connection.CreateCommand())
            {
                var rMaterial = rpData.Result != 0 ? rpData.Material.ToObject<int[]>() : null;

                rCommand.CommandText = "INSERT INTO expedition(time, result, expedition, fuel, bullet, steel, bauxite, item1, item1_count, item2, item2_count) " +
                    "VALUES (strftime('%s', 'now'), @result, @expedition, @fuel, @bullet, @steel, @bauxite, @item1, @item1_count, @item2, @item2_count)";
                rCommand.Parameters.Add(new SQLiteParameter("@result", (int)rpData.Result));
                rCommand.Parameters.Add(new SQLiteParameter("@expedition", rpExpedition));
                rCommand.Parameters.Add(new SQLiteParameter("@fuel", rMaterial != null ? rMaterial[0] : (int?)null));
                rCommand.Parameters.Add(new SQLiteParameter("@bullet", rMaterial != null ? rMaterial[1] : (int?)null));
                rCommand.Parameters.Add(new SQLiteParameter("@steel", rMaterial != null ? rMaterial[2] : (int?)null));
                rCommand.Parameters.Add(new SQLiteParameter("@bauxite", rMaterial != null ? rMaterial[3] : (int?)null));
                rCommand.Parameters.Add(new SQLiteParameter("@item1", rpData.Item1 != null ? rpData.Item1.ID : (int?)null));
                rCommand.Parameters.Add(new SQLiteParameter("@item1_count", rpData.Item1 != null ? rpData.Item1.Count : (int?)null));
                rCommand.Parameters.Add(new SQLiteParameter("@item2", rpData.Item2 != null ? rpData.Item2.ID : (int?)null));
                rCommand.Parameters.Add(new SQLiteParameter("@item2_count", rpData.Item2 != null ? rpData.Item2.Count : (int?)null));
                rCommand.ExecuteNonQuery();
            }
        }