Files
Beyhan Oğur d5f52cc3d3 first commit
2026-09-03 04:45:36 +03:00

914 B

  • UI state properties follow the SetProperty(ref _field, value) pattern inherited from BaseViewModel, with filter setters additionally calling ApplyFilter() to re-query the database.
  • Commands are exposed as lazy-initialized read-only properties using ??= with new RelayCommand(...) / new RelayCommandAsync(...), guarded by a can-execute lambda over SelectedItem.
  • Background work uses Task.Run followed by .ContinueWith or _dispatcher.Invoke/_dispatcher.InvokeAsync to marshal results back onto the UI thread before touching ObservableCollections.
  • Long-running async operations wrap their body in try/catch/finally that sets Loading = false and surfaces errors through MessageBox.Show with localized Strings.Error.
  • LiteDB entities are plain POCOs annotated with [BsonId] and stored in collections created via database.GetCollection<T>("name") with EnsureIndex(x => x.Id).