IObjectPropertyAutoakce
Implementací rozhraní IObjectPropertyAutoAction ve skriptu aplikace můžete definovat vlastní akce, které jsou automaticky prováděny, když uživatel ručně upraví hodnotu vlastnosti objektu.
Metody rozhraní jsou volány také v obou variantách metody Alvao.API.AM.ObjectProperty.Update. Tyto metody nelze volat v běžící transakci (pokud je jejich volání nutné, nastavte parametr callCustomAction na false).
Pokud chcete v automatické akci použít pouze některé metody implementovaného rozhraní, ponechte v těle ostatních metod z rozhraní výjimku:
hodit novou NotImplementedException();
.
Metody rozhraní
| Metoda | Popis |
|---|---|
| Modifikace vlastnosti OnObjectPropertyification | Hodnota vlastnosti bude změněna. |
| OnObjectPropertyModifikováno | Hodnota vlastnosti byla změněna. |
OnObjectPropertyModifikace
Tato metoda se volá před uložením změněné hodnoty vlastnosti do databáze, např. v příkazu Modify (property).
- Syntaxe: ObjectPropertyModifyResult OnObjectPropertyModifying(ObjectPropertyEventArgs e)
- Parametry:
- e - parametry metody události vlastnosti
- ObjectId - ID objektu (tblNode.intNodeId), který je upravován.
- PropertyKindId - ID druhu vlastnosti (tblKind.intKindId) objektu, který je upravován.
- PersonId - ID uživatele (tPerson.iPersonId), který vyvolal akci.
- NewValue - nová hodnota vlastnosti.
- e - parametry metody události vlastnosti
- Vrácená hodnota:
- Úprava vlastnosti objektu
- Success (bool) - pokud metoda vrací true, nová hodnota je zapsána do databáze. Pokud metoda vrací false, operace není provedena a nadcházející změna hodnoty vlastnosti je stornonována.
- Message (string) - zpráva, která je uživateli zobrazena, pokud je návratová hodnota false.
Pro příklad viz CheckPhoneNumberFormat šablonu aplikace.
OnObjectPropertyModifikováno
Tato metoda je volána po zapsání nové hodnoty vlastnosti do databáze, například pomocí příkazu Upravit (vlastnost).
- Syntaxe: anulovat OnPropertyModified(ObjectPropertyEventArgs e)
- Parametry:
- e - parametry metody události vlastnosti
- ObjectId - ID objektu (tblNode.intNodeId), který je upravován.
- PropertyKindId - ID druhu vlastnosti (tblKind.intKindId) objektu, který je upravován.
- PersonId - ID uživatele (tPerson.iPersonId), který vyvolal akci.
- NewValue - nová hodnota vlastnosti.
- e - parametry metody události vlastnosti
- Vrátit hodnotu: žádný.
Pro příklad použití viz CopyNewPropertyValueToAnotherProperty šablonu aplikace.