private void btSalvar_Click(object sender, EventArgs e) { DALConexao cx = new DALConexao(DadosDaConexao.StringDeConexao); cx.IniciarTransacao(); try { ModeloCompra modelocompra = new ModeloCompra(); //modeloVenda.VenCod = Convert.ToInt32(txtCod.Text); modelocompra.ComNFiscal = 1; modelocompra.ForCod = 1; modelocompra.ComNParcelas = 1; modelocompra.ComStatus = 1; modelocompra.ComTotal = this.totalCompra; modelocompra.TpaCod = 1; BLLCompra bll = new BLLCompra(cx); ModeloItensCompra mitens = new ModeloItensCompra(); BLLItensCompra bitens = new BLLItensCompra(cx); if (this.operacao == "inserir") { bll.Incluir(modelocompra); for (int i = 0; i < dgvItens.RowCount; i++) { mitens.itcCod = i + 1; mitens.VenCod = modelocompra.ComCod; mitens.ProCod = Convert.ToInt32(dgvItens.Rows[i].Cells[0].Value); mitens.ProDesc = dgvItens.Rows[i].Cells[1].Value.ToString(); mitens.itcQtde = Math.Round(Convert.ToDouble(dgvItens.Rows[i].Cells[2].Value), 2); mitens.itcValorCompra = Math.Round(Convert.ToDouble(dgvItens.Rows[i].Cells[3].Value), 2); mitens.itcValor = Math.Round(Convert.ToDouble(dgvItens.Rows[i].Cells[4].Value), 2); DALConexao cxp = new DALConexao(DadosDaConexao.StringDeConexao); BLLProduto bllp = new BLLProduto(cx); ModeloProduto modelop = bllp.CarregaModeloProduto(Convert.ToInt32(dgvItens.Rows[i].Cells[0].Value)); modelop.ProQtde = modelop.ProQtde + mitens.itcQtde; modelop.ProValorVenda = mitens.itcValor; modelop.ProValorPago = mitens.itcValorCompra; bllp.Alterar(modelop); bitens.Incluir(mitens); } } MessageBox.Show("Entrada de Mercadoria", "Informação da entrada", MessageBoxButtons.OK, MessageBoxIcon.Information); this.LimpaTela(); this.alteraBotoes(1); cx.TerminarTransacao(); cx.Desconectar(); } catch (Exception erro) { MessageBox.Show(erro.Message); cx.CancelarTransacao(); cx.Desconectar(); } }
private void btExcluir_Click(object sender, EventArgs e) { try { DialogResult d = MessageBox.Show("Deseja excluir o Registro?", "Aviso", MessageBoxButtons.YesNo); if (d.ToString() == "Yes") { int codigo = Convert.ToInt32(txtCodCom.Text); int qtde = Convert.ToInt32(cbNParcelas.Text); //conexao e bll da compra DALConexao cx = new DALConexao(DadosDaConexao.StringDeConexao); BLLCompra bllc = new BLLCompra(cx); qtde -= bllc.QuantidadeParcelasNaoPagas(codigo); if (qtde == 0)//nao paguei nenhuma parcela { cx.Conectar(); cx.IniciarTransacao(); try { //excluir as parcelas da compra BLLParcelaCompra bllp = new BLLParcelaCompra(cx); bllp.ExcluirTodasAsParcelas(codigo); //excluir os itens da compra BLLItensCompra blli = new BLLItensCompra(cx); blli.ExcluirTodosOsItens(codigo); //excluir a compra bllc.Excluir(codigo); cx.TerminarTransacao(); cx.Desconectar(); this.LimpaTela(); this.alteraBotoes(1); } catch (Exception erro) { MessageBox.Show(erro.Message); cx.CancelaTransacao(); cx.Desconectar(); } } else { MessageBox.Show("Impossivel excluir o registro. \n O registro possui parcelas pagas"); } } } catch { MessageBox.Show("Impossivel excluir o registro. \n O registro esta sendo usado em outro local"); this.alteraBotoes(3); } }
//============================================================================================================= private void frmMovimentacaoCompra_Load(object sender, EventArgs e) { //----------------------------------------------------------------------------------------------------------------------- //CONEXAO: //----------------------------------------------------------------------------------------------------------------------- DALConexao cx = new DALConexao(DadosDaConexao.StringDeConexao);//Recebe a string da conexão da classe DadosDaConexão try { // ajustar o tamanho do form ao iniciar 590; 575 //this.Size = 590 , 575; //indicar qual botão inicia ativo ou desativo: this.alteraBotoes(1); //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ //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 BLLTipoPagamento bll = new BLLTipoPagamento(cx); //carregar o combobox: DataSource indica a origem dos dados cbTPagto.DataSource = bll.Localizar(""); //retornar um datatable com todas as catagorias cbTPagto.DisplayMember = "tpa_nome"; //qual campo sera monstrado, (Fica Visivel) cbTPagto.ValueMember = "tpa_cod"; // indicar qual campo vai ser guardado como codigo...este que vai ser gravado no BD //auto completar combobox: https://youtu.be/duG7x9KR4jA?list=PLfvOpw8k80Wqj1a66Qsjh8jj4hlkzKSjA&t=340 cbTPagto.AutoCompleteMode = AutoCompleteMode.Suggest; cbTPagto.AutoCompleteSource = AutoCompleteSource.ListItems; //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ //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 //ajusta o tamanho: this.Size = new Size(595, 600); //this.StartPosition = FormStartPosition.CenterScreen; pnFinalizaCompra.Location = new Point(12, 12); } 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.CancelarTransacao(); //caso de erro desfaz todas as ações cx.Desconectar(); //desconetar do banco } }
private void btSalvarParcelas_Click(object sender, EventArgs e) { DALConexao cx = new DALConexao(DadosDaConexao.StringDeConexao); cx.Conectar(); cx.IniciarTransacao(); try { ModeloCompra modeloCompra = new ModeloCompra(); modeloCompra.ComData = dtDataCompra.Value; modeloCompra.ComNFiscal = Convert.ToInt32(txtNFiscal.Text); modeloCompra.ComNParcelas = Convert.ToInt32(cbNParcelas.Text); modeloCompra.ComStatus = "ativo"; modeloCompra.ComTotal = this.totalCompra; modeloCompra.ForCod = Convert.ToInt32(txtForCod.Text); modeloCompra.TpaCod = Convert.ToInt32(cbTPagto.SelectedValue); BLLCompra bll = new BLLCompra(cx); ModeloItensCompra mitens = new ModeloItensCompra(); BLLItensCompra bitens = new BLLItensCompra(cx); ModeloParcelaCompra mparcelas = new ModeloParcelaCompra(); BLLParcelaCompra bparcelas = new BLLParcelaCompra(cx); if (this.operacao == "inserir") { //cadastrar compra bll.Incluir(modeloCompra); //cadastrar itens das compras 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.ToInt32(dgvItens.Rows[i].Cells[2].Value); mitens.ItcValor = Convert.ToDouble(dgvItens.Rows[i].Cells[3].Value); bitens.Incluir(mitens); //trigger para alterar estoque foi feito no sqlserver } //inserir os itens na tabela parcelascompra 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); } //cadastrar parcelas da compra MessageBox.Show("Compra efetuada: Código " + modeloCompra.ComCod.ToString()); } else { //alterar modeloCompra.ComCod = Convert.ToInt32(txtCodCom.Text); bll.Alterar(modeloCompra); bitens.ExcluirTodosOsItens(modeloCompra.ComCod); //cadastrar itens das compras 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); } bparcelas.ExcluirTodasAsParcelas(modeloCompra.ComCod); //inserir os itens na tabela parcelascompra 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.CancelaTransacao(); cx.Desconectar(); } }
private void btSalvarFinal_Click(object sender, EventArgs e) { DALConexao cx = new DALConexao(DadosDaConexao.StringDeConexao); cx.Conectar(); cx.IniciarTransacao(); try { //leitura dos dados ModeloVenda modeloVenda = new ModeloVenda(); modeloVenda.VenData = dtDataVenda.Value; modeloVenda.VenNFiscal = Convert.ToInt32(txtNFiscal.Text); modeloVenda.VenNParcelas = Convert.ToInt32(cbNParcela.Text); modeloVenda.VenStatus = "ativa"; modeloVenda.VenTotal = this.totalVenda; modeloVenda.CliCod = Convert.ToInt32(txtCliCodigo.Text); modeloVenda.TpaCod = Convert.ToInt32(cbTpagto.SelectedValue); if (cbxVendaAVista.Checked == true) { modeloVenda.VenAvista = 1; } else { modeloVenda.VenAvista = 0; } //obj para gravar os dados no banco BLLVenda bllVenda = new BLLVenda(cx); ModeloItensVenda mitens = new ModeloItensVenda(); BLLItensVenda bitens = new BLLItensVenda(cx); ModeloParcelasVenda mparcelas = new ModeloParcelasVenda(); BLLParcelasVenda bparcelas = new BLLParcelasVenda(cx); if (this.operacao == "inserir") { //cadastrar uma compra ok bllVenda.Incluir(modeloVenda); //cadastrar os itens da venda for (int i = 0; i < dgvItens.RowCount; i++) { mitens.ItvCod = i + 1; mitens.VenCod = modeloVenda.VenCod; mitens.ProCod = Convert.ToInt32(dgvItens.Rows[i].Cells[0].Value); mitens.ItvQtde = Convert.ToDouble(dgvItens.Rows[i].Cells[2].Value); mitens.ItvValor = Convert.ToDouble(dgvItens.Rows[i].Cells[3].Value); bitens.Incluir(mitens); //alterar a quantidade de produtos vendidos na tabela de produtos //Trigger } // inserir os itens na tabela parcelas venda for (int i = 0; i < dgvParcelas.RowCount; i++) { mparcelas.VenCod = modeloVenda.VenCod; mparcelas.PveCod = Convert.ToInt32(dgvParcelas.Rows[i].Cells[0].Value); mparcelas.PveValor = Convert.ToDouble(dgvParcelas.Rows[i].Cells[1].Value); mparcelas.PveDataVecto = Convert.ToDateTime(dgvParcelas.Rows[i].Cells[2].Value); bparcelas.Incluir(mparcelas); } MessageBox.Show("Venda efetuada: Código " + modeloVenda.VenCod.ToString()); } //this.LimpaTela(); pnFinalizaCompra.Visible = false; this.alteraBotoes(1); cx.TerminarTransacao(); cx.Desconectar(); this.LimpaTela(); } catch (Exception erro) { MessageBox.Show(erro.Message); cx.CancelarTransacao(); cx.Desconectar(); } }
private void btFinalizar_Click(object sender, EventArgs e) { DialogResult resultado = MessageBox.Show("DESEJA FINALIZAR A ORDEM DE SERVICO?", "Aviso", MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (resultado == DialogResult.Yes) { txtDataFinal.Text = System.DateTime.Now.ToShortDateString() + " - " + System.DateTime.Now.ToShortTimeString(); txtSituacao.Text = "FINALIZADO"; DALConexao cx = new DALConexao(DadosDaConexao.StringDeConexao); cx.Conectar(); cx.IniciarTransacao(); try { //Inserindo Dados da Tabela OS ModelOrdemServico modeloOS = new ModelOrdemServico(); modeloOS.DataInicial = txtDataInicial.Text; modeloOS.DataFinal = txtDataFinal.Text; modeloOS.Situacao = txtSituacao.Text; modeloOS.Observacao = txtObservacao.Text; modeloOS.IdCliente = Convert.ToInt32(txtCodCliente.Text); BLLOrdemServico bllOS = new BLLOrdemServico(cx); //Inserindo dados da Tabela OSItens ModelOrdemServicoItens modeloOSItens = new ModelOrdemServicoItens(); BLLOrdemServicoItens bllOSItens = new BLLOrdemServicoItens(cx); if (txtCodigo.Text != "") { //Alterar modeloOS.IdOS = Int32.Parse(txtCodigo.Text); bllOS.Alterar(modeloOS); bllOSItens.ExcluirTodosOsItens(modeloOS.IdOS); //cadastrar itens da OS for (int i = 0; i < dgvItens.RowCount; i++) { modeloOSItens.IdOSItens = i + 1; modeloOSItens.IdOS = modeloOS.IdOS; modeloOSItens.IdServico = Convert.ToInt32(dgvItens.Rows[i].Cells[0].Value); modeloOSItens.Detalhes = dgvItens.Rows[i].Cells[2].Value.ToString(); bllOSItens.Incluir(modeloOSItens); } MessageBox.Show("Ordem de serviço finalizado com sucesso!!!"); } else { MessageBox.Show("Campo código da OS esta vazia por favor verifique!!!", "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Warning); } this.LimpaTela(); cx.TerminarTransacao(); cx.Desconectar(); this.Close(); } catch (Exception erro) { MessageBox.Show(erro.Message); cx.CancelaTransacao(); cx.Desconectar(); } } else { return; } }
private void BtnGravar_Click(object sender, EventArgs e) { DALConexao cx = new DALConexao(DadosDaConexao.StringDeConexao); frmConsultaOS f = new frmConsultaOS(); cx.Conectar(); cx.IniciarTransacao(); try { //Inserindo Dados da Tabela OS ModelOrdemServico modeloOS = new ModelOrdemServico(); modeloOS.DataInicial = txtDataInicial.Text; modeloOS.DataFinal = txtDataFinal.Text; modeloOS.Situacao = txtSituacao.Text; modeloOS.Observacao = txtObservacao.Text; modeloOS.IdCliente = Convert.ToInt32(txtCodCliente.Text); BLLOrdemServico bllOS = new BLLOrdemServico(cx); //Inserindo dados da Tabela OSItens ModelOrdemServicoItens modeloOSItens = new ModelOrdemServicoItens(); BLLOrdemServicoItens bllOSItens = new BLLOrdemServicoItens(cx); //Inserir ou alterar if (txtCodigo.Text == "") { //inclui dados da tabela OS bllOS.Incluir(modeloOS); //Percorre o grid com itens e insere na tabela OSItens for (int i = 0; i < dgvItens.RowCount; i++) { modeloOSItens.IdOSItens = i + 1; modeloOSItens.IdOS = modeloOS.IdOS; modeloOSItens.IdServico = Convert.ToInt32(dgvItens.Rows[i].Cells[0].Value); modeloOSItens.Detalhes = dgvItens.Rows[i].Cells[2].Value.ToString(); bllOSItens.Incluir(modeloOSItens); } MessageBox.Show("Ordem de serviço salva com sucesso: Código " + modeloOS.IdOS.ToString()); } else { //Alterar modeloOS.IdOS = Int32.Parse(txtCodigo.Text); bllOS.Alterar(modeloOS); bllOSItens.ExcluirTodosOsItens(modeloOS.IdOS); //cadastrar itens da OS for (int i = 0; i < dgvItens.RowCount; i++) { modeloOSItens.IdOSItens = i + 1; modeloOSItens.IdOS = modeloOS.IdOS; modeloOSItens.IdServico = Convert.ToInt32(dgvItens.Rows[i].Cells[0].Value); modeloOSItens.Detalhes = dgvItens.Rows[i].Cells[2].Value.ToString(); bllOSItens.Incluir(modeloOSItens); } MessageBox.Show("Cadastro Alterado com sucesso!!!"); this.Close(); } this.LimpaTela(); cx.TerminarTransacao(); cx.Desconectar(); } catch (Exception erro) { MessageBox.Show(erro.Message); cx.CancelaTransacao(); 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 } }
//============================================================================================================= private void btExcluir_Click(object sender, EventArgs e) // https://youtu.be/U_JhTWIVRro?list=PLfvOpw8k80Wqj1a66Qsjh8jj4hlkzKSjA { //tem que excluir os itens relacionados em todas as tabelas em um sequencia logica: //tem que excluir na sequencia inversa em que se gravou a compra //----------------------------------------------------------------------------------------------------------------------- //CONEXAO: //----------------------------------------------------------------------------------------------------------------------- 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 //Validar, excluir compra se ja tiver sido efetuado alguma pagamento: try { DialogResult d = MessageBox.Show("Deseja excluir o registro?", "Aviso", MessageBoxButtons.YesNo);//confirmar antes de excluir //caso responder sim... if (d.ToString() == "Yes") { //pega o codigo da compra: int CodigoCompra = Convert.ToInt32(txtComCod.Text); //criar objetos BLL: BLLParcelasCompra bllPar = new BLLParcelasCompra(cx); BLLItensCompra bllITen = new BLLItensCompra(cx); BLLCompra bllCP = new BLLCompra(cx); //passa a string de conexao //verificar se tem parcelas pagas: int Qtde = bllCP.QuantidadeParcePagas(CodigoCompra); if (Qtde > 0) //se tiver parcelas pagas { DialogResult g = MessageBox.Show("Esta Compra possui Parcelas Pagas Deseja! \n Deseja excluir o registro?", "Aviso", MessageBoxButtons.YesNo); //confirmar antes de excluir //caso responder sim... if (g.ToString() == "No") { //cancela esta ação: cx.TerminarTransacao(); //Efetua um comit, confirmar as alterações no banco cx.Desconectar(); //desconetar do banco return; } } //--------------------------------------------------------------------------------------------------------------------------- //03 - Excluir as parcelas da compra: //--------------------------------------------------------------------------------------------------------------------------- bllPar.ExcluirTodasAsParcelas(CodigoCompra); //--------------------------------------------------------------------------------------------------------------------------- //02 - Excluir itens da compra: //--------------------------------------------------------------------------------------------------------------------------- bllITen.ExcluirTodosOsItens(CodigoCompra); //--------------------------------------------------------------------------------------------------------------------------- //01 - Excluir compra: //--------------------------------------------------------------------------------------------------------------------------- bllCP.Excluir(Convert.ToInt32(txtComCod.Text));//retorna erro se este codigo ja estiver sendo utilizado como chave em outra tabela //Mensagem de sucesso: MessageBox.Show("Cadastro excluido com sucesso!"); } } catch // sem o Exception, qualquer tipo de erro { MessageBox.Show("Impossível excluir o registro. \n O registro esta sendo utilizado em outro local."); this.alteraBotoes(3); cx.CancelarTransacao(); //caso de erro desfaz todas as ações cx.Desconectar(); //desconetar do banco } this.LimpaTela(); this.alteraBotoes(1); //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ //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.CancelarTransacao(); //caso de erro desfaz todas as ações cx.Desconectar(); //desconetar do banco } }
//============================================================================================================= private void btAlterar_Click(object sender, EventArgs e) //https://youtu.be/NRKmeODwsB4?list=PLfvOpw8k80Wqj1a66Qsjh8jj4hlkzKSjA&t=277 { //----------------------------------------------------------------------------------------------------------------------- //CONEXAO: //----------------------------------------------------------------------------------------------------------------------- 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 //nao deixar alterar compra se ja tiver sido efetuado alguma pagamento: try { //pega o codigo da compra: int CodigoCompra = Convert.ToInt32(txtComCod.Text); //criar objetos BLL: BLLCompra bllCP = new BLLCompra(cx); //passa a string de conexao //Validar se tem parcelas pagas: int Qtde = bllCP.QuantidadeParcePagas(CodigoCompra); //se tiver parcelas pagas if (Qtde > 0) { DialogResult g = MessageBox.Show("Esta Compra possui Parcelas Pagas! \n Deseja alterar o registro?", "Aviso", MessageBoxButtons.YesNo);//confirmar antes de excluir //caso responder sim... if (g.ToString() == "No") { cx.TerminarTransacao(); //Efetua um comit, confirmar as alterações no banco cx.Desconectar(); //desconetar do banco return; } } } catch // sem o Exception, qualquer tipo de erro { MessageBox.Show("Impossível excluir o registro. \n O registro esta sendo utilizado em outro local."); this.alteraBotoes(3); } //Liberar alterar this.operacao = "alterar"; this.alteraBotoes(2); //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ //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.CancelarTransacao(); //caso de erro desfaz todas as ações cx.Desconectar(); //desconetar do banco } }
private void btSalvarParcelas_Click(object sender, EventArgs e) { DALConexao cx = new DALConexao(DadosDaConexao.StringDeConexao); cx.Conectar(); cx.IniciarTransacao(); try { ModeloVenda modeloVenda = new ModeloVenda(); modeloVenda.VenData = dtDataCompra.Value; modeloVenda.VenNfiscal = Convert.ToInt32(txtNFiscal.Text); modeloVenda.VenNparcelas = Convert.ToInt32(cbNParcelas.Text); modeloVenda.VenStatus = "ativo"; modeloVenda.VenTotal = this.totalVenda; modeloVenda.CliCod = Convert.ToInt32(txtCliCod.Text); modeloVenda.TpaCod = Convert.ToInt32(cbTPagto.SelectedValue); if (cbxAvista.Checked == true) { modeloVenda.VenAvista = 1; } else { modeloVenda.VenAvista = 0; } BLLVenda bll = new BLLVenda(cx); ModeloItensVenda mitens = new ModeloItensVenda(); BLLItensVenda bitens = new BLLItensVenda(cx); ModeloParcelaVenda mparcelas = new ModeloParcelaVenda(); BLLParcelaVenda bparcelas = new BLLParcelaVenda(cx); if (this.operacao == "inserir") { //cadastrar venda bll.Incluir(modeloVenda); //cadastrar itens da venda for (int i = 0; i < dgvItens.RowCount; i++) { mitens.ItvCod = i + 1; mitens.VenCod = modeloVenda.VenCod; mitens.ProCod = Convert.ToInt32(dgvItens.Rows[i].Cells[0].Value); mitens.ItvQtde = Convert.ToInt32(dgvItens.Rows[i].Cells[2].Value); mitens.ItvValor = Convert.ToDouble(dgvItens.Rows[i].Cells[3].Value); bitens.Incluir(mitens); //trigger para alterar estoque foi feito no sqlserver } //inserir os itens na tabela parcelasvenda for (int i = 0; i < dgvParcelas.RowCount; i++) { mparcelas.VenCod = modeloVenda.VenCod; mparcelas.PveCod = Convert.ToInt32(dgvParcelas.Rows[i].Cells[0].Value); mparcelas.PveValor = Convert.ToDouble(dgvParcelas.Rows[i].Cells[1].Value); mparcelas.PveDataVecto = Convert.ToDateTime(dgvParcelas.Rows[i].Cells[2].Value); bparcelas.Incluir(mparcelas); } MessageBox.Show("Compra efetuada: Código " + modeloVenda.VenCod.ToString()); } else { //Nao utilizamos o editar na venda } this.LimpaTela(); pnFinalizaVenda.Visible = false; this.alteraBotoes(1); cx.TerminarTransacao(); cx.Desconectar(); } catch (Exception erro) { MessageBox.Show(erro.Message); cx.CancelaTransacao(); cx.Desconectar(); } }