using System.ComponentModel;

namespace SWRIS.Dtos
{
    public class KeyAndValueDto : INotifyPropertyChanged
    {
        private int? key;
        private string value;
        public int? Key
        {
            get { return key; }
            set { key = value; OnPropertyChanged("Key"); }
        }
        public string Value
        {
            get { return this.value; }
            set { this.value = value; OnPropertyChanged("Value"); }
        }

        public event PropertyChangedEventHandler PropertyChanged;

        protected internal virtual void OnPropertyChanged(string propertyName)
        {
            PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
        }
    }
    public class KeyAndValueWithChecked : KeyAndValueDto
    {
        private bool isChecked;
 
        public bool IsChecked {
            get { return isChecked; }
            set { isChecked = value; OnPropertyChanged("IsChecked"); }
        }       
    }
}
