WordPress Custom Post Type and WP-PageNavi

Solution:1

I once had a similiar problem and this was my solution

<?php $paged = (get_query_var('paged')) ? get_query_var('paged') : 1; ?>

<?php query_posts( 'posts_per_page=10&post_type=playstore&paged=' . $paged ); ?>

Solution:2

you are quering the same posts over and over, and that is way you are getting the same posts, to fix it just add 'paged' => get_query_var('paged') to your query arguments, so change:

<?php $portfolioloop = new WP_Query( array( 'post_type' => 'portfolio', 'posts_per_page' => 12 ) ); ?>

into:

<?php $portfolioloop = new WP_Query( array( 'paged' => get_query_var('paged'), 'post_type' => 'portfolio', 'posts_per_page' => 12 ) ); ?>

and just to make sure you are ok and to avoid errors add wp_reset_postdata(); at the end of your code.