Added test data and fixed family tree styles
This commit is contained in:
@@ -52,8 +52,11 @@ public partial class FamilyTreePage : Page
|
||||
{
|
||||
var border = new Border
|
||||
{
|
||||
Classes = { "critter-card child" },
|
||||
Child = new TextBlock {Text = $"[Child]\n{child.Name}"}
|
||||
Classes = { "critter-card", "child"},
|
||||
Child = new TextBlock
|
||||
{
|
||||
Text = $"[Child]\n{child.Name}"
|
||||
}
|
||||
};
|
||||
|
||||
ChildStack.Children.Add(border);
|
||||
|
||||
@@ -6,12 +6,11 @@
|
||||
x:Class="CritterFolio.Pages.TestPage">
|
||||
<ScrollViewer VerticalAlignment="Stretch" HorizontalAlignment="Stretch">
|
||||
<StackPanel Spacing="5">
|
||||
<Label FontSize="20" HorizontalAlignment="Stretch">Database operations</Label>
|
||||
<Button HorizontalAlignment="Stretch" Classes="normal">Insert test data</Button>
|
||||
<Button x:Name="ClearDbButton" HorizontalAlignment="Stretch" Classes="normal">Clear database</Button>
|
||||
<Button x:Name="ReInitButton" HorizontalAlignment="Stretch" Classes="normal">Re-init Database</Button>
|
||||
<Label FontSize="20" HorizontalAlignment="Stretch">Logger</Label>
|
||||
<Button x:Name="OpenLogButton" HorizontalAlignment="Stretch" Classes="normal">Open Log File</Button>
|
||||
<Label FontSize="20" HorizontalAlignment="Stretch">Database operations</Label>
|
||||
<Button x:Name="TestDataButton" HorizontalAlignment="Stretch" Classes="normal">Insert test data</Button>
|
||||
<Button x:Name="ClearDbButton" HorizontalAlignment="Stretch" Classes="normal">Clear database</Button>
|
||||
</StackPanel>
|
||||
</ScrollViewer>
|
||||
</UserControl>
|
||||
|
||||
@@ -5,6 +5,7 @@ using Avalonia.Controls;
|
||||
using Avalonia.Interactivity;
|
||||
using Avalonia.Markup.Xaml;
|
||||
using Avalonia.Platform.Storage;
|
||||
using CritterFolio.DataModels;
|
||||
using CritterFolio.Services;
|
||||
|
||||
namespace CritterFolio.Pages;
|
||||
@@ -17,11 +18,57 @@ public partial class TestPage : Page
|
||||
{
|
||||
InitializeComponent();
|
||||
|
||||
TestDataButton.Click += TestDataButtonClicked;
|
||||
ClearDbButton.Click += ClearDbButtonClicked;
|
||||
ReInitButton.Click += ReInitButtonClicked;
|
||||
OpenLogButton.Click += OpenLogButtonClicked;
|
||||
}
|
||||
|
||||
private async void TestDataButtonClicked(object? sender, RoutedEventArgs e)
|
||||
{
|
||||
var result = await DialogHelper.ShowConfirmationDialog("Are you sure you want to insert test data into the database?");
|
||||
if (!result) return;
|
||||
|
||||
try
|
||||
{
|
||||
var toriel = new Critter
|
||||
{
|
||||
Name = "Toriel",
|
||||
DateOfBirth = new DateTime(2018, 07, 04),
|
||||
Gender = Gender.Female,
|
||||
Notes = "The very first goat on the farm, found on July 4th 2019 abandoned on the roadside. Named after Toriel from Undertale.",
|
||||
};
|
||||
await DatabaseService.AddCritter(toriel);
|
||||
|
||||
var polities = new Critter()
|
||||
{
|
||||
Name = "Polities",
|
||||
DateOfBirth = new DateTime(2024, 01, 01),
|
||||
Gender = Gender.Male,
|
||||
Notes = "The first pure bred Nigerian Dwarf purchased on the farm. Named after Polities from Homer's Odyssey.",
|
||||
};
|
||||
await DatabaseService.AddCritter(polities);
|
||||
|
||||
var torielId = DatabaseService.GetCritter("Toriel").Id;
|
||||
var poliId = DatabaseService.GetCritter("Polities").Id;
|
||||
|
||||
var jessie = new Critter
|
||||
{
|
||||
Name = "Jessie",
|
||||
DateOfBirth = new DateTime(2025, 04, 05),
|
||||
Gender = Gender.Male,
|
||||
Notes = "Polities' first son. Named after Jessie from The Last Of Us.",
|
||||
|
||||
};
|
||||
await DatabaseService.AddCritter(jessie);
|
||||
|
||||
}
|
||||
catch (Exception exception)
|
||||
{
|
||||
await DialogHelper.ShowMessage($"[ERROR] {exception.Message}");
|
||||
Logger.LogToFile($"[ERROR] {exception.Message}");
|
||||
}
|
||||
}
|
||||
|
||||
private void OpenLogButtonClicked(object? sender, RoutedEventArgs args)
|
||||
{
|
||||
Sys.Navigation?.PushPage(new LogPage());
|
||||
@@ -30,6 +77,9 @@ public partial class TestPage : Page
|
||||
|
||||
private async void ClearDbButtonClicked(object? sender, RoutedEventArgs args)
|
||||
{
|
||||
var result = await DialogHelper.ShowConfirmationDialog("Are you sure you want to clear the database?");
|
||||
if (!result) return;
|
||||
|
||||
try
|
||||
{
|
||||
await DatabaseService.ClearAllTables();
|
||||
@@ -41,10 +91,6 @@ public partial class TestPage : Page
|
||||
}
|
||||
}
|
||||
|
||||
private async void ReInitButtonClicked(object? sender, RoutedEventArgs e)
|
||||
{
|
||||
await DatabaseService.Init();
|
||||
}
|
||||
|
||||
public override void Refresh()
|
||||
{
|
||||
@@ -55,6 +101,8 @@ public partial class TestPage : Page
|
||||
|
||||
protected override void ClearConnections()
|
||||
{
|
||||
|
||||
// TestDataButton.Click -= TestDataButtonClicked;
|
||||
// ClearDbButton.Click -= ClearDbButtonClicked;
|
||||
// OpenLogButton.Click -= OpenLogButtonClicked;
|
||||
}
|
||||
}
|
||||
@@ -79,6 +79,14 @@ public static class DatabaseService
|
||||
return _db?.GetAsync<Critter>(id).Result;
|
||||
}
|
||||
|
||||
public static async Task<Critter?> GetCritter(string name)
|
||||
{
|
||||
await Init();
|
||||
return await _db?.Table<Critter>()
|
||||
.Where(c => c.Name == name)
|
||||
.FirstOrDefaultAsync()!;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Document operations
|
||||
|
||||
Reference in New Issue
Block a user