/********************************************************************************
*********************************************************************************
*Projeto:	TCgertec
*Arquivo:	tabelas_Mysql.c
*Descrição:	Contém funções para o busca no banco de dados
*Data da Criação:	01/06/2006

*Revisão:	1.0
*Data:		01/06/2006
*Modificações:

**********************************************************************************
**********************************************************************************

Funções e procedimentos utilizados no arquivo

Preco SeekBarCode(MYSQL *conexao,char *barras,int *achou) - procura na tabela de preço
Bonus SeekBonus(char *filename,char *code,int *achou) - procura na tabela de bonus

********************************************************************************/

/*-------------------------------------------------------------------------------
			INCLUDES
-------------------------------------------------------------------------------*/

#include <stdio.h>
#include <string.h>

#include <mysql/mysql.h> // Biblioteca para o MySQL
#include "tabelas_Mysql.h" // possui os tipos de dados


/********************************************************************************
>>>>Preco SeekBarCode(MYSQL *conexao,char *barras,int *achou) <<<<
---------------------------------------------------------------------------------
*Função:	Preco SeekBarCode(MYSQL *conexao,char *barras,int *achou)
*Descrição:	Procura um código de barras

*Entrada:	conexao: conexao com o banco de dados
		barras: string com o código de barras lido

*Saída:		Retorna uma variável do tipo Preco com informações do produto pesquisado
		achou: variável para verificar se o código foi encontrado
			1 - produto foi encontrado
			0 - produto não foi encontrado

*Data da Criação:	01/06/2006
*Modificações:

*Obs:

********************************************************************************/
Preco SeekBarCode(MYSQL *conexao,char *barras,int *achou)
{
	MYSQL_RES *resp;
	MYSQL_ROW linha;

	char query[100];
	Preco prod; //variável que receberá informações dos produtos
	
	bzero(query,sizeof(query)); // limpa a string de query
	bzero(&prod,sizeof(Preco));
	
	sprintf(query,"SELECT * FROM %s WHERE %s = %s;",PRICE,BARCODEL,barras); //Monta a string de busca
	

	if (mysql_query(conexao,query))
	{
		*achou = 0;
		return prod;
	}

	resp = mysql_store_result(conexao); // recebe a consulta
	if (!resp)
	{
		*achou = 0;
		return prod;
	}

	linha = mysql_fetch_row(resp); // Separa o registro
	
	if (linha == NULL)
	{
		*achou = 0;
		return prod;
	}

	strncpy(prod.nome,linha[1],50);
	strncpy(prod.preco,linha[2],20);
	strncpy(prod.cor,linha[7],10);
	strncpy(prod.background,linha[8],10);
	
	if (linha[9]!= NULL)
	strcpy(prod.imagem1,linha[9]);
	
	if (linha[10]!=NULL)
	strcpy(prod.imagem2,linha[10]);
	
	if (linha[11]!=NULL)
	strcpy(prod.imagem3,linha[11]);
	
	prod.Xnome=atoi(linha[3]);
	prod.Ynome=atoi(linha[4]);
	prod.Xpreco=atoi(linha[5]);
	prod.Ypreco=atoi(linha[6]);
	
	*achou = 1;
	return prod;
} 

/********************************************************************************
>>>> Bonus SeekBonus(MYSQL *conexao,char *code,int *achou) <<<<
---------------------------------------------------------------------------------
*Função:	Bonus SeekBonus(MYSQL *conexao,char *code,int *achou)
*Descrição:	Procura um código de barras

*Entrada:	conexao: Conexao com o banco de dados
		code: string com o código do cartão ligo
*Saída:		Retorna uma variável do tipo Bonus
		achou: variável para verificar se o código foi encontrado
			1 - produto foi encontrado
			0 - produto não foi encontrado

*Data da Criação:	01/06/2006
*Modificações:

*Obs: o funcionamento desta função é semelhante a anterior

********************************************************************************/
Bonus SeekBonus(MYSQL *conexao,char *code,int *achou)
{
	MYSQL_RES *resp;
	MYSQL_ROW linha;
	
	char query[100];
	Bonus bonus; //variável que receberá informações dos produtos
	
	bzero(query,sizeof(query)); // limpa a string de query
	bzero(&bonus,sizeof(Bonus));
	
	sprintf(query,"SELECT * FROM %s WHERE %s = \"%s\";",CARD,CARDCODEL,code); //Monta a string de busca
	
	if (mysql_query(conexao,query))
	{
		*achou = 0;
		return bonus;
	}
	
	resp = mysql_store_result(conexao); // recebe a consulta
	if (!resp)
	{
		*achou = 0;
		return bonus;
	}
	
	linha = mysql_fetch_row(resp); // Separa o registro
	
	if (linha == NULL)
	{
		*achou = 0;
		return bonus;
	}
	
	strncpy(bonus.nome,linha[1],50);
	strncpy(bonus.bonus,linha[2],20);
	
	if ( linha[3] != NULL )
		strncpy(bonus.imagem,linha[3],255);
	
	*achou = 1;
	return bonus;
}
