public void GrantInitializeEntityDelegate(IEntityInitializer initializer) { initializer.AcceptInitializeDelegate((Guid id, Guid revision, Guid? author, DateTime created, DateTime updated, IEnumerable <EntityFieldValue> fields) => { this.Id = id; this.Revision = revision; this.Author = author; this.Created = created; this.Updated = updated; foreach (EntityFieldValue field in fields) { if (field == null) { continue; } if (field.Property == null) { throw new Exception(string.Format("property is null for {0}", field.Field.Name)); } if (field.Property.SetMethod == null) { throw new MissingFieldSetMethodException(this.GetType(), field.Field.Name); } field.Property.SetValue(this, field.Value); } }); }
protected virtual void OnParameterChanged(object parameter) { if (Entity != null && IsNew()) { Remove(Entity); } IEntityInitializer <TEntity, TUnitOfWork> entityInitializer = parameter as IEntityInitializer <TEntity, TUnitOfWork>; if (entityInitializer != null) { Entity = CreateEntity(); InitializeEntity(entityInitializer); } else if (parameter is TPrimaryKey) { this.parameter = parameter; Entity = Repository.Find((TPrimaryKey)parameter); } else if (parameter == null) { Entity = CreateEntity(); } else { Entity = null; } }
/// <summary> /// /// </summary> /// <param name="initAtom"></param> /// <param name="entityInitializer"></param> public void OnInit(DictionaryAtom initAtom, IEntityInitializer entityInitializer) { EntityInitializer = entityInitializer; InitializationAtom = initAtom; var recycleFrequency = initAtom.GetInt("RecycleFrequency"); Validation.Validate <ArgumentOutOfRangeException>(recycleFrequency > 0); Log.DebugFormat("EntityManager initialized with Recycle Frequency of {0}", recycleFrequency); _recycler.Timer.Interval = recycleFrequency; EventManager.RegisterListener(this, typeof(OnGameInitialize), Instance_OnGameInitialize); }
protected virtual void OnParameterChanged(object parameter) { IEntityInitializer <TEntity, TUnitOfWork> initializer = parameter as IEntityInitializer <TEntity, TUnitOfWork>; if (initializer != null) { Entity = CreateEntity(); InitializeEntity(initializer); } else if (parameter is TPrimaryKey) { Entity = Repository.Find((TPrimaryKey)parameter); } else { Entity = null; } }
void InitializeEntity(IEntityInitializer <TEntity, TUnitOfWork> entityInitializer) { entityInitializer.InitializeEntity(UnitOfWork, Entity); this.RaisePropertyChanged(x => x.Entity); }
public void Add(IEntityInitializer <TEntity> property) { _initializers.Add(property); }
public EntityFactory(ITableConfig table, IEntityInitializer initializer) { this.Table = table; this.Initializer = initializer; }
public EntityFactory(ITableConfig table, IEntityInitializer initializer, IEntityPopulator populator) : this(table, initializer) { this.Populator = populator; }