Пример #1
0
        /*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);
            }
        }
Пример #2
0
        /*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);
            }
        }
Пример #3
0
        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);
            }
        }