using CommunityToolkit.Mvvm.ComponentModel;
using SQLite;
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.ComponentModel;
using System.Linq;
using System.Runtime.CompilerServices;
using System.Text;
using System.Threading.Tasks;

namespace LSFE.MobApp.Entities
{
    public partial class SyncEntity : ObservableObject
    {
        private DateTime _lastSyncedAt = DateTime.MinValue;
        private bool _needsSync = false;

        // Sync tracking properties
        [Column("LastSyncedAt")]
        public DateTime LastSyncedAt
        {
            get => _lastSyncedAt;
            set
            {
                _lastSyncedAt = value;
                OnPropertyChanged();
            }
        }

        [Column("NeedsSync"), NotNull]
        public bool NeedsSync
        {
            get => _needsSync;
            set
            {
                _needsSync = value;
                OnPropertyChanged();
            }
        }
    }
}