Esempio n. 1
0
        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();
            try
            {
                cmd.Transaction = conexao.ObjetoTransacao;
                cmd.CommandText = "update venda set ven_status = 'cancelada' where ven_cod = @codigo;";
                cmd.Parameters.AddWithValue("@codigo", codigo);
                cmd.ExecuteNonQuery();
                //incrementar o estoque com os itens da venda cancelada
                //substituir para o metodo do DaoItensVenda
                //localizar 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();
                ModeloProduto produto;
                DaoConexao    cxp         = new DaoConexao(DadosDeConexao.StringDeConexao);
                DaoProduto    daoProduto1 = new DaoProduto(cxp);
                DaoProduto    daoProduto  = new DaoProduto(conexao);
                for (int i = 0; i < tabela.Rows.Count; i++)
                {
                    produto         = daoProduto1.CarregaModeloProduto(Convert.ToInt32(tabela.Rows[i]["pro_cod"]));
                    produto.ProQtde = produto.ProQtde + Convert.ToInt32(tabela.Rows[i]["itv_qtde"]);
                    daoProduto1.Alterar(produto);
                }
                conexao.TerminarTransacao();
                conexao.Desconectar();
            }
            catch
            {
                conexao.CancelarTransacao();
                conexao.Desconectar();
                retorno = false;
            }
            return(retorno);
        }