/*DEPRECATED - ABANDONA O CARRINHO*/ public void AbandonarCarrinho(int cartId) { CarrinhoDAL carrinhoDAL = new CarrinhoDAL(conStr); EstoqueDAL estoqueDAL = new EstoqueDAL(conStr); try { //Obtem o carrinho Carrinho carrinho = carrinhoDAL.dbObterCarrinho(cartId); //Status do carrinho fica como abandonado carrinhoDAL.dbAbandonarCarrinho(carrinho.ID); //Muda o status dos produtos do carrinho para available novamente foreach (ItemEstoque item in carrinho.Produtos) { estoqueDAL.dbAlterarStatusProduto(item.ID, "AVAILABLE"); } } catch (Exception ex) { throw new Exception(ex.Message); } }
/*REMOVE UM PRODUTO DO CARRINHO*/ public void RemoverProduto(int cartItemId) { try { CarrinhoDAL carrinhoDAL = new CarrinhoDAL(conStr); EstoqueDAL estoqueDAL = new EstoqueDAL(conStr); //Remove o produto do carrinho carrinhoDAL.dbRemoverProduto(ObterCarrinhoAtivo().ID, cartItemId); //Altera o status do produto no estoque para 'AVAILABLE', tendo sido removido do carrinho estoqueDAL.dbAlterarStatusProduto(cartItemId, "AVAILABLE"); //Atualiza a sessão AtualizaCarrinho(); } catch (Exception ex) { throw new Exception(ex.Message); } }
public void CheckoutCarrinho() { CarrinhoDAL carrinhoDAL = new CarrinhoDAL(conStr); TransacaoDAL transacaoDAL = new TransacaoDAL(conStr); EstoqueDAL estoqueDAL = new EstoqueDAL(conStr); try { int idCarrinho = ObterCarrinhoAtivo().ID; int? idCupom = ObterCarrinhoAtivo().Cupom != null ? ObterCarrinhoAtivo().Cupom.ID : (int?)null; //Se todos os produtos dentro do carrinho ainda estão disponiveis para a venda if (RevisaoCarrinho()) { //Modifica o status do carrinho para convertido carrinhoDAL.dbAlterarStatus(idCarrinho, "CONVERTED"); //Modifica o status dos items do estoque para vendido foreach (ItemEstoque item in ObterCarrinhoAtivo().Produtos) { estoqueDAL.dbAlterarStatusProduto(item.ID, "SOLD"); } //Insere a transação na base; transacaoDAL.dbInserirTransacao(idCarrinho, ObterCarrinhoAtivo().ValorTotal(), idCupom); } else { //TODO - FUNCAO DE RECUPERACAO DE INTEGRIDADE; //1 - BUSCA OS PRODUTOS QUE ESTÃO VENDIDOS NO CARRINHO; //2 - REMOVE ELES DO CARRINHO //3 - PEDE DESCULPA } } catch (Exception ex) { throw new Exception(ex.Message); } }