using System; using System.Collections.Generic; using Kreta.Framework.Collections; using Kreta.Framework.Collections.Generic; namespace Kreta.Framework.Entities.Generic { /// /// Entitások adatbázisműveleteit végző objektumának őse /// public abstract class EntityDataAccessor : IEntityDataAccessor, IEntityDataAccessor where EntityType : Kreta.Framework.Entities.Entity { protected abstract IEntityDBHelper dbhelper { get; } /// /// Beállítja a létrehozóját egy entitásnak /// /// A beállítandó entitás protected void SetEntityCreator(EntityType entity, DateTime timestamp, int uniqueidentifier) { entity.EntityCreated = timestamp; entity.EntityCreator = uniqueidentifier; //entity.EntitySubsCreator = UserContext.Instance.SubstituteEmployeePrintName; } /// /// Beállítja a módosítóját egy entitásnak /// /// A beállítandó entitás protected void SetEntityModifier(EntityType entity, DateTime timestamp, int uniqueidentifier) { entity.EntityLastChanged = timestamp; entity.EntityModifier = uniqueidentifier; //entity.EntitySubsLastModifier = UserContext.Instance.SubstituteEmployeePrintName; } #region ISDAEntityDataAccessor Members public abstract bool LoadEntity(EntityType entity, int entityId); public virtual bool FilteredLoadEntity(EntityType entity, int entityId, ColumnFilterMode columnFilterMode, IEnumerable columns) { return LoadEntity(entity, entityId); } public abstract void LoadWithFilter(IEntityCollection collection, string filter, Dictionary commandParameters); public virtual void LoadWithFilter(IEntityCollection collection, string filter, ColumnFilterMode columnFilterMode, IEnumerable columns, Dictionary commandParameters) { LoadWithFilter(collection, filter, commandParameters); } public abstract void InsertEntity(EntityType entity); public abstract bool UpdateEntity(EntityType entity); public abstract bool UpdateAssociations(EntityType entity); public abstract void DeleteEntity(EntityType entity, bool logikai = true); #endregion #region IEntityDataAccessor Members bool IEntityDataAccessor.LoadEntity(Entity entity, int entityId) { return LoadEntity((EntityType)entity, entityId); } bool IEntityDataAccessor.FilteredLoadEntity(Entity entity, int entityId, ColumnFilterMode columnFilterMode, IEnumerable columns) { return FilteredLoadEntity((EntityType)entity, entityId, columnFilterMode, columns); } void IEntityDataAccessor.LoadWithFilter(IEntityCollection collection, string filter, Dictionary commandParameters) { LoadWithFilter((IEntityCollection)collection, filter, commandParameters); } void IEntityDataAccessor.InsertEntity(Entity entity) { InsertEntity((EntityType)entity); } bool IEntityDataAccessor.UpdateEntity(Entity entity) { return UpdateEntity((EntityType)entity); } bool IEntityDataAccessor.UpdateAssociations(Entity entity) { return UpdateAssociations((EntityType)entity); } void IEntityDataAccessor.DeleteEntity(Entity entity, bool logikai) { DeleteEntity((EntityType)entity, logikai); } #endregion } }