| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276 |
-
- /*------------------------------------------------------------------------
- File : queryHandler
- Purpose :
- Syntax :
- Description :
- Author(s) : walter.riechsteiner
- Created : Wed Jul 10 18:09:37 CEST 2024
- Notes :
- ----------------------------------------------------------------------*/
- USING Progress.Json.ObjectModel.JsonObject FROM PROPATH.
- USING OpenEdge.Net.HTTP.IHttpRequest FROM PROPATH.
- USING System.Drawing.CharacterRange FROM ASSEMBLY.
- CLASS utilities.selectboxHandler:
- DEFINE VARIABLE i1 AS INTEGER NO-UNDO.
- DEFINE VARIABLE i2 AS INTEGER NO-UNDO.
-
- /*------------------------------------------------------------------------------
- Purpose:
- Notes:
- ------------------------------------------------------------------------------*/
- METHOD PUBLIC HANDLE getSelboxCompany( INPUT cFileName AS CHARACTER ):
-
- DEFINE VARIABLE cttBufferName AS CHARACTER NO-UNDO.
-
- DEFINE VARIABLE httSelect AS HANDLE NO-UNDO.
- DEFINE VARIABLE httBuffer AS HANDLE NO-UNDO.
-
- cttBufferName = SUBSTITUTE('&1_company', cFileName).
-
- CREATE TEMP-TABLE httSelect.
- httSelect:ADD-NEW-FIELD('value', 'character').
- httSelect:ADD-NEW-FIELD('label', 'character').
- httSelect:TEMP-TABLE-PREPARE (cttBufferName).
- httBuffer = httSelect:DEFAULT-BUFFER-HANDLE.
- FOR EACH companies NO-LOCK
- WHERE companies.active :
- httBuffer:BUFFER-CREATE ().
- ASSIGN
- httBuffer:BUFFER-FIELD('value'):BUFFER-VALUE = companies.company
- httBuffer:BUFFER-FIELD('label'):BUFFER-VALUE = companies.company_name.
- END.
- RETURN httBuffer.
- END METHOD.
- /*------------------------------------------------------------------------------
- Purpose:
- Notes:
- ------------------------------------------------------------------------------*/
- METHOD PUBLIC HANDLE getSelboxLanguage( INPUT cFileName AS CHARACTER ):
-
- DEFINE VARIABLE cttBufferName AS CHARACTER NO-UNDO.
-
- DEFINE VARIABLE httSelect AS HANDLE NO-UNDO.
- DEFINE VARIABLE httBuffer AS HANDLE NO-UNDO.
-
- cttBufferName = SUBSTITUTE('&1_company', cFileName).
-
- CREATE TEMP-TABLE httSelect.
- httSelect:ADD-NEW-FIELD('value', 'integer' ).
- httSelect:ADD-NEW-FIELD('label', 'character' ).
- httSelect:TEMP-TABLE-PREPARE ('cttBufferName').
- httBuffer = httSelect:DEFAULT-BUFFER-HANDLE.
- FOR EACH languages NO-LOCK:
- httBuffer:BUFFER-CREATE ().
- ASSIGN
- httBuffer:BUFFER-FIELD('value'):BUFFER-VALUE = languages.language_id
- httBuffer:BUFFER-FIELD('label'):BUFFER-VALUE = languages.language_name.
- END.
- RETURN httBuffer.
- END METHOD.
- /*------------------------------------------------------------------------------
- Purpose:
- Notes:
- ------------------------------------------------------------------------------*/
- METHOD PUBLIC HANDLE getSelboxTables( INPUT cFileName AS CHARACTER ):
-
- DEFINE VARIABLE cttBufferName AS CHARACTER NO-UNDO.
-
- DEFINE VARIABLE httSelect AS HANDLE NO-UNDO.
- DEFINE VARIABLE httBuffer AS HANDLE NO-UNDO.
-
- cttBufferName = SUBSTITUTE('&1_table_name', cFileName).
- CREATE TEMP-TABLE httSelect.
- httSelect:ADD-NEW-FIELD('value', 'character' ).
- httSelect:ADD-NEW-FIELD('label', 'character' ).
- httSelect:TEMP-TABLE-PREPARE (cttBufferName).
- httBuffer = httSelect:DEFAULT-BUFFER-HANDLE.
- httBuffer:BUFFER-CREATE ().
- ASSIGN
- httBuffer:BUFFER-FIELD('value'):BUFFER-VALUE = 'table'
- httBuffer:BUFFER-FIELD('label'):BUFFER-VALUE = 'Default-Value (table)'.
- FOR EACH Ge_MIS._File NO-LOCK
- WHERE NOT Ge_MIS._File._File-Name BEGINS '_'
- AND NOT Ge_MIS._File._File-Name BEGINS 'SYS':
- httBuffer:BUFFER-CREATE ().
- ASSIGN
- httBuffer:BUFFER-FIELD('value'):BUFFER-VALUE = Ge_MIS._File._File-Name
- httBuffer:BUFFER-FIELD('label'):BUFFER-VALUE = Ge_MIS._File._File-Name.
- END.
- FOR EACH FRAMEWORK._File NO-LOCK
- WHERE NOT FRAMEWORK._File._File-Name BEGINS '_'
- AND NOT FRAMEWORK._File._File-Name BEGINS 'SYS':
- httBuffer:BUFFER-CREATE ().
- ASSIGN
- httBuffer:BUFFER-FIELD('value'):BUFFER-VALUE = FRAMEWORK._File._File-Name
- httBuffer:BUFFER-FIELD('label'):BUFFER-VALUE = FRAMEWORK._File._File-Name.
- END.
- RETURN httBuffer.
- END METHOD.
- /*------------------------------------------------------------------------------
- Purpose:
- Notes:
- ------------------------------------------------------------------------------*/
- METHOD PUBLIC HANDLE getSelboxUsers( INPUT cFileName AS CHARACTER ):
-
- DEFINE VARIABLE cttBufferName AS CHARACTER NO-UNDO.
-
- DEFINE VARIABLE httSelect AS HANDLE NO-UNDO.
- DEFINE VARIABLE httBuffer AS HANDLE NO-UNDO.
-
- cttBufferName = SUBSTITUTE('&1_user_name', cFileName).
- CREATE TEMP-TABLE httSelect.
- httSelect:ADD-NEW-FIELD('value', 'character' ).
- httSelect:ADD-NEW-FIELD('label', 'character' ).
- httSelect:TEMP-TABLE-PREPARE (cttBufferName).
- httBuffer = httSelect:DEFAULT-BUFFER-HANDLE.
-
- FOR EACH users NO-LOCK:
- httBuffer:BUFFER-CREATE ().
- ASSIGN
- httBuffer:BUFFER-FIELD('value'):BUFFER-VALUE = users.user_name
- httBuffer:BUFFER-FIELD('label'):BUFFER-VALUE = users.display_name.
- END.
- RETURN httBuffer.
- END METHOD.
- /*------------------------------------------------------------------------------
- Purpose:
- Notes:
- ------------------------------------------------------------------------------*/
- METHOD PUBLIC HANDLE getSelectBoxData(
- INPUT ipoIdent AS JsonObject,
- INPUT ipcFileName AS CHARACTER,
- INPUT ipcValueField AS CHARACTER,
- INPUT ipcLabelField AS CHARACTER
- ):
-
- DEFINE VARIABLE cttBufferName AS CHARACTER NO-UNDO.
-
- DEFINE VARIABLE httSelect AS HANDLE NO-UNDO.
- DEFINE VARIABLE httBuffer AS HANDLE NO-UNDO.
- DEFINE VARIABLE hBuffer AS HANDLE NO-UNDO.
- DEFINE VARIABLE hQuery AS HANDLE NO-UNDO.
- DEFINE VARIABLE hFeld AS HANDLE NO-UNDO.
- DEFINE VARIABLE lcompany AS LOGICAL NO-UNDO.
- DEFINE VARIABLE lactive AS LOGICAL NO-UNDO.
- DEFINE VARIABLE lwhere AS LOGICAL NO-UNDO.
- DEFINE VARIABLE cWhere AS CHARACTER NO-UNDO.
-
- cttBufferName = SUBSTITUTE('&1_&2', ipcFileName, ipcValueField).
- CREATE BUFFER hBuffer FOR TABLE ipcFileName.
- MESSAGE cttBufferName.
- IF ipcFileName <> 'companies' THEN
- DO:
- hFeld = hBuffer:BUFFER-FIELD('company'):HANDLE NO-ERROR.
- lcompany = (IF VALID-HANDLE(hFeld) THEN TRUE ELSE FALSE).
- END.
-
- hFeld = hBuffer:BUFFER-FIELD('active'):HANDLE NO-ERROR.
- lactive = (IF VALID-HANDLE(hFeld) THEN TRUE ELSE FALSE).
-
- CREATE TEMP-TABLE httSelect.
- httSelect:ADD-NEW-FIELD('value', 'character').
- httSelect:ADD-NEW-FIELD('label', 'character').
- httSelect:TEMP-TABLE-PREPARE (cttBufferName).
- httBuffer = httSelect:DEFAULT-BUFFER-HANDLE.
- MESSAGE 'lcompany = ' lcompany ' lactive = ' lactive.
- lWhere = (IF lcompany OR lactive THEN TRUE ELSE FALSE).
- cWhere = SUBSTITUTE('FOR EACH &1 NO-LOCK ', ipcFileName).
- IF lcompany THEN
- DO:
- cWhere = cWhere + SUBSTITUTE('&1 &2.company = &3 ', (IF lWhere THEN 'WHERE' ELSE 'AND'), ipcFileName, QUOTER(ipoIdent:getCharacter('company'))).
- lwhere = FALSE.
- END.
- IF lactive THEN
- DO:
- cWhere = cWhere + SUBSTITUTE('&1 &2.active = &3 ', (IF lWhere THEN 'WHERE' ELSE 'AND'), ipcFileName, TRUE ).
- lwhere = FALSE.
- END.
- MESSAGE cWhere.
-
- CREATE QUERY hQuery.
- hQuery:SET-BUFFERS(hBuffer).
- hQuery:QUERY-PREPARE (cWhere).
- hQuery:QUERY-OPEN().
- hQuery:GET-FIRST ().
- DO WHILE NOT hQuery:QUERY-OFF-END:
- httBuffer:BUFFER-CREATE ().
- ASSIGN
- httBuffer:BUFFER-FIELD('value'):BUFFER-VALUE = hBuffer:BUFFER-FIELD(ipcValueField):BUFFER-VALUE
- httBuffer:BUFFER-FIELD('label'):BUFFER-VALUE = hBuffer:BUFFER-FIELD(ipcLabelField):BUFFER-VALUE.
- hQuery:GET-NEXT ().
- END.
- // httBuffer:WRITE-JSON('FILE', 'C:\TEMP\httBuffer.json', TRUE).
- RETURN httBuffer.
- END METHOD.
- /*------------------------------------------------------------------------------
- Purpose:
- Notes:
- ------------------------------------------------------------------------------*/
- METHOD PUBLIC HANDLE getUserRoleSelect(
- INPUT ipccompany AS CHARACTER
- ):
-
- DEFINE VARIABLE httBuffer AS HANDLE NO-UNDO.
- CREATE BUFFER httBuffer.
- httBuffer:ADD-NEW-FIELD ('value', 'CHARACTER').
- httBuffer:ADD-NEW-FIELD ('label', 'CHARACTER').
- httBuffer:TEMP-TABLE-PREPARE ('users_role').
-
- httBuffer:BUFFER-CREATE().
- ASSIGN
- httBuffer:BUFFER-FIELD('value'):buffer-value = 'admin'
- httBuffer:BUFFER-FIELD('label'):buffer-value = 'admin'.
- httBuffer:BUFFER-CREATE().
- ASSIGN
- httBuffer:BUFFER-FIELD('value'):buffer-value = 'user'
- httBuffer:BUFFER-FIELD('label'):buffer-value = 'Benutzer'.
-
- RETURN httBuffer.
- END METHOD.
- /*------------------------------------------------------------------------------
- Purpose:
- Notes:
- ------------------------------------------------------------------------------*/
- DESTRUCTOR PUBLIC selectboxHandler ( ):
- MESSAGE 'Destructor selectboxHandler '.
- /* DELETE OBJECT hQuery NO-ERROR. */
- /* DELETE OBJECT hBuffer NO-ERROR. */
- END DESTRUCTOR.
- END CLASS.
|