-
Notifications
You must be signed in to change notification settings - Fork 3
/
parametroModel.go
104 lines (77 loc) · 2.11 KB
/
parametroModel.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
package models
import (
"github.com/tayron/integra-sistema/bootstrap/library/database"
)
type Parametro struct {
ID int
IntegracaoID int64
NomeParametroEntrada string
NomeParametroSaida string
}
// CriarTabelaParametro -
func CriarTabelaParametro() {
db := database.ObterConexao()
defer db.Close()
var sql string = `create table if not exists parametros (
id integer auto_increment,
integracao_id integer,
nome_parametro_entrada varchar(255),
nome_parametro_saida varchar(255),
criacao datetime DEFAULT CURRENT_TIMESTAMP,
alteracao datetime ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (id),
FOREIGN KEY (integracao_id) REFERENCES integracoes(id)
)`
database.ExecutarQuery(db, sql)
}
// Gravar -
func (p Parametro) Gravar() bool {
db := database.ObterConexao()
defer db.Close()
var sql string = `insert into parametros
(nome_parametro_entrada, nome_parametro_saida, integracao_id)
values (?, ?, ?)`
stmt, _ := db.Prepare(sql)
resultado, err := stmt.Exec(
p.NomeParametroEntrada,
p.NomeParametroSaida,
p.IntegracaoID)
numeroRegistrosAlterados, err := resultado.RowsAffected()
if err != nil {
panic(err)
}
if numeroRegistrosAlterados > 0 {
return true
}
return false
}
// Excluir -
func (p Parametro) Excluir() bool {
db := database.ObterConexao()
defer db.Close()
stmt, _ := db.Prepare("DELETE FROM parametros WHERE id = ?")
var _, err = stmt.Exec(p.ID)
if err != nil {
return false
}
return true
}
// BuscarPorIDIntegracao -
func (p Parametro) BuscarPorIDIntegracao(idIntegracao int64) []Parametro {
db := database.ObterConexao()
defer db.Close()
var sql string = `SELECT id, integracao_id, nome_parametro_entrada, nome_parametro_saida
FROM parametros WHERE integracao_id = ? ORDER BY id DESC`
rows, _ := db.Query(sql, idIntegracao)
defer rows.Close()
var listaParametro []Parametro
for rows.Next() {
var parametro Parametro
rows.Scan(¶metro.ID,
¶metro.IntegracaoID,
¶metro.NomeParametroEntrada,
¶metro.NomeParametroSaida)
listaParametro = append(listaParametro, parametro)
}
return listaParametro
}