Exemplo n.º 1
0
        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);
                }
            }
        }
Exemplo n.º 2
0
        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();
        }