12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- using System.Collections.Generic;
- using System.ComponentModel;
- using System.Runtime.CompilerServices;
- using InABox.Core;
- namespace comal.timesheets
- {
-
- public abstract class CoreDataModelItem : INotifyPropertyChanged
- {
-
- #region INotifyPropertyChanged
-
- public event PropertyChangedEventHandler PropertyChanged;
-
- protected void DoPropertyChanged(string propertyName)
- {
- PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
- }
-
- protected bool SetProperty<T>(ref T field, T value, [CallerMemberName] string propertyName = null)
- {
- if (EqualityComparer<T>.Default.Equals(field, value)) return false;
- field = value;
- DoPropertyChanged(propertyName);
- return true;
- }
-
- #endregion
-
- protected virtual void RowChanged()
- {
-
- }
-
- private CoreRow _row = null;
- public CoreRow Row
- {
- get => _row;
- set
- {
- _row = value;
- RowChanged();
- }
- }
-
- public ICoreDataModel Parent { get; set; }
-
- }
- }
|