<%
Response.Buffer = true
permissao="write"
strMode = Request("mode")
If strMode = "comprar" Then
If Instr(request("codigo_produto"),"_") <> 0 Then
codigo_produto_puro = mid(request("codigo_produto"), 1, Instr(request("codigo_produto"),"_")-1)
Else
codigo_produto_puro = request("codigo_produto")
End If
temEstoque = Pega_DadoBanco("Produtos","quantidade_produto","codigo_produto",codigo_produto_puro)
If temEstoque <= 0 Then
Response.redirect "produtos_descricao.asp?codigo_produto="&codigo_produto_puro&"&temEstoque=no"
Response.End
End if
End If
If request("codigo_cor") <> "" Then
codigo_cor = "_c" & request("codigo_cor")
Else
codigo_cor = "_c" & "0"
End If
If request("codigo_cor") <> "" Then
codigo_cor = request("codigo_cor")
Else
codigo_cor = "0"
End If
If request("codigo_tamanho") <> "" Then
codigo_tamanho = request("codigo_tamanho")
Else
codigo_tamanho = "0"
End If
codigo_corTemp = "_c" & codigo_cor
codigo_tamanhoTemp = "_t" & codigo_tamanho
AdicionalCods = codigo_corTemp & codigo_tamanhoTemp
codigo_produto = Trim(request("codigo_produto") & AdicionalCods)
If session("id_transacao") = "" Then
session("id_transacao") = Gerar_id_transacao(session.sessionID)
End if
If strMode = "delete" or strMode = "updateItem" Then
Select Case strMode
Case "updateItem"
If VerificaExistenciaArquivo(Application("DiretorioPedidos")&session("id_transacao")&".xml") Then
altera_xmlpedidos session("id_transacao")
Else
Response.redirect "carrinho_vazio.asp"
Response.End
End If
Case "delete"
If VerificaExistenciaArquivo(Application("DiretorioPedidos")&session("id_transacao")&".xml") Then
deleteItem_xmlpedidos session("id_transacao"), request("codigo_produto"),"atualiza_quantidades"
If pegaValorAtrib(Application("XMLArquivoConfiguracao"),"dados/configuracao_dados","Estoque") = "sim" Then
Call Atualiza_Estoque(request("codigo_produto"),"delete",request("quantidade_produto"),"0")
End if
End If
End Select
Response.redirect "carrinho.asp"
Response.End
ElseIf strMode = "comprar" Then
Set RS_Produto = CreateObject("ADODB.Recordset")
Set RS_Produto.ActiveConnection = Conexao
RS_Produto.CursorLocation = 3
RS_Produto.CursorType = 0
RS_Produto.LockType = 3
RS_Produto.Open "SELECT codigo_produto, codigo_categoria, nome_produto, quantidade_produto, preco_unitario, desconto, peso, data_inicio, data_fim FROM Produtos WHERE codigo_produto=" & request("codigo_produto") & " AND sigla_idioma= '" & varLang & "'", Conexao
Set RS_Cambios = CreateObject("ADODB.Recordset")
Set RS_Cambios.ActiveConnection = Conexao
RS_Cambios.CursorLocation = 3
RS_Cambios.CursorType = 0
RS_Cambios.LockType = 1
RS_Cambios.Open "SELECT valor_moeda, simbolo_moeda FROM IdiomaseCambios WHERE sigla_idioma='"&varLang&"'", Conexao
VarValor_Cambio = RS_Cambios("valor_moeda")
VarSimbolo_Moeda = RS_Cambios("simbolo_moeda")
Session("Valor_Cambio") = VarValor_Cambio
RS_Cambios.Close
Set RS_Cambios = Nothing
'Calcula o valor bruto do produto conforma cambio selecionado
valor_produto = FormatNumber(RS_Produto("preco_unitario")/(VarValor_Cambio),2)
'Verifica se existe alguma promoção de desconto para o produto e calcula o valor final.
If pegavalor_promocao(valor_produto,RS_Produto) < FormatCurrency(valor_produto) Then
valor_produto = pegavalor_promocao(valor_produto,RS_Produto)
End If
'Se não existir registro e valor promocional o produto assume o valor cadastrado.
If valor_produto = "" Then
valor_produto = FormatNumber(RS_Produto("preco_unitario")/(VarValor_Cambio),2)
End If
VarPreco_unitario = valor_produto*(VarValor_Cambio)
VarCodigo_produto=RS_Produto("codigo_produto") & AdicionalCods
VarCodigo_categoria = RS_Produto("codigo_categoria")
VarNome_produto = RS_Produto("nome_produto")
VarQuantidade_produto = "1"
VarDesconto = RS_Produto("desconto")
VarPeso = RS_Produto("peso")
VarCor = codigo_cor
VarTamanho = codigo_tamanho
Call Cria_pedidoTemp(session("id_transacao"),VarCodigo_produto,VarCodigo_categoria,VarNome_produto,VarQuantidade_produto,VarPreco_unitario,VarDesconto,VarPeso,VarCor,VarTamanho,varLang,VarSimbolo_Moeda,VarValor_Cambio)
If pegaValorAtrib(Application("XMLArquivoConfiguracao"),"dados/configuracao_dados","Estoque") = "sim" Then
Call Atualiza_Estoque(VarCodigo_produto,"novo",VarQuantidade_produto,vazio)
End If
RS_Produto.close
Set RS_Produto = Nothing
Response.redirect "carrinho.asp"
Response.End
End If
If CDbl(Application("DiasCookie")) <> CDbl("0") Then
'Grava o id_transacao deste pedido em um cookie.
response.cookies(Application("nomeConfiguracao"))("data") = now
response.cookies(Application("nomeConfiguracao"))("id_transacao") = session("id_transacao")
response.cookies(Application("nomeConfiguracao")).expires = now + Application("DiasCookie")
Else
response.cookies(Application("nomeConfiguracao")).expires = Now - 5
End If
' Caso esta página seja chamada diretamente sem item de de compra ou o arquivo XML do pedido não for localizado
' haverá um redirecionamento para página de carrinho vázio.
If Not VerificaExistenciaArquivo(Application("DiretorioPedidos")&session("id_transacao")&".xml") Then
Response.redirect ("carrinho_vazio.asp")
Response.End
End If
%>
<%
'Monta uma pre-visulizacao da forma de pagamento, caso exista para a mesma
If application("CalculoFrete") = "sim" Then
Call Mostra_frete()
Else
Session("frete_gratuito") = "ativo"
End if
If Session("valor_frete") > FormatNumber("0") Or Session("frete_gratuito") = "ativo" Then
%>
<%
Else
%>
<%
End if
If (Request("mode") = "changeItem") Or (Request("mode") = "updateItem") Then
If (Request("meio_pgto") <> "") Then %>
<%
ElseIf (Session("forma_pagamento") <> "") Then
%>
<%
End If
End If
%>