diff --git a/critterfolio/CritterFolio/CritterFolio.Android/Resources/values/colors.xml b/critterfolio/CritterFolio/CritterFolio.Android/Resources/values/colors.xml index 59279d5..9df226b 100644 --- a/critterfolio/CritterFolio/CritterFolio.Android/Resources/values/colors.xml +++ b/critterfolio/CritterFolio/CritterFolio.Android/Resources/values/colors.xml @@ -1,4 +1,4 @@  - #FFFFFF + #1a1a1a diff --git a/critterfolio/CritterFolio/CritterFolio/DataModels/Critter.cs b/critterfolio/CritterFolio/CritterFolio/DataModels/Critter.cs new file mode 100644 index 0000000..88cfb60 --- /dev/null +++ b/critterfolio/CritterFolio/CritterFolio/DataModels/Critter.cs @@ -0,0 +1,21 @@ +using System; +using SQLite; + +namespace CritterFolio.DataModels; + +[Table("Critters")] +public class Critter +{ + [PrimaryKey, AutoIncrement] + public int Id { get; set; } + + public string ProfileImagePath { get; set; } = string.Empty; + public string Name { get; set; } = string.Empty; + public string Gender { get; set; } = string.Empty; + public DateTime DateOfBirth { get; set; } + + public int FatherId { get; set; } + public int MotherId { get; set; } + + public string Notes { get; set; } = string.Empty; +} \ No newline at end of file diff --git a/critterfolio/CritterFolio/CritterFolio/DataModels/Document.cs b/critterfolio/CritterFolio/CritterFolio/DataModels/Document.cs new file mode 100644 index 0000000..aa0802a --- /dev/null +++ b/critterfolio/CritterFolio/CritterFolio/DataModels/Document.cs @@ -0,0 +1,12 @@ +using SQLite; + +namespace CritterFolio.DataModels; + +[Table("Documents")] +public class Document +{ + [PrimaryKey, AutoIncrement] + public int Id { get; set; } + + public string Name { get; set; } +} \ No newline at end of file diff --git a/critterfolio/CritterFolio/CritterFolio/Pages/HomePage.axaml b/critterfolio/CritterFolio/CritterFolio/Pages/HomePage.axaml index a57f476..0fbba20 100644 --- a/critterfolio/CritterFolio/CritterFolio/Pages/HomePage.axaml +++ b/critterfolio/CritterFolio/CritterFolio/Pages/HomePage.axaml @@ -6,6 +6,6 @@ x:Class="CritterFolio.Pages.HomePage"> - + diff --git a/critterfolio/CritterFolio/CritterFolio/Pages/TestPage.axaml b/critterfolio/CritterFolio/CritterFolio/Pages/TestPage.axaml index a5f19a3..6d2a51c 100644 --- a/critterfolio/CritterFolio/CritterFolio/Pages/TestPage.axaml +++ b/critterfolio/CritterFolio/CritterFolio/Pages/TestPage.axaml @@ -4,5 +4,12 @@ xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450" x:Class="CritterFolio.Pages.TestPage"> - Test page! + + + + + + + + diff --git a/critterfolio/CritterFolio/CritterFolio/Services/DatabaseService.cs b/critterfolio/CritterFolio/CritterFolio/Services/DatabaseService.cs new file mode 100644 index 0000000..bda9e07 --- /dev/null +++ b/critterfolio/CritterFolio/CritterFolio/Services/DatabaseService.cs @@ -0,0 +1,32 @@ +using System; +using System.IO; +using System.Threading.Tasks; +using CritterFolio.DataModels; +using Microsoft.VisualBasic.FileIO; +using SQLite; + +namespace CritterFolio.Services; + +public static class DatabaseService +{ + private static SQLiteAsyncConnection? _db; + + public static async Task Init() + { + if (_db is not null) return; + + var databasePath = Path.Combine(AppContext.BaseDirectory, "CritterFolio.db"); + _db = new SQLiteAsyncConnection(databasePath); + + Console.WriteLine(databasePath); + + try + { + await _db.CreateTablesAsync(); + } + catch (Exception e) + { + Console.WriteLine(e); + } + } +} \ No newline at end of file diff --git a/critterfolio/CritterFolio/CritterFolio/Styles/MainStyles.axaml b/critterfolio/CritterFolio/CritterFolio/Styles/MainStyles.axaml index 84ce175..a9bbffb 100644 --- a/critterfolio/CritterFolio/CritterFolio/Styles/MainStyles.axaml +++ b/critterfolio/CritterFolio/CritterFolio/Styles/MainStyles.axaml @@ -5,10 +5,6 @@ - - + + diff --git a/critterfolio/CritterFolio/CritterFolio/Views/MainView.axaml b/critterfolio/CritterFolio/CritterFolio/Views/MainView.axaml index 94c6a81..2ce4812 100644 --- a/critterfolio/CritterFolio/CritterFolio/Views/MainView.axaml +++ b/critterfolio/CritterFolio/CritterFolio/Views/MainView.axaml @@ -16,7 +16,7 @@ - + diff --git a/critterfolio/CritterFolio/CritterFolio/Views/MainView.axaml.cs b/critterfolio/CritterFolio/CritterFolio/Views/MainView.axaml.cs index f3996e1..b9e4b0b 100644 --- a/critterfolio/CritterFolio/CritterFolio/Views/MainView.axaml.cs +++ b/critterfolio/CritterFolio/CritterFolio/Views/MainView.axaml.cs @@ -1,5 +1,6 @@ using Avalonia.Controls; using CritterFolio.Pages; +using CritterFolio.Services; namespace CritterFolio.Views; @@ -11,5 +12,7 @@ public partial class MainView : UserControl Sys.Navigation = Nav; Nav.Init(ScrollView); Nav.PushPage(new HomePage()); + + _ = DatabaseService.Init(); } } \ No newline at end of file