private void btn_cancelar_Click(object sender, EventArgs e) { if (tb_codigo.Text != "" && MessageBox.Show("Deseja realmente cancelar esta venda?", "Joincar", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { Contas_PagarCollection contas_pagar_todos = new Contas_PagarCollection(int.Parse(tb_codigo.Text), Contas_PagarLoadType.LoadByCompra, 2); bool possui_parc_paga = false; if (contas_pagar_todos.Count > 0) { Parcelas_PagarCollection parcela_todos = new Parcelas_PagarCollection(contas_pagar_todos[0].CAP_CODIGO); foreach (Parcelas_Pagar parcela in parcela_todos) { if (parcela.PCA_VALOR_PAGO > 0) { possui_parc_paga = true; break; } } if (possui_parc_paga == false) { parcela_todos.Deletar(contas_pagar_todos[0].CAP_CODIGO); contas_pagar_todos[0].Deletar(); } } if (possui_parc_paga == false) { Compra compra = new Compra(int.Parse(tb_codigo.Text), 1); Historico_Estoque_Preco historico; Produto produto; if (compra.COM_CODIGO > 0) { compra.COM_CANCELADO = 1; compra.COM_ALTERACAO = DateTime.Now; compra.COM_DATA_CANCELADO = DateTime.Now; compra.Salvar(); Log log = new Log(); log.LOG_USUARIO = Global.FUN_CODIGO; log.LOG_DATA = DateTime.Now; log.LOG_TELA = this.Text; log.LOG_DESCRICAO = "Cancelou a venda de código: " + compra.COM_CODIGO.ToString() + " e cliente: " + cb_cliente.Text + "."; log.Save(); foreach (Produtos_Compra produtos_compra in produtos_venda_todos) { produto = new Produto(produtos_compra.PC_PRODUTO); produto.PRO_ESTOQUE -= produtos_compra.PC_QTDE; produto.Salvar(); historico = new Historico_Estoque_Preco(); historico.HEP_CODIGO = 0; historico.HEP_COMPRA = compra.COM_CODIGO; historico.HEP_DATA = DateTime.Now; historico.HEP_ESTOQUE_ANTERIOR = produto.PRO_ESTOQUE + produtos_compra.PC_QTDE; historico.HEP_ESTOQUE_ATUAL = produto.PRO_ESTOQUE; historico.HEP_PRECO_UNITARIO = produtos_compra.PC_PRECO_COMPRA; historico.HEP_PRECO_TOTAL = produtos_compra.PC_TOTAL; historico.HEP_PRODUTO = produtos_compra.PC_PRODUTO; historico.HEP_QTDE = produtos_compra.PC_QTDE; historico.HEP_USUARIO = Global.FUN_CODIGO; historico.Salvar(); } Limpar(); Ativar_Desativar(true); if (Configuracoes.Default.Mensagem_Gravar == true) { MessageBox.Show("Cancelamento efetuado com sucesso!", "Joincar", MessageBoxButtons.OK, MessageBoxIcon.Information); } cb_cliente.Focus(); } } else { MessageBox.Show("Impossível cancelar compra! É necessário estornar as parcelas antes.", "Joincar", MessageBoxButtons.OK, MessageBoxIcon.Warning); } } }
public void Gravar(bool Mensagem_Gravar, DateTime CAP_CADASTRO) { Contas_Pagar contas_pagar; if (tb_codigo.Text == string.Empty) { contas_pagar = new Contas_Pagar(); contas_pagar.CAP_OBS = ""; contas_pagar.CAP_CADASTRO = CAP_CADASTRO; if (tb_compra.Text != "") { contas_pagar.CAP_COMPRA = int.Parse(tb_compra.Text); } else { contas_pagar.CAP_COMPRA = 0; } } else { contas_pagar = new Contas_Pagar(int.Parse(tb_codigo.Text)); } try { contas_pagar.CAP_FORNECEDOR = int.Parse(cb_fornecedor.SelectedValue.ToString()); } catch (Exception) { contas_pagar.CAP_FORNECEDOR = 0; } try { contas_pagar.CAP_LANCAMENTO = int.Parse(cb_lancamento.SelectedValue.ToString()); } catch (Exception) { contas_pagar.CAP_LANCAMENTO = 0; } contas_pagar.CAP_TOTAL = float.Parse(tb_total_geral.Text); contas_pagar.Salvar(); Log log = new Log(); log.LOG_USUARIO = Global.FUN_CODIGO; log.LOG_DATA = DateTime.Now; log.LOG_TELA = this.Text; if (tb_codigo.Text == string.Empty) { log.LOG_DESCRICAO = "Cadastrou o contas a pagar de código: " + contas_pagar.CAP_CODIGO.ToString() + " e fornecedor: " + cb_fornecedor.Text + "."; } else { log.LOG_DESCRICAO = "Alterou o contas a pagar de código: " + contas_pagar.CAP_CODIGO.ToString() + " e fornecedor: " + cb_fornecedor.Text + "."; } log.Save(); parcela_todos.Deletar(contas_pagar.CAP_CODIGO); cheque_pagar_todos.Deletar(contas_pagar.CAP_CODIGO); foreach (DataGridViewRow row in dgv_parcelas.Rows) { parcela_todos[row.Index].PCA_CARNE = contas_pagar.CAP_CODIGO; parcela_todos[row.Index].PCA_NUM_DOC = row.Cells["PCA_NUM_DOC"].Value.ToString(); try { parcela_todos[row.Index].PCA_VALOR = float.Parse(row.Cells["PCA_VALOR_FORMATADO"].Value.ToString()); } catch (Exception) { parcela_todos[row.Index].PCA_VALOR = 0; } try { parcela_todos[row.Index].PCA_VENC = DateTime.Parse(row.Cells["PCA_VENC_FORMATADO"].Value.ToString()); } catch (Exception) { parcela_todos[row.Index].PCA_VENC = DateTime.Today; } parcela_todos[row.Index].PCA_OBS = row.Cells["PCA_OBS"].Value.ToString(); parcela_todos[row.Index].Salvar(); if (parcela_todos[row.Index].PCA_TIPO == 2) { foreach (Cheques_Pagar cheque_pagar in cheque_pagar_todos) { if (parcela_todos[row.Index].PCA_ITEM == cheque_pagar.CHP_ITEM) { cheque_pagar.CHP_CARNE = contas_pagar.CAP_CODIGO; cheque_pagar.CHP_NUM_DOC = parcela_todos[row.Index].PCA_NUM_DOC; cheque_pagar.CHP_VALOR = parcela_todos[row.Index].PCA_VALOR; cheque_pagar.CHP_VENC = parcela_todos[row.Index].PCA_VENC; cheque_pagar.CHP_OBS = parcela_todos[row.Index].PCA_OBS; cheque_pagar.Salvar(); break; } } } } if (Configuracoes.Default.Mensagem_Gravar == true && Mensagem_Gravar == true) { if (tb_codigo.Text == string.Empty) { MessageBox.Show("Cadastro efetuado com sucesso!", "Joincar", MessageBoxButtons.OK, MessageBoxIcon.Information); } else { MessageBox.Show("Alteração efetuada com sucesso!", "Joincar", MessageBoxButtons.OK, MessageBoxIcon.Information); } } tb_codigo.Text = contas_pagar.CAP_CODIGO.ToString(); tb_codigo.Enabled = false; btn_excluir.Enabled = true; cb_fornecedor.Focus(); }