You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
43 lines
1.2 KiB
43 lines
1.2 KiB
using Justice.Helpers;
|
|
using Justice.Models;
|
|
using System.Collections.ObjectModel;
|
|
|
|
namespace Justice.Views
|
|
{
|
|
public partial class EndUserReportsPage : ContentPage
|
|
{
|
|
private readonly DatabaseHelper _dbHelper;
|
|
public ObservableCollection<IncidentReport> Reports { get; set; }
|
|
|
|
public EndUserReportsPage()
|
|
{
|
|
InitializeComponent();
|
|
_dbHelper = new DatabaseHelper();
|
|
Reports = new ObservableCollection<IncidentReport>();
|
|
ReportsListView.ItemsSource = Reports;
|
|
}
|
|
|
|
protected override async void OnAppearing()
|
|
{
|
|
base.OnAppearing();
|
|
await LoadReportsAsync();
|
|
}
|
|
|
|
private async Task LoadReportsAsync()
|
|
{
|
|
try
|
|
{
|
|
Reports.Clear();
|
|
var reportsFromDb = await _dbHelper.GetAllAsync<IncidentReport>();
|
|
foreach (var report in reportsFromDb)
|
|
{
|
|
Reports.Add(report);
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
await DisplayAlert("Error", $"Failed to load reports: {ex.Message}", "OK");
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|