1234567891011121314151617181920212223242526272829303132 |
- using System;
- using System.Linq.Expressions;
- using System.Runtime.CompilerServices;
- using InABox.Core;
- namespace comal.timesheets
- {
- public abstract class SingleDataModelItem<TEntity> : CoreDataModelItem
- where TEntity : Entity, IRemotable, IPersistent, new()
- {
- public TEntity Entity { get; private set; }
-
- protected override void RowChanged()
- {
- base.RowChanged();
- Entity = Row.ToObject<TEntity>();
- }
-
- protected void UpdateValue<T>(Expression<Func<TEntity, T>> expression, T value, bool notify = true, [CallerMemberName] string propertyName = "" )
- {
- Row.Set(expression, value);
- CoreUtils.SetPropertyValue(
- Entity,
- CoreUtils.GetFullPropertyName(expression, "."),
- value
- );
- if (notify)
- DoPropertyChanged(propertyName);
- }
- }
- }
|