Пример #1
0
        //implementar cancelar venda
        public Boolean CancelarVenda(int codigo)
        {
            Boolean retorno = true;
            //atualizar a tabela de venda
            SqlCommand cmd = new SqlCommand();

            cmd.Connection = conexao.ObjetoConexao;
            conexao.Conectar();
            conexao.IniciarTransacao();
            //cmd.Transaction = conexao.ObjetoTransacao;
            try
            {
                cmd.Transaction = conexao.ObjetoTransacao;
                cmd.CommandText = "update venda set ven_status='cancelada' where ven_cod = @codigo;";
                cmd.Parameters.AddWithValue("@codigo", codigo);
                cmd.ExecuteNonQuery();
                //substituir para o método do DALItensVenda
                // incrementar o estoque com os itens da venda cancelada
                //localiar os itens da venda
                DataTable tabela = new DataTable();

                SqlDataAdapter da = new SqlDataAdapter("select itv_cod, pro_cod, itv_qtde from itensvenda where ven_cod =" +
                                                       codigo.ToString(), conexao.StringConexao);
                da.Fill(tabela);
                //da.Dispose();
                //alterar a quantidade do estoque
                ModeloProduto produto;
                //DALConexao cxp = new DALConexao(DadosDaConexao.StringDeConexao);
                //DALProduto dalProduto = new DALProduto(cxp);
                DALProduto dalProduto = new DALProduto(conexao);
                for (int i = 0; i < tabela.Rows.Count; i++)
                {
                    produto         = dalProduto.CarregaModeloProduto(Convert.ToInt32(tabela.Rows[i]["pro_cod"]), true);
                    produto.ProQtde = produto.ProQtde + Convert.ToDouble(tabela.Rows[i]["itv_qtde"]);
                    dalProduto.Alterar(produto, true);
                }
                conexao.TerminarTransacao();
                conexao.Desconectar();
            }
            catch
            {
                conexao.CancelarTransacao();
                conexao.Desconectar();
                retorno = false;
            }
            return(retorno);
        }