using System.Collections.Generic; using Kreta.Framework.Collections; namespace Kreta.Framework.Entities { /// /// Entitások adatbázisműveleteit végző objektumának felülete. /// public interface IEntityDataAccessor { /// /// Betölti egy entitás állapotát az adatbázisból. /// /// A betöltendő entitás /// Az entitás adatbázisbeli azonosítója /// True, ha sikeres; egyébként False bool LoadEntity(Entity entity, int entityId); /// /// Oszlopszűrten beltölti egy entitás állapotát az adatbázisból /// /// A betöltendő entitás /// Az entitás adatbázisbeli azonosítója /// A szűrés módja, megengedő vagy tiltó /// A szűrendő oszlopok felsorolása /// True, ha sikeres; egyébként False bool FilteredLoadEntity(Entity entity, int entityId, ColumnFilterMode columnFilterMode, IEnumerable columns); /// /// Betölt egy entitás listát a megadott szűrő feltétellel. /// /// A feltöltendő lista /// A szűrő SQL töredék void LoadWithFilter(IEntityCollection collection, string filter, Dictionary commandParameters); /// /// Létrehoz egy új entitás példányt az adatbázisban. /// /// A létrehozandó entitás void InsertEntity(Entity entity); /// /// Módosít egy entitás példányt az adatbázisban. /// /// A módosítandó entitás /// True, ha sikeres; egyébként false bool UpdateEntity(Entity entity); /// /// Módosítja egy entitás példány asszociációs kapcsolómezőit az adatbázisban. /// /// A módosítandó entitás /// True, ha sikeres; egyébként false bool UpdateAssociations(Entity entity); /// /// Töröl egy entitás példányt az adatbázisból. /// /// A törlendő entitás void DeleteEntity(Entity entity, bool logikai = true); } }