private void button2_Click(object sender, EventArgs e) { try { ModeloCompra modelo = new ModeloCompra(); modelo.Com_data = dateCompra.Value; modelo.Com_nfiscal = Convert.ToInt32(txtNotaFiscal.Text); modelo.Com_nparcelas = Convert.ToInt32(cbParcelas.Text); modelo.Com_status = "EFE"; modelo.For_cod = Convert.ToInt32(textBox2.Text); modelo.Tpa_cod = Convert.ToInt32(cbPagamento.SelectedValue); modelo.Com_total = Convert.ToDouble(txtTotal.Text); DALConexao conexao = new DALConexao(DadosDaConexao.StringDeConexao); BLLCompra compra = new BLLCompra(conexao); ModeloItensCompra itensCompra = new ModeloItensCompra(); BLLItensCompra dao = new BLLItensCompra(conexao); ModeloParcelasCompra parcelasCompra = new ModeloParcelasCompra(); BLLParcelasCompra daoParcelas = new BLLParcelasCompra(conexao); if (operacao == "inserir") { //cadastrar uma compra compra.Incluir(modelo); // cadastrar os itens da compra for (int i = 0; i < GridItens.RowCount; i++) { itensCompra.Itc_cod = i + 1; itensCompra.Com_cod = modelo.Com_cod; itensCompra.Pro_cod = Convert.ToInt32(GridItens.Rows[i].Cells[0].Value); itensCompra.Itc_qtde = Convert.ToInt32(GridItens.Rows[i].Cells[2].Value); itensCompra.Itc_valor = Convert.ToInt32(GridItens.Rows[i].Cells[3].Value); dao.Inserir(itensCompra); } //cadastrar as parcelas for (int i = 0; i < GridParcelas.RowCount; i++) { parcelasCompra.Com_cod = modelo.Com_cod; parcelasCompra.Pco_cod = Convert.ToInt32(GridParcelas.Rows[i].Cells[0].Value); parcelasCompra.Pco_valor = Convert.ToDouble(GridParcelas.Rows[i].Cells[1].Value); parcelasCompra.Pco_datavecto = Convert.ToDateTime(GridParcelas.Rows[i].Cells[2].Value); daoParcelas.Incluir(parcelasCompra); } MetroFramework.MetroMessageBox.Show(this, "Compra efetuada com sucesso", "OK", MessageBoxButtons.OK, MessageBoxIcon.Information); } else { compra.Alterar(modelo); } } catch (Exception ex) { throw new Exception(ex.Message); } }
//------------------------------------------------------------------------------------------------------------------- private void btSalvarParcela_Click(object sender, EventArgs e) { //criei a conexao SqlConnection cn = new SqlConnection(); cn.ConnectionString = DALDadosDoBanco.stringDeConexao; cn.Open(); //triar a transacao SqlTransaction tran = cn.BeginTransaction(); try { if (this.operacao == "inserir") { ModeloCompra compra = new ModeloCompra(); compra.com_nfiscal = Convert.ToInt32(txtNFiscal.Text); compra.for_cod = Convert.ToInt32(txtForCod.Text); compra.com_data = dtVenda.Value; compra.com_pagto_data = dtParcela.Value; if ((cbTipoPagamento.Text == "DINHEIRO") || (cbTipoPagamento.Text == "Dinheiro")) { compra.com_pagto_dinheiro = Convert.ToDouble(txtTotal.Text); } if ((cbTipoPagamento.Text == "CARTAO") || (cbTipoPagamento.Text == "CARTÃO") || (cbTipoPagamento.Text == "Cartão") || (cbTipoPagamento.Text == "Cartao")) { compra.com_pagto_cartao = Convert.ToDouble(txtTotal.Text); } compra.com_data = dtVenda.Value; compra.tpa_cod = Convert.ToInt32(cbTipoPagamento.SelectedValue); compra.com_nparcela = Convert.ToInt32(nupParcelas.Value); compra.com_status = 1; compra.com_pagto_total = Convert.ToDouble(txtTotal.Text); //inserindo a venda BLLCompra BLLcompra = new BLLCompra(); //BLLcompra.incluir(compra); BLLcompra.Incluir(compra, cn, tran); //inserir os itens ModeloItensCompra item = new ModeloItensCompra(); BLLItensCompra BllItem = new BLLItensCompra(); for (int i = 0; i < dgvItens.RowCount; i++) { item.itc_cod = i + 1; item.pro_cod = Convert.ToInt32(dgvItens.Rows[i].Cells[0].Value); item.com_cod = Convert.ToInt32(compra.com_cod); item.itc_qtde = Convert.ToInt32(dgvItens.Rows[i].Cells[2].Value); item.itc_valor = Convert.ToDouble(dgvItens.Rows[i].Cells[3].Value); //BllItem.incluir(item); BllItem.Incluir(item, cn, tran); } ModeloParcelascompra pc = new ModeloParcelascompra(); BLLParcelasCompra bllpc = new BLLParcelasCompra(); for (int i = 0; i < dgvParcelas.RowCount; i++) { pc.pco_cod = i + 1; pc.com_cod = compra.com_cod; pc.pco_valor = Convert.ToDouble(dgvParcelas.Rows[i].Cells[1].Value); pc.pco_datavecto = Convert.ToDateTime(dgvParcelas.Rows[i].Cells[2].Value); //bllpv.incluir(pv); bllpc.Incluir(pc, cn, tran); } tran.Commit(); MessageBox.Show("Registro incluido com sucesso \n Código Gerado: " + compra.com_cod, "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Information); } } catch (Exception erro) { tran.Rollback(); MessageBox.Show(erro.Message); } finally { cn.Close(); } this.LimpaTela(); this.alteraBotoes(1); pnFinalizaVenda.Visible = false; }
private void btSalvarParcela_Click(object sender, EventArgs e) { DAOConexao cx = new DAOConexao(DAOBanco.StringDeConexao); cx.Conectar(); cx.IniciarTransacao(); try { //leitura dos dados ModeloCompra modeloCompra = new ModeloCompra(); modeloCompra.ComData = dtDataCompra.Value; modeloCompra.ComNFiscal = Convert.ToInt32(txtNFiscal.Text); modeloCompra.ComNParcelas = Convert.ToInt32(cbNParcelas.Text); modeloCompra.ComStatus = "ativa"; modeloCompra.ComTotal = this.totalCompra; modeloCompra.ForCod = Convert.ToInt32(txtForCod.Text); modeloCompra.TpaCod = Convert.ToInt32(cbTpgto.SelectedValue); //obj para gravar os dados no banco //DAOConexao cx = new DAOConexao(DAOBanco.StringDeConexao); BLLCompra bll = new BLLCompra(cx); ModeloItensCompra mitens = new ModeloItensCompra(); BLLItensCompra bitens = new BLLItensCompra(cx); ModeloParcelasCompra mparcelas = new ModeloParcelasCompra(); BLLParcelasCompra bparcelas = new BLLParcelasCompra(cx); if (this.operacao == "inserir") { //cadastrar uma compra bll.Incluir(modeloCompra); //cadastrar os itens da compra for (int i = 0; i < dgvItens.RowCount; i++) { mitens.ItcCod = i + 1; mitens.ComCod = modeloCompra.ComCod; mitens.ProCod = Convert.ToInt32(dgvItens.Rows[i].Cells[0].Value); mitens.ItcQtde = Convert.ToDouble(dgvItens.Rows[i].Cells[2].Value); mitens.ItcValor = Convert.ToDouble(dgvItens.Rows[i].Cells[3].Value); bitens.Incluir(mitens); } //inserir os itens nas parcelas da compra for (int i = 0; i < dgvParcelas.RowCount; i++) { mparcelas.ComCod = modeloCompra.ComCod; mparcelas.PcoCod = Convert.ToInt32(dgvParcelas.Rows[i].Cells[0].Value); mparcelas.PcoValor = Convert.ToDouble(dgvParcelas.Rows[i].Cells[1].Value); mparcelas.PcoDataVecto = Convert.ToDateTime(dgvParcelas.Rows[i].Cells[2].Value); bparcelas.Incluir(mparcelas); } //cadastras as parcelas da compra MessageBox.Show("Compra efetuada: Código " + modeloCompra.ComCod.ToString()); } else { //alterar uma compra modeloCompra.ComCod = Convert.ToInt32(txtComCod.Text); bll.Alterar(modeloCompra); bitens.ExcluirTodosItens(modeloCompra.ComCod); //cadastrar os itens da compra for (int i = 0; i < dgvItens.RowCount; i++) { mitens.ItcCod = i + 1; mitens.ComCod = modeloCompra.ComCod; mitens.ProCod = Convert.ToInt32(dgvItens.Rows[i].Cells[0].Value); mitens.ItcQtde = Convert.ToDouble(dgvItens.Rows[i].Cells[2].Value); mitens.ItcValor = Convert.ToDouble(dgvItens.Rows[i].Cells[3].Value); bitens.Incluir(mitens); } bparcelas.ExcluirTodasParcelas(modeloCompra.ComCod); //inserir os itens nas parcelas da compra for (int i = 0; i < dgvParcelas.RowCount; i++) { mparcelas.ComCod = modeloCompra.ComCod; mparcelas.PcoCod = Convert.ToInt32(dgvParcelas.Rows[i].Cells[0].Value); mparcelas.PcoValor = Convert.ToDouble(dgvParcelas.Rows[i].Cells[1].Value); mparcelas.PcoDataVecto = Convert.ToDateTime(dgvParcelas.Rows[i].Cells[2].Value); bparcelas.Incluir(mparcelas); } MessageBox.Show("Cadastro alterado"); } this.LimpaTela(); pnFinalizaCompra.Visible = false; this.alteraBotoes(1); cx.TerminarTransacao(); cx.Desconectar(); } catch (Exception erro) { MessageBox.Show(erro.Message); cx.CancelarTransacao(); cx.Desconectar(); } }
//Salvar compra: //Vai movimentar dados nas 4 tabelas: //select* from compra //select* from itenscompra //select* from parcelascompra //select* from produto -- atualiza Qtd. através de um tigger private void btSalvarCompra_Click(object sender, EventArgs e) { //----------------------------------------------------------------------------------------------------------------------- //CONEXAO: //----------------------------------------------------------------------------------------------------------------------- //Conexão - obj para gravar os dados no banco DALConexao cx = new DALConexao(DadosDaConexao.StringDeConexao); //Recebe a string da conexão da classe DadosDaConexão try // conexao: { //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ //CONEXAO: INCIAR TRANSAÇÃO //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ cx.Conectar(); //CONECTAR NO BANCO - para poder usar a transação, tem que ser usado aénas uma conexao, antes cada tabela teinha seu conetar cx.IniciarTransacao(); //inicia transação no banco SQL - Feito para acoes que envolvem mais de uma tabela https://youtu.be/fA_T1ywEXqw //----------------------------------------------------------------------------------------------------------------------- //SALVAMENTO PROCESSO DA COMPRA: //----------------------------------------------------------------------------------------------------------------------- try //tratamento de erro { //------------------------------------------------------------------------------------------------------------ //01 - COMPRA: //------------------------------------------------------------------------------------------------------------ //criar o modelo compra: ModeloCompra modeloCompra = new ModeloCompra();//cria uma objeto que representa os dados da tabela catagoria //Criar um BLL DA COMPRA BLLCompra bll = new BLLCompra(cx); //Carregar os campos da compra: modeloCompra.ComData = dtDataCompra.Value; modeloCompra.ComNfiscal = Convert.ToInt32(txtNFiscal.Text); modeloCompra.ComNparcelas = Convert.ToInt32(cbNParcela.Text); modeloCompra.ComStatus = "ativa";//pode controlar como pedito, e ainda nao finalizou a compra.. ver!! modeloCompra.ComValorTotal = Convert.ToDouble(txtTotalCompra.Text); modeloCompra.ForCod = Convert.ToInt32(txtForCod.Text); modeloCompra.TpaCod = Convert.ToInt32(cbTPagto.SelectedValue); //------------------------------------------------------------------------------------------------------------ // 02 - ITENS DA COMPRA: //------------------------------------------------------------------------------------------------------------ //criar o modelo itens compra: ModeloItensCompra ModItens = new ModeloItensCompra(); //Criar um BLL Itens BLLItensCompra bllItensc = new BLLItensCompra(cx); //------------------------------------------------------------------------------------------------------------ // 03 - PARCELAS COMPRA: //------------------------------------------------------------------------------------------------------------ //criar o modelo itens compra: https://youtu.be/oP5-jHpOhwE?list=PLfvOpw8k80Wqj1a66Qsjh8jj4hlkzKSjA&t=255 ModeloParcelasCompra ModParcelas = new ModeloParcelasCompra(); //Criar um BLL Itens BLLParcelasCompra bllParcelas = new BLLParcelasCompra(cx); //------------------------------------------------------------------------------------------------------------ //verificar qual o tipo de operação que vai executar ao gravar if (this.operacao == "inserir")//valida se é um inserção, verificar o valor da variavel operação { //------------------------------------------------------------------------------------------------------------ //01 - cadastrar onformações da Compra - ok //------------------------------------------------------------------------------------------------------------ bll.Incluir(modeloCompra);//passa o nome para o metodo incluir // https://youtu.be/C6qCveils_o?list=PLfvOpw8k80Wqj1a66Qsjh8jj4hlkzKSjA&t=1078 //------------------------------------------------------------------------------------------------------------ //02 - cadastrar os intens da compra //------------------------------------------------------------------------------------------------------------ for (int i = 0; i < dgvItens.RowCount; i++)//pelo numero de linhas de itens //https://youtu.be/TJ_jhtk1yN8?list=PLfvOpw8k80Wqj1a66Qsjh8jj4hlkzKSjA&t=395 { //Carregar os campos dos iten compra https://youtu.be/NStzTZnp4nU?t=168 ModItens.ItcCod = i + 1; ModItens.ComCod = modeloCompra.ComCod;//retorna do Dall ModItens.ProCod = Convert.ToInt32(dgvItens.Rows[i].Cells[0].Value); ModItens.ItcQtde = Convert.ToDouble(dgvItens.Rows[i].Cells[2].Value); ModItens.ItcValor = Convert.ToDouble(dgvItens.Rows[i].Cells[3].Value); //incluir itens da compra: bllItensc.Incluir(ModItens); //atualizar a qtd de produtos na tabela de produtos VIA SQL // https://youtu.be/NStzTZnp4nU + https://youtu.be/yhWGaBku24U?list=PLfvOpw8k80Wqj1a66Qsjh8jj4hlkzKSjA&t=405 //trigger:gatilho no Banco, tabela itenscompra Nome: tgiIncrementarEstoqueProduto } //------------------------------------------------------------------------------------------------------------ //03 - cadastrar as parcelas da compra https://youtu.be/oP5-jHpOhwE?list=PLfvOpw8k80Wqj1a66Qsjh8jj4hlkzKSjA&t=264 //------------------------------------------------------------------------------------------------------------ for (int i = 0; i < dgvParcelas.RowCount; i++)//pelo numero de linhas das parcelas { //Carregar os campos da parcelas ModParcelas.ComCod = modeloCompra.ComCod; ModParcelas.PcoCod = Convert.ToInt32(dgvParcelas.Rows[i].Cells[0].Value); ModParcelas.PcoValor = Convert.ToDouble(dgvParcelas.Rows[i].Cells[1].Value); ModParcelas.PcoDatavecto = Convert.ToDateTime(dgvParcelas.Rows[i].Cells[2].Value); //incluir parcelas: bllParcelas.Incluir(ModParcelas); } //MENSAGEM DE SUCESSO: MessageBox.Show("Compra efetuada: Código " + modeloCompra.ComCod.ToString());//retorna a mensagem como o codigo do item que foi gerado } else //alterar uma Compra { //------------------------------------------------------------------------------------------------------------ //Alterar compra //------------------------------------------------------------------------------------------------------------ modeloCompra.ComCod = Convert.ToInt32(txtComCod.Text); //alterar a Compra correspondente ao codigo exixtente na tela bll.Alterar(modeloCompra); //alterar conforme codigo da compra na tela //------------------------------------------------------------------------------------------------------------ //Alterar os intens da compa //------------------------------------------------------------------------------------------------------------ bllItensc.ExcluirTodosOsItens(modeloCompra.ComCod); //excluir todos os itens for (int i = 0; i < dgvItens.RowCount; i++) //cadastra novamente as parcelas { //inserir os itens da compra na tabela https://youtu.be/NStzTZnp4nU?t=168 ModItens.ItcCod = i + 1; ModItens.ComCod = modeloCompra.ComCod;//retorna do Dall ModItens.ProCod = Convert.ToInt32(dgvItens.Rows[i].Cells[0].Value); ModItens.ItcQtde = Convert.ToDouble(dgvItens.Rows[i].Cells[2].Value); ModItens.ItcValor = Convert.ToDouble(dgvItens.Rows[i].Cells[3].Value); //incluir dados: bllItensc.Incluir(ModItens); //atualizar a qtd de produtos na tabela de produtos VIA SQL // https://youtu.be/NStzTZnp4nU + https://youtu.be/yhWGaBku24U?list=PLfvOpw8k80Wqj1a66Qsjh8jj4hlkzKSjA&t=405 //trigger:gatilho no Banco, tabela itenscompra Nome: tgiIncrementarEstoqueProduto } //------------------------------------------------------------------------------------------------------------ //Alterar as parcelas da compra https://youtu.be/oP5-jHpOhwE?list=PLfvOpw8k80Wqj1a66Qsjh8jj4hlkzKSjA&t=264 //------------------------------------------------------------------------------------------------------------ bllParcelas.ExcluirTodasAsParcelas(modeloCompra.ComCod); //excluir todos as parcelas for (int i = 0; i < dgvParcelas.RowCount; i++) //cadastra novamente as parcelas { ModParcelas.ComCod = modeloCompra.ComCod; ModParcelas.PcoCod = Convert.ToInt32(dgvParcelas.Rows[i].Cells[0].Value); ModParcelas.PcoValor = Convert.ToDouble(dgvParcelas.Rows[i].Cells[1].Value); ModParcelas.PcoDatavecto = Convert.ToDateTime(dgvParcelas.Rows[i].Cells[2].Value); //incluir: bllParcelas.Incluir(ModParcelas); } MessageBox.Show("Cadastro alterado");//mostrar mensagem de confirmação } // limpar a tela this.LimpaTela(); //ocultar o painel de finalização: pnFinalizaCompra.Visible = false; //Mostrar dados da compra: pnDados.Visible = true; //Mostrar botoes: pnBotoes.Visible = true; this.alteraBotoes(1);//volta os botoes para o estado padrão //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ //CONEXAO: TERMINAR TRANSAÇÃO //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ //so vai gravar, se for nas tres tabelas cx.TerminarTransacao(); //Efetua um comit, confirmar as alterações no banco cx.Desconectar(); //desconetar do banco } catch (Exception erro) // caso der algum erro...(não limpa a tela) { MessageBox.Show("Erro ao gravar dados da Compra : \n" + erro.Message); //retorna mensagem do sistema, melhorar mensagem para o usuario cx.Desconectar(); //desconetar do banco } } catch (Exception erro) // casa der algum erro na conexao { MessageBox.Show("Erro ao conectar no Banco SQL : \n" + erro.Message); //retorna mensagem do sistema, melhorar mensagem para o usuario cx.CancelarTransacao(); //caso de erro desfaz todas as ações cx.Desconectar(); //desconetar do banco se der erro } }