-
Notifications
You must be signed in to change notification settings - Fork 7
Expand file tree
/
Copy pathMainWindowViewModel.cs
More file actions
64 lines (59 loc) · 1.78 KB
/
Copy pathMainWindowViewModel.cs
File metadata and controls
64 lines (59 loc) · 1.78 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
using System.ComponentModel;
using System.Runtime.CompilerServices;
using PowerSync.Common.Client;
namespace PowersyncDotnetTodoList.ViewModels
{
public class MainWindowViewModel : ViewModelBase
{
#region Fields
private readonly PowerSyncDatabase _db;
private bool _connected = false;
#endregion
#region Properties
public bool Connected
{
get => _connected;
set
{
if (_connected != value)
{
_connected = value;
OnPropertyChanged();
}
}
}
#endregion
#region Constructor
public MainWindowViewModel(PowerSyncDatabase db)
{
try
{
if (db == null)
{
Console.WriteLine("ERROR: PowerSyncDatabase is null!");
throw new ArgumentNullException(nameof(db));
}
_db = db;
Console.WriteLine("PowerSyncDatabase assigned successfully");
_db.RunListener(
(update) =>
{
Console.WriteLine(
$"Listener callback triggered: StatusChanged = {update.StatusChanged?.Connected}"
);
if (update.StatusChanged != null)
{
Connected = update.StatusChanged.Connected;
}
}
);
}
catch (Exception ex)
{
Console.WriteLine($"ERROR in MainWindowViewModel constructor: {ex}");
throw;
}
}
#endregion
}
}