Terraria.Plugins.CoderCow.Protector.ServerMetadataHandler.AddOrUpdateBankChest C# (CSharp) Method

AddOrUpdateBankChest() private method

private AddOrUpdateBankChest ( Terraria.Plugins.CoderCow.Protector.BankChestDataKey key, Terraria.Plugins.CoderCow.Protector.BankChestMetadata bankChest ) : void
key Terraria.Plugins.CoderCow.Protector.BankChestDataKey
bankChest Terraria.Plugins.CoderCow.Protector.BankChestMetadata
return void
        private void AddOrUpdateBankChest(BankChestDataKey key, BankChestMetadata bankChest)
        {
            bool insertRequired;
              using (QueryResult reader = this.DbConnection.QueryReader(
            "SELECT COUNT(UserId) AS Count FROM Protector_BankChests WHERE UserId = @0 AND ChestIndex = @1;",
            key.UserId, key.BankChestIndex
              )) {
            if (!reader.Read())
              throw new InvalidOperationException("Unexpected data were returned.");

            insertRequired = (reader.Get<int>("Count") == 0);
              }

              if (insertRequired) {
            this.DbConnection.Query(
              "INSERT INTO Protector_BankChests (UserId, ChestIndex, Content) VALUES (@0, @1, @2);",
              key.UserId, key.BankChestIndex, this.ItemMetadataToString(bankChest.Items)
            );
              } else {
            this.DbConnection.Query(
              "UPDATE Protector_BankChests SET Content = @2 WHERE UserId = @0 AND ChestIndex = @1;",
              key.UserId, key.BankChestIndex, this.ItemMetadataToString(bankChest.Items)
            );
              }
        }