1. Objekt skriptu OG.DataRow

    Článek: AN0002162Aktualizováno:: 29.03.2019

    Objekt nabízí funkce pro práci s daty.

    Funkce scriptu

    Název Popis
    DataRowList GetDataByFilter(DataRowFilter filter) Funkce vrátí záznamy odpovídající zadanému filtru.
    DataRowList GetDataByFilter(DbTransaction trans, DataRowFilter filter) Funkce vrátí záznamy odpovídající zadanému filtru.
    DataRowFilter GetDataRowFilter(int parentId) Funkce vrátí filtr s přednastaveným ParentId.
    DataRowFilter GetDataRowFilter(int parentId, int id) Funkce vrátí filtr s přednastaveným ParentId a Id.
    DataRowFilter GetDataRowFilter(Model m, string clqcode, int id) Funkce vrátí filtr s přednastaveným ParentId a Id. Třída/dotaz je hledán podle kódu clqcode.
    DataRow GetDataById(int parentId, int id) Funkce vrátí datový záznam prodle parentId a Id. Pokud takový záznam neexistuje je vráce no NULL.
    bool ExistRowByFilter(DataRowFilter filter) Funkce zjistí zda dle zadaného filtru existuje aspoň jeden datový záznam. Pokud existuje, je vráceno True jinak False.
    void SaveData(DataRow dataRow) Funkce uloží jeden záznam do databáze.
    void SaveData(DataRowList dataRowList, bool allInTransaction) Funkce uloží více záznamů s/bez transakce.
    void DeleteData(DbTransaction trans, int id, int parentId) Funkce smaže jeden záznam z databáze.
    DataRow CreateNew( int classDefId) Funkce vytvoří nový datový záznam a nastaví mu předka třídu. Záznam není uložen do databáze, jen se vytvoří jako objekt a funkce jej vrátí.
    DataRowList CreateNewList() Funkce vytvoří novou kolekci pro uložení objektů DataRow.
    DataRowList GetAllDataByCode(string mCode, string clqCode, bool onlyActive)

    Funkce vrátí všechny záznamy ze třídy nebo dotazu. Pomocí parametru onlyActive je možné vrátit pouze aktivní (nesmazané) záznamy.

    Funkce je např. vhodná pro načítání hodnot z číselníků.

    DataRowList GetAllDataByCode(Model m, string clqCode, bool onlyActive)

    Funkce vrátí všechny záznamy ze třídy nebo dotazu. Pomocí parametru onlyActive je možné vrátit pouze aktivní (nesmazané) záznamy.

    Funkce je např. vhodná pro načítání hodnot z číselníků.

    DataRow GetPersonDataRow(int personId) Funkce vrátí záznam pro zadaného uživatele z tabulky vlastností uživatelů.
    void PrepareFilterForOptimizeRead(DataRowFilter filter) Funkce inicializuje filtr pro optimalizaci čtení dat z databáze.
    int? SplitFullId(string fullId, int part)

    Funkce vrací část full id datového záznamu (Id třídy/dotazu nebo Id vlastního záznamu).

    Parametr part může nabývat hodnot:

    1 - je vráceno Id třídy/dotazu

    2 - je vráceno Id záznamu

    jiná hodnota - je vráceno NULL

    Pokud je zadáno chybné fullId, je vráceno NULL:

    void CreateTypeRowsint sourceTextColumnId, int sourceClasslinkColumnId, int destinationalTextColumnId) Funkce slouží pro extrakci hodnot do číselníku a aktualizaci propojovacího odkazu.
    DataRow GetDataRowByCode(DbTransaction trans, IClassDefBase dataParent, string value) Funkce vrátí záznam ze třídy, kde se sloupec s kódem "code" rovná hodnotě value.
    DataRow GetDataRowByCode(DbTransaction trans, IClassDefBase dataParent, string value, string code) Funkce vrátí záznam ze třídy, kde se sloupec s kódem dle parametru code rovná hodnotě value.
    ConditionBase AndCon(ConditionBase c1, ConditionBase c2) Funkce spojí dvě podmínky operátorem AND.
    ConditionBase AndCon(ConditionBase c1, ConditionBase c2, bool addEnvelope) Funkce spojí dvě podmínky operátorem AND. Parametr addEnvelope při TRUE podmínky zadalí do závorky.
    ConditionBase AndCon(ConditionBase c1, ConditionBase c2, ConditionBase c3, bool addEnvelope) Funkce spojí dvě podmínky operátorem AND. Parametr addEnvelope při TRUE podmínky zadalí do závorky.
    ConditionBase AndCon(ConditionBase c1, ConditionBase c2, ConditionBase c3, ConditionBase c4, bool addEnvelope) Funkce spojí dvě podmínky operátorem AND. Parametr addEnvelope při TRUE podmínky zadalí do závorky.
    ConditionBase OrCon(ConditionBase c1, ConditionBase c2) Funkce spojí dvě podmínky operátorem OR.
    ConditionBase OrCon(ConditionBase c1, ConditionBase c2, bool addEnvelope) Funkce spojí dvě podmínky operátorem OR. Parametr addEnvelope při TRUE podmínky zadalí do závorky.
    ConditionBase OrCon(ConditionBase c1, ConditionBase c2, ConditionBase c3, bool addEnvelope) Funkce spojí dvě podmínky operátorem OR. Parametr addEnvelope při TRUE podmínky zadalí do závorky.
    ConditionBase OrCon(ConditionBase c1, ConditionBase c2, ConditionBase c3, ConditionBase c4, bool addEnvelope) Funkce spojí dvě podmínky operátorem OR. Parametr addEnvelope při TRUE podmínky zadalí do závorky.
    ConditionBase NotCon(ConditionBase c) Funkce přidá před podmínku negaci.
    ConditionBase EnvelopeCon(ConditionBase c) Funkce obalí podmínku závorkou.
    ConditionEq CreateConEq(ColumnClassDef column, object value) Funkce vytvoří podmínku, kdy hodnota je stejná jako sloupec.
    ConditionGe CreateConGe(ColumnClassDef column, object value) Funkce vytvoří podmínku, kdy hodnota je větší nebo rovna než sloupec.
    ConditionGt CreateConGt(ColumnClassDef column, object value) Funkce vytvoří podmínku, kdy hodnota je větší než sloupec.
    ConditionLe CreateConLe(ColumnClassDef column, object value) Funkce vytvoří podmínku, kdy hodnota je menší nebo rovna než sloupec.
    ConditionLt CreateConLt(ColumnClassDef column, object value) Funkce vytvoří podmínku, kdy hodnota je menší než sloupec.
    ConditionIsNotNull CreateConIsNotNull(ColumnClassDef column) Funkce vytvoří podmínku, kdy sloupec není NULL.
    ConditionIsNull CreateConIsNull(ColumnClassDef column) Funkce vytvoří podmínku, kdy sloupec je NULL.
    ConditionSql CreateConSql(string sql) Funkce vytvoří podmínku, dle zadaného SQL.
    ConditionLike CreateConLike(ColumnClassDef column, string value) Funkce vytvoří podmínku kdy hodnota je obsažena ve sloupci. Hledání je provedeno funkcí LIKE ("sloupec like %hodnota%").
    ConditionLike CreateConLike(ColumnClassDef column, string value, bool startLike, bool endLike)

    Funkce vytvoří podmínku kdy hodnota je obsažena ve sloupci. Hledání je provedeno funkcí LIKE ("sloupec like hodnota").

    Parametr startLike přidá k hodnotě na začátek operátor %.

    Parametr endLike přidá k hodnotě na konec operátor %.

    ClassDefEntityType ClassDefEntityType_ClassDef Typ entity ClassDef. Hodnota se používá v DataRowFilter.
    ClassDefEntityType ClassDefEntityType_Query Typ entity Query. Hodnota se používá v DataRowFilter.

    Funkce GetDataRowByCode slouží pro rychlé dohledání záznamu z jiné třídy (např. stavu z číselníku). Ve třídě musí existovat textový sloupec, který má kód "code", podle něhož se záznam vyhledává. Druhá varianta funkce umožňuje v parametru code zadat kód sloupce, podle kterého se má hledání provádět.

    Tato funkce umožní vyhnout se tvorbě filtru a načítání dat ze třídy. Vše je tak možné zvládnout na jednom řádku skriptu.

     

    Funkce CreateNew vytvoří nový objekt typu DataRow, který je inicializován výchozími hodnotami a zároveň je pro sloupce s nastavenou sekvencí vygenerována nová hodnota ze sekvence.

     

    Metoda PrepareFilterForOptimizeRead zkontroluje vlastnosti PropertiesLoad a PropertiesLoad.ColumnIds a pokud jsou NULL, pak pro ně vytvoří instanci.

    Volání objektu

    OG.DataRow

×