-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathquery9.c
57 lines (44 loc) · 1.25 KB
/
query9.c
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
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <glib.h>
#include "gestaoFilial.h"
#include "catClientes.h"
#include "userData.h"
static int clientBuyProdFilialNAux(void * client, void * gestClient, void * data) {
INFOPROD info;
char* prod = getData2(data);;
int mes, exists = 0;
info = lookupProdutoCliente((GESTAOCLIENTE) gestClient, prod);
if (info != NULL) {
for(mes = 0; mes < 12; mes++)
if(getQuant(info, mes, 'N') != 0)
exists = 1;
if(exists) insert_Cat_cliente(getData1(data), client);
}
return FALSE;
}
static int clientBuyProdFilialPAux(void * client, void * gestClient, void * data) {
INFOPROD info;
char* prod = getData2(data);
int mes, exists = 0;
info = lookupProdutoCliente((GESTAOCLIENTE) gestClient, prod);
if (info != NULL) {
for(mes = 0; mes < 12; mes++)
if(getQuant(info, mes, 'P') != 0)
exists = 1;
if(exists) insert_Cat_cliente(getData1(data), client);
}
return FALSE;
}
CAT_CLIENTES clientBuyProdFilial(GESTAOFILIAL gf, char* prod, char promo) {
CAT_CLIENTES clients;
clients = new_Cat_cliente();
DATA d;
d = data(clients, prod);
if (promo == 'N')
traverseGestFilial(gf, clientBuyProdFilialNAux, d);
else
traverseGestFilial(gf, clientBuyProdFilialPAux, d);
return clients;
}