Файл CasesPage.xaml:
Код: Выделить всё
Код: Выделить всё
using Bmcl.GhanaLawReport.Models;
using Bmcl.GhanaLawReport.PageModels;
using Bmcl.GhanaLawReport.Services;
namespace Bmcl.GhanaLawReport.Pages;
public partial class CasesPage : ContentPage
{
public CasesPage()
{
InitializeComponent();
}
private void ReportYear_StateChanged(object sender, Syncfusion.Maui.Buttons.StateChangedEventArgs e)
{
if(e.IsChecked.HasValue && e.IsChecked.Value)
{
AppProperties.ReportedCasesSearchOption = 1;
LawReportComboBox.IsEnabled = true;
}
else
{
LawReportComboBox.IsEnabled = false;
}
}
private void AnyTextCaseTitle_StateChanged(object sender, Syncfusion.Maui.Buttons.StateChangedEventArgs e)
{
if(e.IsChecked.HasValue && e.IsChecked.Value)
{
AppProperties.ReportedCasesSearchOption = 2;
CaseTitleEntry.IsEnabled = true;
}
else
{
CaseTitleEntry.IsEnabled = false;
}
}
private void CaseTitleEntry_TextChanged(object sender, TextChangedEventArgs e)
{
AppProperties.ReportedCasesAnyTextParameter = CaseTitleEntry.Text;
}
private void LawReportComboBox_SelectionChanged(object sender, Syncfusion.Maui.Inputs.SelectionChangedEventArgs e)
{
AppProperties.LawReportComboParameter = LawReportComboBox.Text;
}
}
Код: Выделить всё
using Bmcl.GhanaLawReport.Models;
using Bmcl.GhanaLawReport.Services;
using CommunityToolkit.Mvvm.ComponentModel;
using CommunityToolkit.Mvvm.Input;
using System.Collections.ObjectModel;
namespace Bmcl.GhanaLawReport.PageModels
{
public partial class CasesPageModel : ObservableObject
{
private Int32 totalRecords = 0;
[ObservableProperty]
string recordsReturned = "";
[ObservableProperty]
ObservableCollection caseTitlesList = [];
[ObservableProperty]
ObservableCollection lawReportList = [];
[ObservableProperty]
int indexId = 0;
[ObservableProperty]
int caseId = 0;
[ObservableProperty]
int courtId = 0;
[ObservableProperty]
int reportId = 0;
[ObservableProperty]
string? caseName;
[ObservableProperty]
string? courtName;
[ObservableProperty]
string? reportName;
[ObservableProperty]
string? judges;
public CasesPageModel()
{
GetLawReports();
}
private void GetLawReports()
{
var lawReports = Data.LawReport.ReadAllLawReports.Read();
if (lawReports != null)
LawReportList = new ObservableCollection(lawReports);
}
[RelayCommand]
public async Task Search()
{
await GetSerchOptions();
}
private async Task GetSerchOptions()
{
switch(AppProperties.ReportedCasesSearchOption)
{
case 1:
if(AppProperties.LawReportComboParameter == string.Empty ||
AppProperties.LawReportComboParameter == null)
{
//--Message here
if(Application.Current?.Windows.Count > 0)
{
var page = Application.Current.Windows[0].Page;
if(page != null)
{
await page.DisplayAlert("Reported Case Error",
"Please select a Law Report ", "OK");
}
}
return;
}
var caseTitles = await Data.ReportedCase.ReadCaseTitleByReport.ReadAsync(AppProperties.LawReportComboParameter);
if (caseTitles != null)
{
CaseTitlesList = new ObservableCollection(caseTitles);
totalRecords = caseTitles.Count;
RecordsReturned = $"Showing {totalRecords} Returned Records";
}
break;
case 2:
if(AppProperties.ReportedCasesAnyTextParameter == string.Empty ||
AppProperties.ReportedCasesAnyTextParameter == null)
{
//--Message here
if(Application.Current?.Windows.Count > 0)
{
var page = Application.Current.Windows[0].Page;
if(page != null)
{
await page.DisplayAlert("Reported Case Error",
"Please supply a Case Title ", "OK");
}
}
return;
}
var cases = await Data.ReportedCase.ReadCaseTitleByAnyText.ReadAsync(AppProperties.ReportedCasesAnyTextParameter);
if (cases != null)
{
CaseTitlesList = new ObservableCollection(cases);
totalRecords = cases.Count;
RecordsReturned = $"Showing {totalRecords} Returned Records";
}
break;
}
}
}
}
Код: Выделить всё
namespace Bmcl.GhanaLawReport.Models
{
public class ReportedCasesView
{
public int IndexId { get; set; }
public int CaseId { get; set; }
public int CourtId { get; set; }
public int ReportId { get; set; }
public string? CaseName { get; set; }
public string? CourtName { get; set; }
public string? ReportName { get; set; }
public string? Judges { get; set; }
}
}
Заранее благодарим вас за помощь.
Подробнее здесь: https://stackoverflow.com/questions/793 ... owing-data
Мобильная версия