202 lines
5.6 KiB
Plaintext
202 lines
5.6 KiB
Plaintext
*--------------------------------------------------------------------------------------------------------------------------------------------------------
|
|
* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!!
|
|
*--------------------------------------------------------------------------------------------------------------------------------------------------------
|
|
*< FOXBIN2PRG: Version="1.21" SourceFile="_cus_odata_base.vcx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries)
|
|
*
|
|
*
|
|
DEFINE CLASS _cusodatabase AS _custom OF "_baza.vcx"
|
|
*< CLASSDATA: Baseclass="custom" Timestamp="" Scale="Pixels" Uniqueid="" />
|
|
|
|
*<DefinedPropArrayMethod>
|
|
*m: confirma_salvare
|
|
*m: do_deschide_tranzactie
|
|
*m: do_inchide_tranzactie
|
|
*m: make_sql
|
|
*m: salvare
|
|
*m: validare
|
|
*p: cactiune
|
|
*p: ccursor_detalii && Se completeaza in cazul in care trebuie salvat capul de tabel o data cu detaliile ( ex.: nom_retetar si nom_retetar_elemente )
|
|
*p: csql
|
|
*p: lsalvareconfirmata
|
|
*p: lsilent
|
|
*</DefinedPropArrayMethod>
|
|
|
|
*<PropValue>
|
|
cactiune = INSERT
|
|
ccursor_detalii =
|
|
csql =
|
|
Height = 18
|
|
lsalvareconfirmata = .F.
|
|
lsilent = .F.
|
|
Name = "_cusodatabase"
|
|
Width = 21
|
|
*</PropValue>
|
|
|
|
PROCEDURE confirma_salvare
|
|
Private buton
|
|
Local lcActiune,lcMesaj,lcTitlu,lcImagine,lcTip,loFrmIntreb
|
|
buton = 1
|
|
lcMesaj = ''
|
|
lcTitlu = ''
|
|
lcImagine = [intreb.ico]
|
|
lcTip = [Intrebare]
|
|
lcActiune = Upper(Alltrim(This.cactiune))
|
|
Do Case
|
|
Case lcActiune = "INSERT"
|
|
lcMesaj = "Doriţi să adăugaţi înregistrarea?"
|
|
lcTitlu = "Adăugare"
|
|
* lnOptiuni = 4 + 32
|
|
Case lcActiune = "UPDATE"
|
|
lcMesaj = "Doriţi să salvaţi modificările?"
|
|
lcTitlu = "Modificare"
|
|
* lnOptiuni = 4 + 32
|
|
Case lcActiune = "DELETE"
|
|
lcMesaj = "Doriţi să ştergeţi înregistrarea?"
|
|
lcTitlu = "Ştergere"
|
|
* lnOptiuni = 4 + 32 + 512
|
|
Case lcActiune = "LOCAL"
|
|
lcMesaj = "Doriţi să salvaţi datele?"
|
|
lcTitlu = "Salvare"
|
|
* lnOptiuni = 4 + 32
|
|
Endcase
|
|
loFrmIntreb = Createobject('frm_mesaj',lcTitlu,lcImagine,lcTip,lcMesaj)
|
|
loFrmIntreb.Show(1)
|
|
If buton = 1
|
|
This.lsalvareconfirmata = .T.
|
|
Else
|
|
This.lsalvareconfirmata = .F.
|
|
Endif
|
|
Release lcActiune,lcMesaj,lcTitlu,lcImagine,lcTip,loFrmIntreb,buton
|
|
ENDPROC
|
|
|
|
PROCEDURE do_deschide_tranzactie
|
|
Local llReturn
|
|
If Type('goExecutor')='O'
|
|
goExecutor.oExecuta([select * from dual])
|
|
Endif
|
|
lnSucces = SQLSetprop(gnHandle,"Transactions",2)
|
|
If lnSucces < 0
|
|
amessagebox("Programul nu a reusit sa treaca pe tranzactie manuala! Reintrati in program si incercati din nou!",48,"Atentie")
|
|
llReturn = .F.
|
|
Else
|
|
llReturn = .T.
|
|
Endif
|
|
Return llReturn
|
|
ENDPROC
|
|
|
|
PROCEDURE do_inchide_tranzactie
|
|
Lparameters tnTip
|
|
Local llReturn,lnSucces,lcExplicatie
|
|
If tnTip = 1
|
|
lnSucces = Sqlcommit(gnHandle)
|
|
lcExplicatie = [COMMIT]
|
|
Else
|
|
lnSucces = Sqlrollback(gnHandle)
|
|
lcExplicatie = [ROLLBACK]
|
|
Endif
|
|
If lnSucces < 0
|
|
amessagebox("Eroare la "+lcExplicatie+"!",48,"Atentie")
|
|
llReturn = .F.
|
|
Else
|
|
lnSucces = SQLSetprop(gnHandle,"Transactions",1)
|
|
If lnSucces < 0
|
|
amessagebox('Programul nu a reusit sa treaca pe tranzactie automata. Iesiti din program si intrati din nou!',0+48,'Atentie!')
|
|
llReturn = .F.
|
|
Else
|
|
llReturn = .T.
|
|
Endif
|
|
Endif
|
|
Return llReturn
|
|
ENDPROC
|
|
|
|
PROCEDURE make_sql
|
|
ENDPROC
|
|
|
|
PROCEDURE salvare
|
|
*!* 23.01.2020
|
|
*!* marius.mutu
|
|
*!* am adaugat poRec sa il pot folosi in This.makesql
|
|
|
|
Lparameters toRec,tnId
|
|
Local llSucces, lnSucces, lcActiune, lcSql, llConditie, lcTextEroare
|
|
PRIVATE poRec
|
|
poRec = toRec
|
|
llSucces = .T.
|
|
lnSucces = -1
|
|
If This.lSilent
|
|
This.lsalvareconfirmata = .T.
|
|
Else
|
|
This.confirma_salvare()
|
|
Endif
|
|
|
|
* pnId, pnIdUtil se folosesc in DELETE
|
|
IF TYPE('pnId') = 'U'
|
|
PRIVATE pnId
|
|
pnId = m.tnId
|
|
ENDIF
|
|
IF TYPE('pnIdUtil') = 'U'
|
|
PRIVATE pnIdUtil
|
|
pnIdUtil = m.gnIdUtil
|
|
ENDIF
|
|
|
|
If This.lsalvareconfirmata
|
|
PNIESIRE=1
|
|
gnButon = 1
|
|
If This.validare()
|
|
This.make_sql(toRec,tnId)
|
|
lcActiune = Upper(Alltrim(This.cactiune))
|
|
lcSql = Alltrim(This.csql)
|
|
llConditie = 'INSERT'$Upper(lcSql) Or 'UPDATE'$Upper(lcSql) Or 'DELETE'$Upper(lcSql) Or 'BEGIN'$Upper(lcSql)
|
|
If llConditie
|
|
lnSucces = goExecutor.oExecute(lcSql)
|
|
If lnSucces < 0
|
|
lcTextEroare = goExecutor.oPrelucrareEroare()
|
|
Do Case
|
|
Case lcActiune = "INSERT"
|
|
lcMesaj = "Inregistrarea nu a fost adaugata." + Chr(13) + Chr(10) + lcTextEroare
|
|
lcTitlu = "Adăugare"
|
|
Case lcActiune = "UPDATE"
|
|
lcMesaj = "Inregistrarea nu a fost modificata." + Chr(13) + Chr(10) + lcTextEroare
|
|
lcTitlu = "Modificare"
|
|
Case lcActiune = "DELETE"
|
|
lcMesaj = "Inregistrarea nu a fost stearsa." + Chr(13) + Chr(10) + lcTextEroare
|
|
lcTitlu = "Ştergere"
|
|
Endcase
|
|
lcimagine = [info_c.ico]
|
|
lctip = [Informare]
|
|
AMESSAGE(lcMesaj,0+16,lctip)
|
|
llSucces = .F.
|
|
Endif
|
|
|
|
If lnSucces >=1 And lcActiune = "DELETE"
|
|
lcTitlu = "Stergere"
|
|
lctip = [Informare]
|
|
lcimagine = [info_c.ico]
|
|
lcMesaj = "Inregistrarea a fost stearsa!"
|
|
AMESSAGE(lcMesaj,0+48,lctip)
|
|
Endif
|
|
Endif
|
|
|
|
Endif
|
|
|
|
Else
|
|
PNIESIRE = 2
|
|
gnButon = 2
|
|
Endif
|
|
|
|
Return llSucces
|
|
ENDPROC
|
|
|
|
PROCEDURE validare
|
|
Lparameters toRec, tnId
|
|
Local llReturn
|
|
If This.cactiune = [LOCAL]
|
|
llReturn = .F.
|
|
Else
|
|
llReturn = .T.
|
|
Endif
|
|
Return llReturn
|
|
ENDPROC
|
|
|
|
ENDDEFINE
|