public boolean itemDeposit(WebInventoryMeta wim) {
		// Unsupported action
		if (!this.canDeposit) {
			this.player.sendMessage(MineAuction.prefix + ChatColor.RED
					+ MineAuction.lang.getString("action_invalid_deposit"));
			return false;
		}

		try {
			// Save item to database
			// exist in database (a - update, b - insert)
			Connection conn = MineAuction.db.getConnection();
			PreparedStatement ps = null;

			// Fix duplicite items records, restack them at database
			// DatabaseUtils.fixItemStacking()

			// Same item is in database, update him
			if (DatabaseUtils.isItemInDatabase(wim,
					DatabaseUtils.getPlayerId(this.player.getUniqueId()))
					&& wim.getItemStack().getMaxStackSize() > 1) {

				short durability = ItemUtils.canHaveDamage(wim.getId()) ? 0
						: wim.getDurability();

				ps = conn
						.prepareStatement("UPDATE ma_items SET qty = qty + ? WHERE playerID = ? AND itemID= ? AND itemDamage = ? AND enchantments = ? AND lore = ?");
				ps.setInt(1, wim.getItemQty());
				ps.setInt(2,
						DatabaseUtils.getPlayerId(this.player.getUniqueId()));
				ps.setInt(3, wim.getId());
				ps.setShort(4, durability);
				ps.setString(5, wim.getItemEnchantments());
				ps.setString(6, wim.getLore());

				ps.executeUpdate();
			} else {

				short durability = ItemUtils.canHaveDamage(wim.getId()) ? 0
						: wim.getDurability();

				ps = conn
						.prepareStatement("INSERT INTO `ma_items` (`playerID`, `itemID`, `itemDamage`, `qty`, `itemMeta`, `enchantments`, `lore`) VALUES (?, ?, ?,?, ?, ?, ?)");
				ps.setInt(1,
						DatabaseUtils.getPlayerId(this.player.getUniqueId()));
				ps.setInt(2, wim.getId());
				ps.setShort(3, durability);
				ps.setInt(4, wim.getItemQty());
				ps.setString(5, wim.getItemMeta());
				ps.setString(6, wim.getItemEnchantments());
				ps.setString(7, wim.getLore());

				ps.execute();
			}

			// Refresh inventory if it is set in config
			if (MineAuction.config.getBool("plugin.performance.refresh"))
				this.refreshInventory();

			return true;
		} catch (Exception e) {
			e.printStackTrace();
			return false;
		}

	}