PageRenderTime 43ms CodeModel.GetById 15ms RepoModel.GetById 1ms app.codeStats 0ms

/include_exibe_produtos_em_promocao.asp

http://eletromotriz.googlecode.com/
ASP | 241 lines | 225 code | 13 blank | 3 comment | 0 complexity | 56db0b20b8250df4bfbbc22dd757480e MD5 | raw file
Possible License(s): LGPL-2.1
  1. <link href="estilos/index.css" rel="stylesheet" type="text/css">
  2. <TABLE cellSpacing=0 cellPadding=0 width=150 border=0>
  3. <TBODY>
  4. <TR>
  5. <TD colSpan=3><IMG src="imagens/antes_em_promocao.gif" width="150" height="41"></TD>
  6. </TR>
  7. <TR>
  8. <TD class="v8 preto2 b" align=middle> <TABLE width=150 border=0 align=left cellPadding=0 cellSpacing=5 bgcolor="#F7F7F7">
  9. <TBODY>
  10. <TR>
  11. <TD height="18" vAlign=top class=secoes_titulo_red>
  12. <%
  13. 'Se for preciso fazer um novo sorteio dos produtos
  14. If Application("te_sortear_index_produtos_em_promocao") = True Or Application("te_index_exibe_produtos_em_promocao") = "" Or Now() > Application("te_time_index_sorteio_produtos_em_promocao") Then
  15. texto = ""
  16. ComandoSQL = "SELECT * FROM secoes WHERE exibir = True AND sortear_produtos_promocao = True ORDER BY ordem_exibicao ASC, titulo_texto ASC"
  17. Set objRS_secoes = Server.CreateObject("ADODB.Recordset")
  18. objRS_secoes.CursorLocation = 2
  19. objRS_secoes.CursorType = 1
  20. objRS_secoes.LockType = 1
  21. objRS_secoes.Open ComandoSQL, objCon,,, &H0001
  22. If Not objRS_secoes.EOF Then
  23. x = 0
  24. texto = texto & "<table border=0 align=center cellpadding=0 cellspacing=5 width='100%'>"
  25. texto = texto & "</tr>"
  26. While Not objRS_secoes.EOF
  27. Set objRS_produtos = Server.CreateObject("ADODB.Recordset")
  28. objRS_produtos.CursorLocation = 2
  29. objRS_produtos.CursorType = 1
  30. objRS_produtos.LockType = 1
  31. ComandoSQL = "SELECT COUNT(*) as total FROM produtos WHERE exibir = True AND secao = " & objRS_secoes("id") & " AND prioridade_destaque = 2 AND prioridade_destaque > 0 AND promocao_inicio <= Date() AND promocao_final >= Date()"
  32. objRS_produtos.Open ComandoSQL, objCon,,, &H0001
  33. Recno = objRS_produtos("total")
  34. objRS_produtos.Close
  35. 'Se n?o forem encontrados produtos com prioridade definida nesta secao
  36. If Int(Recno) < Int(3) Then
  37. ComandoSQL = "SELECT COUNT(*) as total FROM produtos WHERE exibir = True AND secao = " & objRS_secoes("id") & " AND prioridade_destaque > 0 AND promocao_inicio <= Date() AND promocao_final >= Date()"
  38. objRS_produtos.Open ComandoSQL, objCon,,, &H0001
  39. Recno = objRS_produtos("total")
  40. objRS_produtos.Close
  41. 'Se o número de produtos encontrados for maior que o dobro do número especificado
  42. If Int(Recno) > Int(3) Then
  43. ComandoSQL = "SELECT * FROM produtos WHERE exibir = True AND secao = " & objRS_secoes("id") & " AND prioridade_destaque > 0 AND promocao_inicio <= Date() AND promocao_final >= Date()"
  44. objRS_produtos.Open ComandoSQL, objCon,,, &H0001
  45. sorteados = ""
  46. For i = 1 to 2
  47. randomize()
  48. n = 0
  49. While n = 0
  50. n = Int(Recno *Rnd)
  51. If InStr(sorteados,"-" & n & "-") Then
  52. n = 0
  53. Else
  54. sorteados = sorteados & "-" & n & "-"
  55. objRS_produtos.MoveFirst
  56. If Int(n) <> 0 Then
  57. objRS_produtos.Move n
  58. End If
  59. End If
  60. Wend
  61. ComandoSQL = ComandoSQL & " OR id = " & objRS_produtos("id")
  62. Next
  63. objRS_produtos.Close
  64. Else
  65. ComandoSQL = "SELECT * FROM produtos WHERE exibir = True AND secao = " & objRS_secoes("id") & " AND promocao_inicio <= Date() AND promocao_final >= Date()"
  66. End If
  67. Else
  68. ComandoSQL = "SELECT * FROM produtos WHERE exibir = True AND secao = " & objRS_secoes("id") & " AND prioridade_destaque = 2 AND prioridade_destaque > 0 AND promocao_inicio <= Date() AND promocao_final >= Date()"
  69. objRS_produtos.Open ComandoSQL, objCon,,, &H0001
  70. ComandoSQL = "SELECT * FROM produtos WHERE 1<>1 "
  71. sorteados = ""
  72. For i = 1 to 2
  73. randomize()
  74. n = 0
  75. While n = 0
  76. n = Int(Recno *Rnd)
  77. If InStr(sorteados,"-" & n & "-") Then
  78. n = 0
  79. Else
  80. sorteados = sorteados & "-" & n & "-"
  81. objRS_produtos.MoveFirst
  82. If Int(n) <> 0 Then
  83. objRS_produtos.Move n
  84. End If
  85. End If
  86. Wend
  87. ComandoSQL = ComandoSQL & " OR id = " & objRS_produtos("id")
  88. Next
  89. objRS_produtos.Close
  90. End If
  91. objRS_produtos.Open ComandoSQL, objCon,,, &H0001
  92. If Not objRS_produtos.EOF Then
  93. x = x + 1
  94. text = ""
  95. If x = 1 Then texto = texto & "<tr>"
  96. texto = texto & "<td class='secoes_titulo_red' valign=top>"
  97. texto = texto & "<b>&#8250;&nbsp;" & objRS_secoes("titulo_texto")
  98. texto = texto & "<table border=0 width='100%' align=center cellpadding=5 cellspacing=0 class='secoes_titulo_red'></b>"
  99. y = 0
  100. While Not objRS_produtos.EOF And y < 1
  101. texto = texto & "<tr>"
  102. texto = texto & "<td class='secoes_titulo' valign=top width='1%'>"
  103. texto = texto & "<a href='index1.asp?secao="& objRS_produtos("secao") & "&categoria=" & objRS_produtos("categoria") & "&subcategoria="& objRS_produtos("subcategoria") & "&id=" & objRS_produtos("id") & "' class='secoes_titulo'>"
  104. texto = texto & objRS_produtos("produto")
  105. texto = texto & "</a>: "
  106. cartao_parcelas = Application("te_parcelas_cartao_"&Application("te_exibir_opcoes_cartao"))
  107. cartao_iniciojuros = objRS_produtos(Application("te_exibir_opcoes_cartao")&"_iniciojuros")
  108. juros_cartao = ccur(Application("te_juros_cartao_"&Application("te_exibir_opcoes_cartao")))
  109. If objRS_produtos("promocao_inicio") <= Date() And objRS_produtos("promocao_final") >= Date() Then
  110. texto = texto & "<span class='valor_de_em_promocao'>de <strike>" & Application("te_moeda_sigla") & FormataValor(objRS_produtos("valor_venda")*Application("te_moeda_cotacao")) & "</strike></span>, " & VbCrLf
  111. texto = texto & "<span class='valor_em_promocao'>por " & Application("te_moeda_sigla") & FormataValor(objRS_produtos("promocao_valor")*Application("te_moeda_cotacao")) & "</span>" & VbCrLf
  112. If Application("te_CARTOES_disponivel") = True Then
  113. If Cint(cartao_iniciojuros) > 2 And cartao_parcelas > 0 Then
  114. For npar = 1 to cartao_parcelas
  115. valor = objRS_produtos("promocao_valor")
  116. If cartao_iniciojuros <= npar And cartao_iniciojuros <> 0 Then valor = (valor*(1+FormatNumber(juros_cartao))^npar)/npar Else valor = valor/npar
  117. If ccur(Application("te_limite_cartao_parcelamento")) >= ccur(valor) Then Exit For
  118. Next
  119. If Int(npar) > 2 Then
  120. If cartao_iniciojuros-1 < npar then
  121. texto = texto & ", <span class='no_cartao_em_promocao'>ou em " & cartao_iniciojuros-1 & "x sem juros de " & Application("te_moeda_sigla") & FormataValor((objRS_produtos("promocao_valor")/(cartao_iniciojuros-1))*Application("te_moeda_cotacao")) & " no cart?o</span>"
  122. Else
  123. texto = texto & ", <span class='no_cartao_em_promocao'>ou em " & npar-1 & "x sem juros de " & Application("te_moeda_sigla") & FormataValor((objRS_produtos("valor_venda")/(npar-1))*Application("te_moeda_cotacao")) & " no cart?o</span>"
  124. End If
  125. End If
  126. Set npar = Nothing
  127. ElseIf Cint(cartao_iniciojuros) = 1 Or Cint(cartao_iniciojuros) = 2 And cartao_parcelas > 0 Then
  128. For npar = 1 to cartao_parcelas
  129. valor = objRS_produtos("promocao_valor")
  130. If cartao_iniciojuros <= npar And cartao_iniciojuros <> 0 Then valor = (valor*(1+FormatNumber(juros_cartao))^npar)/npar Else valor = valor/npar
  131. If ccur(Application("te_limite_cartao_parcelamento")) >= ccur(valor) Then Exit For
  132. Next
  133. If Int(npar) > 2 Then
  134. texto = texto & ", <span class='no_cartao_em_promocao'>ou em " & npar-1 & "x no cart?o</span>"
  135. End If
  136. Set npar = Nothing
  137. ElseIf Cint(cartao_iniciojuros) = 0 And cartao_parcelas > 0 Then
  138. For npar = 1 to cartao_parcelas
  139. valor = objRS_produtos("promocao_valor")
  140. If cartao_iniciojuros <= npar And cartao_iniciojuros <> 0 Then valor = (valor*(1+FormatNumber(juros_cartao))^npar)/npar Else valor = valor/npar
  141. If ccur(Application("te_limite_cartao_parcelamento")) >= ccur(valor) Then Exit For
  142. Next
  143. If Int(npar) > 2 Then
  144. texto = texto & ", <span class='no_cartao_em_promocao'>ou em " & npar-1 & "x sem juros no cart?o</span>"
  145. End If
  146. Set npar = Nothing
  147. End If
  148. End If
  149. Else
  150. texto = texto & "<span class='valor_em_promocao'>" & Application("te_moeda_sigla") & FormataValor(objRS_produtos("valor_venda")*Application("te_moeda_cotacao")) & "</span>" & VbCrLf
  151. If Application("te_CARTOES_disponivel") = True Then
  152. If Cint(cartao_iniciojuros) > 2 And cartao_parcelas > 0 Then
  153. For npar = 1 to cartao_parcelas
  154. valor = objRS_produtos("valor_venda")
  155. If cartao_iniciojuros <= npar And cartao_iniciojuros <> 0 Then valor = (valor*(1+FormatNumber(juros_cartao))^npar)/npar Else valor = valor/npar
  156. If ccur(Application("te_limite_cartao_parcelamento")) >= ccur(valor) Then Exit For
  157. Next
  158. If Int(npar) > 2 Then
  159. If cartao_iniciojuros-1 < npar then
  160. texto = texto & ", <span class='no_cartao_em_promocao'>ou em " & cartao_iniciojuros-1 & "x sem juros de " & Application("te_moeda_sigla") & FormataValor((objRS_produtos("valor_venda")/(cartao_iniciojuros-1))*Application("te_moeda_cotacao")) & " no cart?o</span>"
  161. Else
  162. texto = texto & ", <span class='no_cartao_em_promocao'>ou em " & npar-1 & "x sem juros de " & Application("te_moeda_sigla") & FormataValor((objRS_produtos("valor_venda")/(npar-1))*Application("te_moeda_cotacao")) & " no cart?o</span>"
  163. End If
  164. End If
  165. Set npar = Nothing
  166. ElseIf Cint(cartao_iniciojuros) = 1 Or Cint(cartao_iniciojuros) = 2 And cartao_parcelas > 0 Then
  167. For npar = 1 to cartao_parcelas
  168. valor = objRS_produtos("valor_venda")
  169. If cartao_iniciojuros <= npar And cartao_iniciojuros <> 0 Then valor = (valor*(1+FormatNumber(juros_cartao))^npar)/npar Else valor = valor/npar
  170. If ccur(Application("te_limite_cartao_parcelamento")) >= ccur(valor) Then Exit For
  171. Next
  172. If Int(npar) > 2 Then
  173. texto = texto & ", <span class='no_cartao_em_promocao'>ou em " & npar-1 & "x no cart?o</span>"
  174. End If
  175. Set npar = Nothing
  176. ElseIf Cint(cartao_iniciojuros) = 0 And cartao_parcelas > 0 Then
  177. For npar = 1 to cartao_parcelas
  178. valor = objRS_produtos("valor_venda")
  179. If cartao_iniciojuros <= npar And cartao_iniciojuros <> 0 Then valor = (valor*(1+FormatNumber(juros_cartao))^npar)/npar Else valor = valor/npar
  180. If ccur(Application("te_limite_cartao_parcelamento")) >= ccur(valor) Then Exit For
  181. Next
  182. If Int(npar) > 2 Then
  183. texto = texto & ", <span class='no_cartao_em_promocao'>ou em " & npar-1 & "x sem juros no cart?o</span>"
  184. End If
  185. Set npar = Nothing
  186. End If
  187. End If
  188. End If
  189. texto = texto & "</td>"
  190. texto = texto & "<tr>"
  191. y = y + 1
  192. objRS_produtos.MoveNext
  193. Wend
  194. texto = texto & "</table>"
  195. texto = texto & "</td>"
  196. If x = 1 Then
  197. texto = texto & "<tr>"
  198. texto = texto & "</tr>"
  199. x = 0
  200. End If
  201. End If
  202. objRS_produtos.Close
  203. Set ComandoSQL = Nothing
  204. Set objRS_produtos = Nothing
  205. objRS_secoes.MoveNext
  206. Wend
  207. texto = texto & "</table>"
  208. End If
  209. objRS_secoes.Close
  210. Set ComandoSQL = Nothing
  211. Set objRS_secoes = Nothing
  212. Application.Lock()
  213. Application("te_time_index_sorteio_produtos_em_promocao") = Now() + ((1/24/60/60)*Application("te_index_tempo_sorteio"))
  214. Application("te_index_exibe_produtos_em_promocao") = texto
  215. Application("te_sortear_index_produtos_em_promocao") = False
  216. Application.UnLock()
  217. End If
  218. Response.Write Application("te_index_exibe_produtos_em_promocao")
  219. %>
  220. </TD>
  221. </TBODY>
  222. </TABLE></TD>
  223. <TD width=1></TD>
  224. </TR>
  225. <TR>
  226. <TD colSpan=3><IMG src="imagens/depois_em_promocao.gif" width="150" height="20" ></TD>
  227. </TR>
  228. </TBODY>