none
Como criar uma váriavel global em windows form RRS feed

  • Pergunta

  • Boa tarde. Estou criando um sistema, onde ao cadastrar o cliente é informado o valor de limite que ele pode comprar. Ao cadastrar a nota, o valor da nota é subtraído no valor de limite. E quando o cliente paga a nota, o valor é retornado para o limite.

    O problema é que não quero perder o limite inicial do cliente, então preciso criar uma variável para armazenar esse valor. Mas como criar essa variável para fazer com que receba esse valor?

    Editando com um trecho do código, onde é cadastrado a nota subtraindo o valor da nota do valor limite. É aqui que quero alterar, fazendo com que não pegue do limite total e sim de uma variável global.

            private void Bt_Cadastrar_Click(object sender, EventArgs e)
            {
                if (!VerificaCampos())
                    return;
    
                Nota oNota = new Nota();
                if(ICodEdicao > 0)
                    oNota.NotaID = Convert.ToInt32(txt_CodigoNota.Text.Trim());
    
                NotaProduto oNotaProduto = new NotaProduto();
                oNota.ClienteID = Convert.ToInt32(txt_CodigoCliente.Text.Trim());
                oNota.FuncionarioID = Convert.ToInt32(txt_CodigoFuncionario.Text.Trim());
                oNota.NumeroNota = txt_NumeroControle.Text.Trim();
                oNota.DataEmissao = Convert.ToDateTime(dt_Data.Value.ToString());
                oNota.DataAlteracao = DateTime.Now;
                oNota.Produtos = MontarListViewNotaProduto();
                oNota.Status = Entidades.Enumeradores.Status.Aberto;
                oNota.UsuarioID = Sessao.Usuario.Codigo;
                oNotaProduto.NotaID = oNota.NotaID;
                oNota.ValorRestante = Convert.ToDecimal(txt_ValorTotalNota.Text.Trim());
                decimal LimiteCompra = (Convert.ToDecimal(txt_LimiteDisponivel.Text) - Convert.ToDecimal(0.9 * Convert.ToDouble(txt_LimiteDisponivel.Text)));
                if ((Convert.ToDecimal(txt_LimiteDisponivel.Text) - Convert.ToDecimal(txt_ValorTotalNota.Text)) <= 0)
                {
                    DialogResult confirm = MessageBox.Show("Este cliente não possui limites, tem certeza que deseja efetuar essa venda?", this.Text, MessageBoxButtons.YesNo, MessageBoxIcon.Information);
                    if (confirm.ToString().ToUpper() == "YES")
                    {
                        oNota.Limite = Convert.ToDecimal(txt_LimiteDisponivel.Text.Trim()) - Convert.ToDecimal(txt_ValorTotalNota.Text.Trim());
                    }
                }
                if ((Convert.ToDecimal(txt_LimiteDisponivel.Text) - Convert.ToDecimal(txt_ValorTotalNota.Text)) <= LimiteCompra && (Convert.ToDecimal(txt_LimiteDisponivel.Text) - Convert.ToDecimal(txt_ValorTotalNota.Text)) >  0)
                {
                    DialogResult confirm = MessageBox.Show("O limite deste cliente está se esgotando, tem certeza que deseja efetuar a venda?", this.Text, MessageBoxButtons.YesNo, MessageBoxIcon.Information);
                    if (confirm.ToString().ToUpper() == "YES")
                    {
                        oNota.Limite = Convert.ToDecimal(txt_LimiteDisponivel.Text.Trim()) - Convert.ToDecimal(txt_ValorTotalNota.Text.Trim());
                    }
                }
    
    
                oNota.Limite = Convert.ToDecimal(txt_LimiteDisponivel.Text.Trim()) - Convert.ToDecimal(txt_ValorTotalNota.Text.Trim());
    
                NotasNG ngNota = new NotasNG();
    
                if (ICodEdicao == 0)
                {
                    //Grava no banco pela primeira vez
                    if (ngNota.Inserir(oNota))
                    {
                        MessageBox.Show("Nota cadastrada com sucesso!", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Information);
                        LimparCampos();
                    }
                    else
                        MessageBox.Show("Não foi possivel cadastrar a nota. Tente novamente!", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
                //Edita no banco de dados
                if (ICodEdicao > 0)
                {
                    if (ngNota.Alterar(oNota))
                    {
                        MessageBox.Show("Nota alterada com sucesso!", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Information);
                        LimparCampos();
                    }
                    else
                        MessageBox.Show("Não foi possivel alterar a nota. Tente novamente!", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }

    • Editado Rayanne Borges sexta-feira, 15 de novembro de 2019 01:39 Para ficar mais claro
    quinta-feira, 14 de novembro de 2019 17:49

Todas as Respostas