This is the code for the TabbedPage.xaml
`using RapidRate.Models;
using RapidRate.Services;
using RapidRate.ViewModels;
using System.Collections.Generic;
using Xamarin.Forms;
using Xamarin.Forms.Xaml;
namespace RapidRate
{
[XamlCompilation(XamlCompilationOptions.Compile)]
public partial class MyReviewsTabbedPage : TabbedPage
{
public MyReviewsTabbedPage()
{
InitializeComponent();
BindingContext = new MyReviewsViewModel(
DependencyService.Get<INavService>()
);
}
MyReviewsViewModel _vm
{
get {
return BindingContext as MyReviewsViewModel;
}
}
protected override async void OnAppearing()
{
base.OnAppearing();
if (_vm != null)
await _vm.Init();
}
}
}`
INavService.cs
`using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using RapidRate.ViewModels;
namespace RapidRate.Services
{
public interface INavService
{
bool CanGoBack { get; }
Task GoBack();
Task NavigateTo<TVM>() where TVM : BaseViewModel;
Task NavigateTo<TVM, TParameter>(TParameter parameter) where TVM : BaseViewModel;
Task RemoveLastView();
Task ClearBackStack();
Task NavigateToUri(Uri uri);
event PropertyChangedEventHandler CanGoBackChanged;
}
}
`
and here is the view model for the tabbed page:
`using RapidRate.Models;
using RapidRate.Services;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Threading.Tasks;
namespace RapidRate.ViewModels
{
class MyReviewsViewModel : BaseViewModel
{
public MyReviewsViewModel(INavService navService) : base(navService)
{
AvgScores = new ObservableCollection();
MyReviews = new ObservableCollection();
}
private ObservableCollection<RapidRateReport> _avgScores;
public ObservableCollection<RapidRateReport> AvgScores
{
get { return _avgScores; }
set { _avgScores = value; OnPropertyChanged(); }
}
private ObservableCollection<PeopleRapidRate> _myReviews;
public ObservableCollection<PeopleRapidRate> MyReviews
{
get { return _myReviews; }
set { _myReviews = value; OnPropertyChanged(); }
}
public override async Task Init()
{
await LoadEntries();
}
async Task LoadEntries()
{
AvgScores.Clear();
List<RapidRateReport> reviews = WebService.GetRapidRateAvgReport(App.CompanyID, App.PID);
foreach(RapidRateReport review in reviews)
{
AvgScores.Add(review);
}
}
}
}`
Is there anything else you need?