using System.Collections.Generic; using Kreta.Framework.Collections.Generic; namespace Kreta.Framework.Entities.Generic { /// /// Entitások adatbázisműveleteit végző objektumának felülete. /// public interface IEntityDataAccessor where EntityType : Kreta.Framework.Entities.Entity { /// /// 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(EntityType 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(EntityType 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 /// a szűrőben megadott paraméterek commandBinding atalakitasa void LoadWithFilter(IEntityCollection collection, string filter, Dictionary commandParameters); /// /// Oszlopszűrten betölt egy entitás listát a megadott szűrő feltétellel. /// /// A feltöltendő lista /// A szűrő SQL töredék /// A szűrés módja, megengedő vagy tiltó /// A szűrendő oszlopok felsorolása /// a szűrőben megadott paraméterek commandBinding atalakitasa void LoadWithFilter(IEntityCollection collection, string filter, ColumnFilterMode columnFilterMode, IEnumerable columns, Dictionary commandParameters); /// /// Létrehoz egy új entitás példányt az adatbázisban. /// /// A létrehozandó entitás void InsertEntity(EntityType 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(EntityType 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(EntityType entity); /// /// Töröl egy entitás példányt az adatbázisból. /// /// A törlendő entitás /// Logikai törlés (Archiv flag) void DeleteEntity(EntityType entity, bool logikai = true); } }