Clique aqui para ler este artigo em pdf
Clique aqui para ler todos os artigos desta edição
Loja Virtual com Visual Studio 2005 e SQL Server 2005 Express
Finalizaremos nosso curso da loja virtual nessa edição, implementando a finalização do carrinho de compras e dando a opção do usuário efetuar o pagamento, via boleto bancário ou cartão de crédito.
Veremos também como adicionar segurança à aplicação, onde somente usuários logados poderão realizar as compras, adicionando produtos no carrinho. Abra o projeto da loja virtual e acesse a página do carrinho de compras.
Finalizando a compra
Primeiramente, Vamos implementar a finalização das compras do carrinho. Para isso, vamos criar duas Stored Procedures, que serão responsáveis pela inserção dos dados da venda e dos
itens.
Acesse o banco de dados da aplicação, através do Server Explorer, clique com o botão direito no item Stored Procedures e escolha Add Stored Procedure. Será aberta uma janela para codificação da mesma (Figura 1)
Crie duas procedures de acordo com o código da Listagem 1.
Figura 1. Criando uma Stored Procedure no IDE do Visual Studio 2005
Note que a spInsertVendas retornará o código inserido na venda (@@identity), assim podemos manipulá-lo quando inserir os itens, sem a necessidade de consultas no banco para saber a venda inserida.
Acesse a página do carrinho de compras e clique no Finalizar Compras. No evento Click adicione o código da Listagem 2.
Com o código da listagem anterior, adicionamos no banco os dados a venda e os itens da mesma. O parâmetro ID_USUARIO refere-se ao usuário que comprou os produtos. Adicione manualmente um usuário no banco, pois implementaremos o login, mais adiante na aplicação.
Veja que no final, atribuímos a uma variável de sessão o valor do total do carrinho, bem como finalizamos o DataSet em memória e redirecionamos para a tela onde o usuário escolherá o
tipo de pagamento.
Crie um nova página chamada “finish.aspx”. Adicione alguns controles, conforme a Figura 2.
Temos um Label para mostrar o total das compras e um DropDownList com os itens “Boleto” e “Cartão de Crédito”. No Page_Load da página adicione o seguinte código:
lblTotal.Text = string.Format(“{0}”, Session[“TOTAL”]);
Estamos adicionando no Label o valor do total das compras (formatado para aparecer como moeda).
Listagem 1. Criando Stored Procedures da aplicação
CREATE PROCEDURE dbo.spInsertVendas
(
@ID_USUARIO int,
@VALOR_VENDA decimal
)
AS
INSERT INTO VENDA (ID_USUARIO, DATA_VENDA, VALOR_VENDA)
VALUES (@ID_USUARIO, GetDate(), @VALOR_VENDA)
select distinct @@identity as retorno from ID_VENDA
CREATE PROCEDURE dbo.spInsertItensVenda
(
@ID_VENDA int,
@ID_PRODUTO int,
@QUANTIDADE int,
...